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

Script che servono a qualcosa

Tre script completi, corti da leggere, ciascuno con un compito vero.

Salutare chi arriva, una volta ciascuno

Un negoziante che saluta ogni nuovo arrivato senza ripetersi.

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 è un insieme, che rifiuta i doppioni: è ciò che evita di salutare due volte la stessa persona.
  • Il ciclo interno guarda chi c’è adesso, quello esterno lo ripete per dieci minuti.
  • Chi non ha ancora un nome viene saltato invece che salutato come nessuno.
  • Inviare un messaggio istantaneo richiede che send_im sia permesso.

Mandare un avatar su un percorso registrato

I percorsi si registrano percorrendoli tu, nella scheda Patrol. Uno script può avviarne uno per nome.

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 risponde con l’elenco dei percorsi di questo avatar, ciascuno con un id e il nome.
  • loop=True lo fa continuare finché qualcosa non lo ferma.
  • Registrare richiede Individual per un percorso per avatar, o Business per cento. Riprodurre non è limitato.

Controllare per che cosa è licenziata l’installazione

Utile in cima a qualsiasi script che intendi lasciare in funzione.

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 è la licenza in corso; licensed è vero solo quando gli avatar possono davvero collegarsi.
  • Ogni slot è un posto, con l’avatar che lo occupa e i giorni rimasti. Il posto 0 è del titolare e non porta tempo.
  • Questo legge e non cambia nulla: concedere o prolungare una licenza è deliberatamente fuori dalla portata di uno script.