Zeit, und Antworten, die später kommen
Das, was alle überrascht: etwas anzufordern heißt nicht, dass es schon geschehen ist.
Warum ein Skript warten muss
Second Life ist anderswo. Ein angeforderter Teleport geht an die Region, und die Antwort kommt, wenn die Region so weit ist, meist nach ein paar Sekunden.
Dein Skript hält dafür nicht von selbst an: die nächste Zeile läuft, während der Avatar noch unterwegs ist. Dasselbe gilt für Informationen: wer in der Nähe ist, im Moment des Verbindens erfragt, kann kurz oder ohne Namen sein.
Warten, dann noch einmal schauen
Das Muster ist immer dasselbe: anfordern, kurz warten, prüfen, und nach einer vernünftigen Zahl von Versuchen aufgeben.
import time
avatar.teleport_home()
for attempt in range(30):
time.sleep(1)
status = avatar.execute("get_connection_status")
print(attempt, status)- import time ist gewöhnliches Python.
- Der Teleport wird einmal angefordert, vor der Schleife.
- range(30) mit einer Sekunde Pause sind höchstens dreißig Sekunden. Eine Schleife ohne Grenze ist ein Skript, das nie endet.
- time.sleep pausiert nur dieses Skript: Avatar und Oberfläche laufen weiter.
Etwas am Laufen halten
Wähle die Pause danach, wie schnell sich das Beobachtete wirklich ändert. Das Skript endet, wenn NeuraCore schließt; für etwas, das erreichbar bleiben muss, betreibe NeuraCore im Konsolenmodus auf einem Server.