Folgende Situation (die bei mir schon in mehreren Projekten aufgetreten ist):
Ich hab eine Klasse mit einer Variablen @bla. Bei Initialisierung setze ich @bla auf false oder true. Später möchte ich @bla ändern und weise ihr false zu. Dann hängt sich der Maker auf. Es gibt keine Fehlermeldung, auch kein "Script is hanging" oder so. Weiß jemand woran das liegen könnte?
Ich hab's auch nochmal eben getestet. Mit dieser Klasse:
Dann hab ich nen Charset bei dem per Scriptaufruf ein neues Objekt angelegt wird:
Und ein weiteres Charset ändert dann die Variable per:
Danach hängt sich das Spiel auf. Ich frag mich, ob ich bei false und true etwas grundsätzlich falsch verstanden hab oder ob der Maker spinnt.
Das liegt an dem Event-Interpreter. Wenn ein Script-Befehl im Event false als Rückgabewert hat, wird das als "Fehler im Script" interpretiert und der Interpreter führt das Script nochmal neu aus, weil ja Fehler im Script plötzlich verschwinden wenn man ein Script nur oft genug ausprobiert oO
Ist jedenfalls ein ziemlich merkwürdiges Feature des Interpreters, bei dem die Entwickler bei Enterbrain sicher nicht ganz bei der Sache waren. Die einfachste Art und Weise das zu umgehen ist ans Ende deines Script-Befehls ein true anzuhängen.
Ansonsten kannst du auch das Problem an der Wurzel packen und den Interpreter entsprechend umschreiben:
Das in den Script-Editor über dem Main-Script einfügen.