collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: (Tech) Omake-System (Extra Inhalte zum Freischalten)  (Gelesen 3936 mal)

Offline zoozak

  • Nachteule
  • Ralph
  • *
  • Beiträge: 14
  • Was ist RALPH?
(Tech) Omake-System (Extra Inhalte zum Freischalten)
« am: Dezember 22, 2009, 17:21:34 »
Ich habe diese Frage bereits im Schnelle-Hilfe-Forum gepostet, aber habe keine genügende Antwort erhalten können, trotz Engagement einer netten Person.
Daher möchte ich die Frage nun hier stellen, und bitte dringend um Hilfe.



Meine Angelegenheit bezieht sich auf das Hauptmenü, also das Start-Bildschirm.
Ich möchte im Hauptmenü einen Extra-Menüpunkt erstellen, in dem man Sachen aufrufen kann, die man während des Spiels freigeschaltet hat: wie z.B. Archievements oder Bestiarum,
eine Gallerie, wo man sich Event-Bilder ansehen kann, oder Jukebox.



Das ganze soll so funktionieren:

Im Spiel trifft der Spieler auf eine Heldin.
Ein Event wird ausgeführt, in dem ein Picture angezeigt wird, wo sie stolpert.
Das Spiel registriert: "Bild01 wurde angezeigt, und somit freigeschaltet."

Jetzt beendet man das Spiel.
Wenn man zum Start-Bildschirm kommt, ist unter "Neues Spiel" und "Weiter" Menüpunkt ein weiterer Menüpunkt, nämlich "Extras".

Man geht auf "Extras".
Dann werden weitere Unterpunkte eingeblendet:
"Bilder ansehen" "Musik hören" usw.

Man geht auf "Bilder ansehen".
Dann werden nacheinander Bilder angezeigt, die bereits freigeschaltet worden sind.




Noch habe ich kein Skript entdeckt, mit dem man Variablen speichert, die übergreifend auf alle Speicherstände geltung haben.
Weiß jemand vielleicht, wie das möglich sein sollte?
könnte man vielleicht ein Datei erstellen (.dll?), in dem die Variablen gespeichert werden, oder wäre das via Skript machbar?


Für eure Hilfe wäre ich sehr dankbar.

Zoozak

Re: Omake-System (Extra Inhalte zum Freischalten)

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: Omake-System (Extra Inhalte zum Freischalten)
« Antwort #1 am: Dezember 22, 2009, 17:28:00 »
Mach doch einfach einen neuen Menüpunkt, der ein CE startet. Dieses gibt dir zur Auswahl Musik anhören  und Bilder ansehen.
Wenn man Bilder ansehen gewählt  hat, fragt es welches Bild du anschauen möchtest. Dann fragt es ab, ob das Bild freigeschaltet ist (Switch). Wenn es freigeschaltet ist, wird es angezeigt, wenn nicht kommt eine Nachricht: Dieses Bild ist noch nicht verfügbar, und es springt zur Auswahl zurück.
PDM's Gameplays
Skype-Name: lordpdm

Re: Omake-System (Extra Inhalte zum Freischalten)

Offline zoozak

  • Nachteule
  • Ralph
  • *
  • Beiträge: 14
  • Was ist RALPH?
Re: Omake-System (Extra Inhalte zum Freischalten)
« Antwort #2 am: Dezember 22, 2009, 17:44:37 »
Mach doch einfach einen neuen Menüpunkt, der ein CE startet. Dieses gibt dir zur Auswahl Musik anhören  und Bilder ansehen.
Wenn man Bilder ansehen gewählt  hat, fragt es welches Bild du anschauen möchtest. Dann fragt es ab, ob das Bild freigeschaltet ist (Switch). Wenn es freigeschaltet ist, wird es angezeigt, wenn nicht kommt eine Nachricht: Dieses Bild ist noch nicht verfügbar, und es springt zur Auswahl zurück.


Aber das Problem ist gerade, dass dieses Menü außerhalb des Spiels fungiert. Ich schreibe deswegen "IM HAUPTMENÜ".
Sagen wir mal, du spielst jetzt mein Spiel. Es hat ein Multi-Ending-System, d.h. man muss das Spiel mehrmals durchspielen, damit man alles freigeschaltet hat.

