Il tempo, e le risposte che arrivano dopo
Ciò che sorprende tutti: chiedere qualcosa non vuol dire che sia già successo.
Perché uno script deve aspettare
Second Life è altrove. Un teletrasporto richiesto va alla regione e la risposta torna quando la regione è pronta, di solito qualche secondo.
Il tuo script non si ferma da solo per questo: la riga successiva parte mentre l’avatar è ancora in viaggio. Lo stesso vale per le informazioni: chi è vicino, chiesto nell’istante della connessione, può risultare corto o senza nomi.
Aspettare, poi guardare di nuovo
Lo schema è sempre lo stesso: chiedere, aspettare un momento, controllare, e arrendersi dopo un numero ragionevole di tentativi.
import time
avatar.teleport_home()
for attempt in range(30):
time.sleep(1)
status = avatar.execute("get_connection_status")
print(attempt, status)- import time è Python ordinario.
- Il teletrasporto è chiesto una volta, prima del ciclo.
- range(30) con un secondo di attesa sono al massimo trenta secondi. Un ciclo senza limite è uno script che non finisce mai.
- time.sleep mette in pausa solo questo script: avatar e interfaccia proseguono.
Tenere qualcosa in funzione
Scegli l’attesa in base a quanto in fretta cambia davvero ciò che osservi. Lo script finisce quando NeuraCore si chiude; per qualcosa che deve restare attivo, fai girare NeuraCore in console su un server.