Es heißt tatsächlich status_window, da ich noch weitere Fenster habe.
Außerdem habe ich schon eindeutige Befehle in "def on_state_ok" eingefügt (zB prints), aber die Methode wird einfach nicht gestartet
--
Facebook
Maker: VX Ace
Projekt: Hyperverse Theory (Fantasy-SciFi RPG)
Status: nur Planung
Ich hab deinen Code so in Scene_Map reingepresst und die zwei Stellen korrigiert. Damit funktioniert es.
Eine Zeile hab ich noch eingefügt:
muss nach @actor.remove_state aufgerufen werden, da ein Zustand der beseitigt wurde in der selben "Kampfrunde" nicht noch einmal gesetzt werden darf.
Okay, Fehler gefunden. Das Problem liegt darin, dass (bezogen auf die OK und CANCEL Handler) immer nur ein Fenster aktiv sein darf (also sozusagen im Fokus liegen kann). Bei dir fängt ein anderes Window den Tastendruck Enter ab, daher kommt der in Window_DebugState nicht mehr an. Klassen die von Window_Selectable erben, sind automatisch erstmal inaktiv. Klassen die von Window_Command erben, sind automatisch aktiv. Du musst also deine Klassen, Window_DebugClass und Window_Level direkt nach der Initialisierung deaktivieren, sonst liegen die im Fokus und fangen die OK und CANCEL Handler ab. Ob ein Fenster aktiv ist, ist komplett unabhängig davon ob ein Fenster angezeigt wird. hide() allein reicht also nicht aus, du musst auch deactivate() aufrufen.