oO
Kommt auf das Script an. Normalerweise sind die Scripte in Form von neuen Klassen geschrieben. Meinetwegen class Hintereinanderlaufen
Damit ein Script ausgeführt werden kann, muss ein Objekt dieser Klasse erstellt werden.
mein_script = Hintereinanderlaufen.new()
Dieses Objekt ist praktisch ein Unterprogramm, welches das Script ausführt. Um zu verhindern das ein Script ausgeführt wird, musst du praktisch die Erstellung des Objekts verhindern (also die obere Zeile weglassen, bzw. ein # davorschreiben, so dass sie nicht ausgeführt wird). Um ein Script zu löschen, kann man auch einfach
mein_Script = nil
schreiben. Aber normalerweise hat jede Klasse eine Methode um seine internen Vorgänge zu beenden. Außerdem hat jedes Objekt einen spezifischen Wirkungsbereich, d.h. es befindet sich in einem anderen Objekt o. Methode, und existiert nur solange, solange dieses Objekt besteht bzw. dessen Methode ausgeführt wird. Danach wird das Script/Objekt gelöscht. (zb. würde das Objekt mein_script der Klasse Hintereinanderlaufen nur solange existieren, solange der Spieler sich auf der Map befindet. Öffnet er das Menü, so wird das Script vermutlich gelöscht).
Bei einer manuellen Löschung musst du aber aufpassen, dass keine Methoden mehr von dem Objekt ausgeführt werden.
mein_script = Hintereinanderlaufen.new()
mein_script = nil
mein_script.tue_etwas
Würde eine Fehlermeldung ausgeben, da mein_script nun nicht mehr ein Objekt der Kasse Hintereinanderlaufen ist, und daher auch nicht mehr die Methode tue_etwas ausführen kann.
Uhm, eigentlich würde ich so ein Herumstochern in anderen Codes lieber lassen, wenn man sich nicht mit Ruby auskennt. Normalerweise sollte jedes Script eine bestimmte Methode besitzen, um abgebrochen oder beendet zu werden.
Falls du ein bestimmtes Script meinst, dann poste es einfach. Dann kann ich genauer sagen wie man es unterbricht/beendet.
|