Ir al artículo
NeuraCoreWiki de usuario
← Volver al capítulo
Python integrado

El tiempo, y las respuestas que llegan después

Lo que sorprende a todo el mundo: pedir algo no significa que ya haya ocurrido.

Por qué un script tiene que esperar

Second Life está en otro sitio. Un teleporte pedido va a la región y la respuesta vuelve cuando la región está lista, normalmente unos segundos.

Tu script no se detiene solo por eso: la línea siguiente se ejecuta mientras el avatar aún va de camino. Lo mismo pasa con la información: quién está cerca, preguntado justo al conectar, puede salir corto o sin nombres.

Esperar y volver a mirar

El patrón es siempre el mismo: pedir, esperar un momento, comprobar y rendirse tras un número razonable de intentos.

import time

avatar.teleport_home()

for attempt in range(30):
    time.sleep(1)
    status = avatar.execute("get_connection_status")
    print(attempt, status)
  • import time es Python corriente.
  • El teleporte se pide una vez, antes del bucle.
  • range(30) con un segundo de espera son como mucho treinta segundos. Un bucle sin límite es un script que no termina nunca.
  • time.sleep pausa solo este script: el avatar y la interfaz siguen.

Mantener algo en marcha

Elige la espera según lo rápido que cambie de verdad lo que vigilas. El script termina cuando NeuraCore se cierra; para algo que deba seguir en pie, ejecuta NeuraCore en modo consola en un servidor.