Durch Gegner besiegen Room wechseln

  • GM 8

    Durch Gegner besiegen Room wechseln

    Hallo,

    Ich hab in verschiedenen Räumen Gegner aufgestellt und hab folgendes Problem:

    Wenn man im ersten Raum die Gegner besiegt sollte man im nächsten Raum starten.
    dazu habe ich diesen Code im Step Event verwendet:

    if (instance_number(gegner) == 0)
    {
    room_goto_next()
    }


    im zweiten Raum kommen aber diese gegner garnichtvor und daher überspringt
    es soweit bis ein Room erscheint wo die gegner wie im ersten Raum wieder vorkommen.
    Wie kann ich das so einstellen das dieser Code nur für den ensprechenden Room
    funtkionieren soll?Ich hab bisher keine lösung gefunden :(
    Mach ein parent, den alle gegner haben und lass nach dem suchen.
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D

    GML-Quellcode

    1. if(instance_exists(obj_blablabla))
    überprüft ob eine Instanz im aktuellen Room existiert :)

    GML-Quellcode

    1. if(!instance_exists(obj_blablabla))
    überprüft ob sie es nicht tut! Könnte dir helfen!
    Mono C# / SFML.Net <3

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Xable“ ()

    Ja klar, weil wenn alle Gegner tot sind, die Abfrage nicht mehr ausgeführt wird. Du kannst aber das heir ins Destroy Event einfügen:

    GML-Quellcode

    1. if (instance_number(boss1) == 1)
    2. {
    3. room_goto_next()
    4. }


    Wenn also 2 objekte da sind passiert nix, und wenn der letzt stirbt und nur noch sich selbst finden kann dann kommt der raumwechsel

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
    mach im create:

    GML-Quellcode

    1. if instance_number(gegner)==0
    2. bestatigen=false
    3. else
    4. bestatigen=true

    und dann im step:

    GML-Quellcode

    1. if bestatigen=true
    2. if (instance_number(gegner) == 0)
    3. {
    4. room_goto_next()
    5. }
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
    Xable, dein Code funktioniert nicht weil er ja nicht will das im nächsten Raum, wo es die art von Gegner nicht gibt, nicht auch weitergeleitet wird.

    Den Raum zu überprüfen ist ach blöd, weil das zu unflexibel ist. Was wenn im 3ten Raum wieder dieser Gegnertyp ist?

    Der Raumwechsel findet statt wenn der letzte dieser Gegner getötet worden ist. Entweder man hat in jedem Raum mit diesem gegner ein Controllobj, das überprüft wieviele noch da sind, oder jedesmal wenn so ein Ding stirbt überprüft es ob es das letzte war. Dann gehts weiter in den nächsten Raum.

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)

    Aku_Ryou schrieb:

    Xable, dein Code funktioniert nicht weil er ja nicht will das im nächsten Raum, wo es die art von Gegner nicht gibt, nicht auch weitergeleitet wird.

    Achso stimmt, na dann kann man auch genauso gut eine globale Variable auf true stellen, sollte dieser Gegner gespawnt sein. Wenn dies der Fall ist, prüft er solange, bis die Instanzen nicht mehr existieren und wenn er dann den Room wechselt, die globale Variable auf false gestellt wird. Allerdings wäre in diesem Fall dein Code sinnvoller. Meiner würde sich halt für ein Parent aller Gegner eigenen können, wenn man das Level wechseln will, wenn komplett alle Gegner tod sind.

    PS: Was ist, wenn er aber will, das die Gegner im nächsten Level zum Beipsiel wieder vorkommen, aber diesmal nicht will, das sie einem ins nächste Level bringen? Könnte man mit einer Variable überprüfen, ob das gemacht werden soll. Im Room-Code dann einfach die Variable auf true stellen, wenn es erwünscht ist.
    Mono C# / SFML.Net <3

    subteam schrieb:

    überspringt
    es soweit bis ein Room erscheint wo die gegner wie im ersten Raum wieder vorkommen.
    Wie kann ich das so einstellen das dieser Code nur für den ensprechenden Room
    funtkionieren soll?


    er braucht es nur für diesen Gegnertypen in diesem Room.., ein parent enemy kann aber nie schaden, für Kollisionen etc.

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)