Das hat dann nichts mit dem Speichern zu tun - Das Spiel registriert die Veränderung, wenn ein Bild angezeigt wird.
Und ich denke mal, das ist nur über ein externes Datei möglich, das extra Werte speichert.
Wenn das unmöglich funktionieren kann, muss ich es aufgeben, mit RPGMAKER ein Spiel zu erstellen.

Zoozak


Re: Omake-System (Extra Inhalte zum Freischalten)

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: Omake-System (Extra Inhalte zum Freischalten)
« Antwort #3 am: Dezember 22, 2009, 18:01:12 »
Ich habe es hinbekommen, nur man muss bevor man die Extras sieht einen Spielstand laden.
PDM's Gameplays
Skype-Name: lordpdm

Re: Omake-System (Extra Inhalte zum Freischalten)

Offline Colonios

  • Maker Nerd
  • VX-Kenner
  • ****
  • Beiträge: 596
  • Events <3
Re: Omake-System (Extra Inhalte zum Freischalten)
« Antwort #4 am: Dezember 22, 2009, 19:16:34 »
Es gibt eine viel einfachere Lösung, jungs.

Der Maker hat eine funktion, die bestimmte dinge in eine eigene (beliebe) datei speichern kann. Diese kann jede endung (.exe ; .occ ; .jfjasllkj) haben.

Hier der Befehl:
save_data ($game_switches, "switches.swi")
Dann kann man die Datei Laden:
$game_switches = load_data ("switches.swi")
Das geht auch mit $game_variables etc.!

Achja und ihr müsst die Datein (im beispiel switches.swi) erstellen, bevor ihr sie laden könnt ;)

Gefunden habe ich das in der Hilfe-Datei des Makers mit dem Suchbegriff "save" ;)

MfG

Re: Omake-System (Extra Inhalte zum Freischalten)

Offline zoozak

  • Nachteule
  • Ralph
  • *
  • Beiträge: 14
  • Was ist RALPH?
Re: Omake-System (Extra Inhalte zum Freischalten)
« Antwort #5 am: Dezember 22, 2009, 21:50:43 »
Danke Colonios,
dann bin ich jetzt einen Schritt weiter.

Wäre es damit möglich, nicht die gesamte Fülle an Switches oder Variables, sondern einzelne Variablen-Werte in diese eigene Datei zu schreiben?  Das wäre jetzt sehr wichtig.

----
Spiel gestartet.
Bild 1 freigeschaltet.
  $Bild 1 - Switch (:001) on - Speichern in Flaggen.sav

Immer dann, wenn etwas freigeschaltet wird, wird dies sofort in die Datei Flaggen.sav geschrieben.


Leider habe ich fast null Ahnung vom RGSS, und würde jemand herzlich bitten, mir weiterzuhelfen.

Zoozak

Re: Omake-System (Extra Inhalte zum Freischalten)

Offline Ðeity

  • No Pain, no gain!
  • Administrator
  • Eventmeister
  • ****
  • Beiträge: 427
  • No Pain, no Gain!
    • Deity-VX
Re: Omake-System (Extra Inhalte zum Freischalten)
« Antwort #6 am: Dezember 23, 2009, 12:20:32 »
Hi zoozak,
wusste jetzt erlich gesagt nicht, ob du ein Denkanstoß gebraucht hast, oder ein fertiges Script, aber ich habe eins gemacht, und hoffe es macht genau das, was du willst. :)

Das Script:
Spoiler for Hiden:
FILE_NAME = "Pictures" # Name für die Savedatei
class Scene_Title
  alias create_game_objects_gal create_game_objects
  def create_game_objects
    create_game_objects_gal
    file = File.open("Data/"+FILE_NAME+".rvdata", "rb") rescue nil
    if file != nil
      $game_pictures       = Marshal.load(file)
      file.close
    else
      $game_pictures = []
    end
  end 
