Le temps, et les réponses qui arrivent plus tard
Ce qui surprend tout le monde : demander quelque chose ne veut pas dire que c’est déjà fait.
Pourquoi un script doit attendre
Second Life est ailleurs. Une téléportation demandée part vers la région et la réponse revient quand la région est prête, en général quelques secondes.
Votre script ne s’arrête pas tout seul pour autant : la ligne suivante s’exécute pendant que l’avatar est encore en route. Il en va de même pour l’information : les résidents proches demandés à l’instant de la connexion peuvent manquer ou être sans nom.
Attendre, puis regarder à nouveau
Le motif est toujours le même : demander, attendre un moment, vérifier, et abandonner après un nombre raisonnable d’essais.
import time
avatar.teleport_home()
for attempt in range(30):
time.sleep(1)
status = avatar.execute("get_connection_status")
print(attempt, status)- import time est du Python ordinaire.
- La téléportation est demandée une fois, avant la boucle.
- range(30) avec une seconde d’attente fait au plus trente secondes. Une boucle sans limite est un script qui ne s’arrête jamais.
- time.sleep ne met en pause que ce script : l’avatar et l’interface continuent.
Faire durer
Choisissez l’attente selon la vitesse réelle de ce que vous surveillez. Le script se termine quand NeuraCore se ferme ; pour quelque chose qui doit rester actif, faites tourner NeuraCore en console sur un serveur.