Abfrage, ob der Spieler gespeichert hat. (2000, 2003, XP?, VX?)
Vorwort:
Es gibt Spiele, bei denen man über bestimmte Items speichert (z.B. Resident Evil) oder über Events. Möchte man also ein Event oder ein Item, das nach dem Speichern verschwindet, so würde es bei einem RPG Maker Spiel praktisch auch verschwinden, wenn man das Speichern abbricht. Will man das aber umgehen, so gibt es einen einfachen Weg, ohne Patches und dergleichen, ein Skript zu erstellen, das dafür kürzer gar nicht sein kann. Wie dämlich wäre es, wenn man den Spieler davor warnen müsste, dass das Item auch dann verbraucht wird, wenn der Speichervorgang abgebrochen wird? :P
Screenshot:
![]()
-Es wird eine Variable (z.B. Old Save Count) gleich Anzahl der Speicherungen gesetzt.
-Dann wird das Speichermenü aufgerufen.
-Direkt danach wird eine ANDERE Variable (z.B. New Save Count) gleich Anzahl der Speicherungen gesetzt.
-Somit kann man eine Abfrage erstellen, die prüft, ob die beiden Variablen gleich sind.
-> sind diese gleich, hat der Spieler im Speichermenü abgebrochen. Wurde dadurch ein Item verbraucht (wenn das Item aus dem Standardmenü benutzt wurde), kann man es in dem entsprechenden Zweig wieder um eins addieren. Somit wird es im Endeffekt nicht verbraucht.
-> sind diese nicht gleich, was andersrum bedeutet, dass New Save Count um 1 größer ist als Old Save Count, hat der Spieler im Speichermenü auch gespeichert. Wenn man ein Event hat, kann man das dann durch einen Switch dann "deaktivieren".
(Hier kann man auch eine Zählvariable benutzen, um z.B. einen Speicherpunkt zu realisieren, an dem man 5 Mal abspeichern kann; dieser besitzt eine Variable, die dann um 1 hochgezählt wird und bei 5 das Event deaktiviert. Dies hat zum Vorteil, dass wenn man das mit 1 herunterzählen macht, man diese Variable irgendwo im Spiel [üblicherweise vor Spielstart] vorher auf 5 setzen muss.)
Möglich wird das durch die Funktion des Makers, die Anzahl der Speicherungen in eine Variable zu schreiben. Ganz einfach, oder?![]()