end
class Game_Interpreter
  def add_picture_to_list(name)
    if $game_pictures.include?(name)
    else
      $game_pictures.push(name)
    end
    file = File.open("Data/"+FILE_NAME+".rvdata", "wb")
    Marshal.dump($game_pictures,       file)
    file.close
  end
  def picture_available(name)
    if $game_pictures.include?(name)
      return true
    else
      return false
    end
  end
end

Benutzung:
Spoiler for Hiden:
1. FILE_NAME in der ersten zeile bestimmen. Hat keine Auswirkungen auf das Spiel.
2. Um ein Bild zu speichern, musst du folgendes ins Call Script eintippen: add_picture_to_list(name)
    name muss in Anführungszeichen geschrieben werden. (Bspl: add_picture_to_list("Startbildschirm"))
3. Um zu überprüfen, ob ein Bild freigeschaltet wurde, musst du unter Conditional Branch ( Bedingung) auf der letzten Seite
    unter Scripts folgendes eingeben: picture_available(name)
    name muss in Anführungszeichen geschrieben werden. (Bspl: picture_available("Startbildschirm"))

Hoffe es ist zu deiner Zufriedenheit, da es aber einer der ersten Versuche mit dem Speichern ist, garantiere ich für nichts. :D

MfG
Deity



Re: Omake-System (Extra Inhalte zum Freischalten)

Offline zoozak

  • Nachteule
  • Ralph
  • *
  • Beiträge: 14
  • Was ist RALPH?
Re: Omake-System (Extra Inhalte zum Freischalten)
« Antwort #7 am: Dezember 23, 2009, 13:33:09 »
2. Um ein Bild zu speichern, musst du folgendes ins Call Script eintippen: add_picture_to_list(name)
    name muss in Anführungszeichen geschrieben werden. (Bspl: add_picture_to_list("Startbildschirm"))

Du meinst also, ich soll diese Zeile ins Event einbauen?

Show Picture "Girl01"
Call Script "add_picture_to_list("Girl01")"


Und dann wird das "Girl01"-Bild von der Gallery abrufbar, ja?
Wenn ich das so richtig verstanden habe, kann ich auf diese Weise auch eine Jukebox erstellen, oder bestimmte Events spielen, die durch add_XXX_to_list in die Datei geschrieben worden sind...

Vielen Dank für die Hilfe, Deity.
Da ich diese Skripte nicht selber schreiben kann, werde ich wahscheinlich jemandes Hilfe hierzu benötigen,
aber zumindest weiß ich jetzt, dass mein Gedanke mit RGSS umsetzbar ist.


Korrigiere mich bitte, wenn ich hier falsch liege.


Schöne Grüße

Zoozak

Re: Omake-System (Extra Inhalte zum Freischalten)

Offline Colonios

  • Maker Nerd
  • VX-Kenner
  • ****
  • Beiträge: 596
  • Events <3
Re: Omake-System (Extra Inhalte zum Freischalten)
« Antwort #8 am: Dezember 23, 2009, 13:53:32 »
So wie ich das verstanden habe kann man mit Deitys Script aber nur Bilder in eine Datei speichern und sie danach abrufen.

Mit meinem Befehl speicherst du z.B. alle Variablen oder alle Switches, so wie sie sind. Die kannst du zu anfang des Spiels laden, was wie ich finde eine einfachere lösung als die von Deity darstellt, denn so kannst du mit einem Event und Conditional Branches, welche abfragen, welche Achivements du schon freigeschaltet hast, noch mehr einbauen als "nur" Bilder, wie z.B. ein Fun-Quiz zum Spiel, ein alternatives Ende, Hintergrunde zum Spiel... es gibt so tolle Ideen :)

PS: Wenn du nicht ganz rallst, wie du den Scriptcode genau benutzen musst, den ich dir gegeben habe, dann erkläre ich es dir gerne ;) Ach und übrigens, wenn du ein spiel lädst, dann werden die Variablen wieder so, wie nach dem Speichern. Bei einem Neuen spiel kannst du ja ganz an den Anfang ein event setzen, dass alle Variablen wieder = 0 setzt ;)

MfG

