Irgendwas stimmt mit "DataManager.isAnySavefileExists()" nicht...

  • var id = $gameVariables.value(33);
    $gameSystem.onBeforeSave();
    if (DataManager.saveGame(id)) StorageManager.cleanBackup(id);
    $gameSwitches.setValue(174, false);

    Noch ne Erklärung was welche Zeile macht:


    Code
    1. Einstellung der Speichervariable
    2. Speichern vorbereiten
    3. Speichern + Backup wieder leeren
    4. Schalter auf False Stellen

    Danke!

    Aber leider speichert das, anstatt zu laden, oder? :/ Zumindest häng ich jetzt in einer Endlosschleife fest :D:D

    "Du bist gestorben."

    Auswahl "Tag neustarten"

    "Du bist gestorben."

    Auswahl "Tag neustarten"

    usw.


    Ich erkläre nochmal kurz, was ich vorhabe:

    Wenn man stirbt, soll man den Tag neustarten können (vom letzten Speicherpunkt). Ich muss also mit Var 33 den letzten benutzten Saveslot ermitteln, diesen dann aufrufen und den Spieler dort weiterspielen lassen. Gleichzeitig soll Schalter 174 ausgeschaltet werden (was dann auch für den geladenen Speicherpunkt gelten soll. Vorher war der Schalter an, nach dem Laden des alten Spielstands soll er aus sein).


    Einfach probieren, wenn was "kaputt" ist wirst du das schon früh genug erfahren. Einfach teste / spielen, speichern, spielen, speichern, laden, spielen wieder speichern, laden, etc. Wenn alles läuft wird es schon passen. ^^

    Zumindest mache ich es so... wenn etwas nicht geht, keine Ahnung warum und irgendwann geht es... nicht mehr anfassen / einfach so lassen. Es funzt, alles andere egal. XD

    Haha coole Einstellung :D:D

    Tatsächlich hab ich es schon ausprobiert, aber man findet als Entwickler nie alle Möglichkeiten, die ein Spieler finden würde :D Wüsste halt auch gern, was der Code macht, so lern ich ja wieder was :)

  • Es funktioniert!! :):love: Ich kann es selber noch gar nicht glauben.

    Mein Scriptcall war an sich richtig - nur mag es der Maker anscheinend nicht, wenn man gleichzeitig laden und speichern will. Warum hab ich auch immer so Sonderwünsche :D

    Kann mir nicht vorstellen das, dass hilft aber mach spaßeshalber 1 Frame warten vor der Abfrage... vielleicht hilft irgendwie doch?

    Genau das war jetzt des Rätsels Lösung! Nur hab ich gestern überhaupt nicht gewusst, wo ich diese 1 Frame Abfrage reinmachen soll. Ich hätte beide Scriptcalls damit trennen müssen (erst laden, dann warten, dann speichern).

    Vielen Dank an Grandro der gerade eine Menge Zeit investiert hat, um das herauszufinden. :) <3

  • Aber leider speichert das, anstatt zu laden, oder?

    Dann ist dieser natürlich unvollständig :-)


    Fürs laden wäre es (aus nem Plugin von mir geklaut, daher vielleicht nicht 100% richtig):



    Eine Idee:

    Erstelle doch ein Plugin, dass auslöst, wenn "Scene_Gameover" gestartet wird und transferiere alles dementsprechende dort rein.

    Somit kommt zum Beispiel zuerst "GameOver" und dann wird nicht zu Scene Titel transferiert sondern zum letzten Speicherstand


    Dies könnte so aussehen:

  • Danke für den neuen Code :)

    Der von Grandro funktioniert, ich fass da jetzt nichts mehr an, sonst fliegt mir noch der ganze Rechner in die Luft :D:D

    Eine Idee:

    Erstelle doch ein Plugin, dass auslöst, wenn "Scene_Gameover" gestartet wird und transferiere alles dementsprechende dort rein.

    Somit kommt zum Beispiel zuerst "GameOver" und dann wird nicht zu Scene Titel transferiert sondern zum letzten Speicherstand

    Ich kann keine Plugins schreiben, dazu fehlen mir die Programmierkenntnisse. Aber im Grunde tue ich genau das, was du meinst. Mit Hime Game Over Events. Wenn der Spieler Game Over geht, wird er zu einer neuen Map teleportiert. Dort habe ich alles an Events erstellt, was ich brauche. Und eben die Möglichkeit, den Tag neuzustarten, die bisher mein nicht funktionierendes Problem war. Jetzt geht es ja endlich :)