Kann schon sein, dass es einen (ablaufbedingten) Unterschied macht ob eine globale oder lokale Variable verwendet wird und bei lokal eine kleine Pause notwendig ist, die dem Server die Möglichkeit gibt einen zuvor publiken Befehl (wie attachTo) zu verarbeiten der das selbe Objekt betrifft. Dafür spricht die Notwendigkeit der Pause zwischen detach und setPos.
So wie ich das sehe unterbricht sleep den Ablauf des Skripts und gibt dem System die Möglichkeit seine "Arbeit" zu erledigen. Dazu genügt vermutlich schon ein Sleep von 0.1. Bei waitUntil wurde sleep 0.5 genommen, weil es ausreicht wenn in diesem Takt die Abfrage erfolgt.
Es hat sich gezeigt, dass bei Skripten, die bereits beim Spielstart aufgerufen werden, in der 1. Zeile ein sleep stehen muss, wenn im Skript Befehle stehen die eine vollständige Initialisierung des Spiels benötigen. sleep wartet dabei anscheinend nicht die eingestellte Zeit ab, sondern pausiert bis die Initialisierung abgeschlossen ist.
|