Checkpoint in Jump N Run mit "save game" und "load game"

  • GM 8
  • Checkpoint in Jump N Run mit "save game" und "load game"

    Hallo Leute,

    ich möchte in meinem Jump N Run einen Checkpoint setzen, an dem der Spieler wieder anfängt wenn er stirbt und ein Leben verliert. Zuvor muss er diesen Checkpoint natürlich erreicht haben.

    Das habe ich folgendermaßen gemacht:

    Ein Objekt als Checkpoint:
    mit Player und Aktion: savegame


    Und wenn er stirbt soll er wieder beim gespeicherten Spiel weiterspielen:

    Im Step event habe ich folgendes gesetzt:

    If health smaller then 0



    lade savegame

    Setze Health auf 100

    set lives -1 relative (Ziehe ein Leben ab)




    Mein Problem ist nun dass er zwar am Checkpoint wieder startet, aber er das Leben nicht abzieht.
    Kann mir einer sagen wo der Fehler liegt?

    Kenn mich mit GML nicht aus, also bitte WENNS GEHT nur mit Drag and Drop erklären.

    Würd mich freuen wenn ihr mir helfen könnt, bin dankbar für jeden Hinweis!

    Gruß
    Pascal
  • Pascal2851981 schrieb:

    Hallo Leute,

    ich möchte in meinem Jump N Run einen Checkpoint setzen, an dem der Spieler wieder anfängt wenn er stirbt und ein Leben verliert. Zuvor muss er diesen Checkpoint natürlich erreicht haben.

    Das habe ich folgendermaßen gemacht:

    Ein Objekt als Checkpoint:
    mit Player und Aktion: savegame


    Und wenn er stirbt soll er wieder beim gespeicherten Spiel weiterspielen:

    Im Step event habe ich folgendes gesetzt:

    If health smaller then 0



    lade savegame

    Setze Health auf 100

    set lives -1 relative (Ziehe ein Leben ab)




    Mein Problem ist nun dass er zwar am Checkpoint wieder startet, aber er das Leben nicht abzieht.
    Kann mir einer sagen wo der Fehler liegt?

    Kenn mich mit GML nicht aus, also bitte WENNS GEHT nur mit Drag and Drop erklären.

    Würd mich freuen wenn ihr mir helfen könnt, bin dankbar für jeden Hinweis!

    Gruß
    Pascal

    Der Fehler liegt wohl daran das wen er das Spiel läd, das Spiel zum Save zurückgesetzt wird, und dann kann der Code ja nich fertig ausgeführt werden.

    Ich würde dir empfehlen bei berührung des checkpoints, die postion des Spielers in 2 Variablen zu speichern, und wen Health auf null ist, einfach den Spieler dort hin porten, und dan die sachen wie leben einzustellen.
  • Das ganze sollte wie folgt funktionieren:

    player


    • smaller then 1
    • x = global.checkx y = global.checky
    • health = 100
    • relativ -1


    • Player:
    • :
    • global.checkx = self.x
    • global.checky = self.y

      Checkpoint:
      mit Player
    • global.checkx = self.x
    • global.checky = self.y


    • MfG Marvin159

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Marvin159 ()

  • Wow das ging ja super schnell!

    Ihr habt das Problem erkannt und die Lösung hat auch funktioniert.

    Vielen Dank an euch zwei!

    Nur jetzt sind die Gegner die ich nach dem Checkpoint zerstört habe auch weg wenn ich wieder am Checkpoint starte (ist ja logisch...)

    Gibt es denn eine Möglichkeit dass die wieder da sind wenn ich wieder am Checkpoint starte?
  • Er meint mit instance_create(x,y,Objekt), also Instanzen zu erstellen.

    Da machst du dann beim Laden zum Bespiel:
    • x: 0 y:50 object: obj_Gegner
    • x: 100 y:50 object: obj_Gegner
    (Also alle Gegner, die am Anfang da waren)

    Da der Stepcode der Checkpointinstanz nach dem Laden nicht zu Ende ausgeführt wird,
    solltest du ein Objekt vor dem Speichern erstellen lassen,
    das dann einen Alarm festlegt,der dann die Gegner spawnt und das Objkt zerstört.

    EDIT: Es ist außerdem wichtig, dass du alle alten Gegner vor dem
    Erstellen der "neuen" zerstören lässt.

    Benutz dazu etwas Code und zwar:

    GML-Quellcode

    1. with obj_Gegner
    2. {
    3. instance_destroy();
    4. }


    Das bringt alle Instanzen von obj_Gegner dazu, sich zu zerstören.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Shapow ()