Vai all’articolo
NeuraCoreWiki utente
← Torna al capitolo
Python integrato

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.