Aller à l’article
NeuraCoreWiki utilisateur
← Retour au chapitre
Python intégré

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.