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

Scripts que sirven para algo

Tres scripts completos, cortos de leer, cada uno con un trabajo real.

Saludar a quien entre, una vez a cada uno

Un dependiente que saluda a cada recién llegado sin repetirse.

import time

greeted = set()

for minute in range(10):
    for person in avatar.get_nearby_avatars():
        if person["id"] in greeted or not person["name"]:
            continue
        greeted.add(person["id"])
        avatar.send_im(person["id"], "Hello, and welcome to the shop.")
    time.sleep(60)
  • greeted es un conjunto, que rechaza duplicados: eso evita saludar dos veces a la misma persona.
  • El bucle interior mira quién está ahora; el exterior lo repite durante diez minutos.
  • A quien todavía no tiene nombre se le salta en vez de saludarlo como a nadie.
  • Enviar un mensaje instantáneo exige que send_im esté permitido.

Mandar a un avatar por una ruta grabada

Las rutas se graban recorriéndolas tú, en la pestaña Patrol. Un script puede lanzar una por su nombre.

routes = avatar.get_patrols()
print(routes)

for route in routes:
    if route["name"] == "Garden round":
        avatar.play_patrol(patrol=route["id"], loop=True)
        break
  • get_patrols devuelve la lista de rutas de este avatar, cada una con un id y su nombre.
  • loop=True la mantiene dando vueltas hasta que algo la pare.
  • Grabar exige Individual para una ruta por avatar, o Business para cien. Reproducir no tiene límite.

Comprobar para qué está licenciada la instalación

Útil al principio de cualquier script que pienses dejar corriendo.

licence = avatar.get_licence_state()

print(licence["tier"])
print(licence["licensed"])

for slot in licence["slots"]:
    print(slot["slot_index"], slot["avatar_name"], slot["individual_days"])
  • tier es la licencia en marcha; licensed solo es cierto cuando los avatares pueden conectarse de verdad.
  • Cada slot es una plaza, con el avatar que la ocupa y los días que quedan. La plaza 0 es la del titular y no lleva tiempo.
  • Esto lee y no cambia nada: conceder o ampliar una licencia queda fuera del alcance de un script, a propósito.