Re: Omake-System (Extra Inhalte zum Freischalten)

Offline zoozak

  • Nachteule
  • Ralph
  • *
  • Beiträge: 14
  • Was ist RALPH?
Re: Omake-System (Extra Inhalte zum Freischalten)
« Antwort #9 am: Dezember 23, 2009, 14:41:39 »
Hmmm... aber Colonios, mit deinem Befehl kann man ja nur "ganze" Variablen ode Switches speichern.

Sagen wir mal, es gibt Bild01, Bild02. Die Switches dafür sind 001,002.

In einem Spiel schaltest du "nur" Bild01 frei.

Switch 001: "Bild01" on
save_data ($game_switches, "switches.swi")

Dann hat die Datei "switches.swi" folgende Werte parat:
Switch 001: "Bild01" on
Switch 002: "Bild02" off

Nun beende ich das Spiel, und fange neu an.
Diesmal schalte ich "nur" "Bild02" frei.

Switch 001: "Bild02" on
save_data ($game_switches, "switches.swi")

Dann werden die Werte ja überschrieben, und die Datei "switches.swi" enthält nun folgende Werte:
Switch 001: "Bild01" off
Switch 002: "Bild02" on


Obwohl ich bereits das Bild01 gesehen habe, kann ich jetzt nur "Bild02" abrufen.
Bei meinem Spiel habe ich 4 oder 5 Storylines, und die kann man nicht alle in einem Spiel spielen.
Weißt du, was ich meine? Deshalb hatte ich auch die Frage oben (vor Deity) gestellt.
Was sagst du hierzu, Colonios?


Re: Omake-System (Extra Inhalte zum Freischalten)

Offline Colonios

  • Maker Nerd
  • VX-Kenner
  • ****
  • Beiträge: 596
  • Events <3
Re: Omake-System (Extra Inhalte zum Freischalten)
« Antwort #10 am: Dezember 23, 2009, 14:59:52 »
Naja, aber das ist ja auch easy lösbar:

Wenn du ein Neues Spiel machst, dann werden alle switches aus gemacht, außer die letzten 100.

Da sind dan die Bilder drin.

Dann hast du Bild1 und Bild 2 ;)

MfG

Re: Omake-System (Extra Inhalte zum Freischalten)

Offline Ðeity

  • No Pain, no gain!
  • Administrator
  • Eventmeister
  • ****
  • Beiträge: 427
  • No Pain, no Gain!
    • Deity-VX
Re: Omake-System (Extra Inhalte zum Freischalten)
« Antwort #11 am: Dezember 23, 2009, 15:02:00 »
Hi,
bei meinem Script wird eigentlich nur eine Datei erstellt, die eine Array mit Namen beinhaltet. Und beim abfragen, überprüft das Script nur, ob dieser Name in der Array vorhanden ist, falls ja, gibt das Script den wert true aus, falls nein false. Also kanst du da einfach alle Namen rein speichern (Musiknamen, Bildernamen etc.), da sie nicht als Eigenformat gespeichert werden, sondern eher als eine Textdatei.

Allein die Visualisierung ist dir überlassen, und für deinen Wunsch dachte ich, muss man nicht unbedingt Switches und Variablen gebrauchen, da du nur wissen willst, ob das Bild freigespielt wurde.

Natürlich könnte man das selbe mit Colonios's Lösungsvorschlag machen, was allerdings ein bischen Aufwendiger ist, doch eigentlich das selbe in Grün. :)

MfG
Deity
« Letzte Änderung: Dezember 23, 2009, 15:03:11 von Ðeity »



Re: Omake-System (Extra Inhalte zum Freischalten)

Offline zoozak

  • Nachteule
  • Ralph
  • *
  • Beiträge: 14
  • Was ist RALPH?
Re: Omake-System (Extra Inhalte zum Freischalten)
« Antwort #12 am: Dezember 23, 2009, 15:09:27 »
OK, alles klar!
Es gibt also mindestens zwei Wege, das zustande zu bringen.

Ich danke euch beiden vielmals.

Schöne Feiertage!

 


 Bild des Monats

rooftop party

Views: 3978
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal