XSE applymovement Script Problem

  • Hallo,


    Ich habe ein Problem. Ich habe ein Script geschrieben für mein Rom Hack (Rom base=Pokemon Smaragd)
    und es funktioniert allles so wie es soll im Script, bis auf eine Sache.
    Ich habe im Script angegeben das der Spieler selbst einen Schritt nach unten macht und einen nach rechts.
    Das funktioniert auch aber der Spieler macht plötzlich dann ein Face Move nach links ohne das ich es angegeben habe.


    Hier das Script:


  • Jop. Ich kann dir gerne auch mal erklären, wie waitstate funktioniert, falls es dich interessiert: Wenn waitstate ausgeführt wird, wird eine interne "Warte"-Flag im Scripthandler gesetzt. Jeden Frame will der Scripthandler weiterlaufen, tut das aber nicht, wenn diese "Warte"-Flag gesetzt ist.
    Jetzt haben viele Script-Befehle und hauptsächlich specials, die Funktion, am Ende ihrer Ausführung genau diese "Warte"-Flag zurückzusetzten (selbst wenn sie nicht gesetzt war, verursacht das ja keinen Fehler). Warp gehört zu diesen Befehlen. Du musst aber bedenken, dass du nach einem Warp, auf den du mit waitstate gewartet hast, nur noch den Frame hast, in dem der Script zu Ende läuft: Das heißt, Befehle, die länger als einen Frame dauern (z.B. applymovement oder msgbox) werden nicht zu Ende ausgeführt. Normalerweise führt man solche Dinge dann per Levelscript auf der Ziel-Map fort, da dieser beim Betreten der Map ausgelöst wird.
    Waitstate hat hauptsächlich den Zweck, dass der Script nicht schon beendet, bevor der Warp komplett ausgeführt wurde. Da kann es nämlich dazu kommen, dass der Spieler, während der Bildschirm schwarz wird, noch so lustige Sachen machen kann wie: Mit Personen sprechen, das Menü öffnen, einen neuen Warp auslösen. Deswegen immer waitstate nach einem warp.