Des scripts qui servent à quelque chose
Trois scripts complets, courts à lire, qui font un vrai travail.
Accueillir chaque arrivant, une seule fois
Un vendeur qui dit bonjour à chaque nouvel arrivant sans se répéter.
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 est un ensemble, qui refuse les doublons : c’est ce qui évite de saluer deux fois la même personne.
- La boucle intérieure regarde qui est présent, l’extérieure répète pendant dix minutes.
- Quelqu’un sans nom encore connu est ignoré plutôt que salué comme personne.
- Envoyer un message instantané exige que send_im soit autorisé.
Envoyer un avatar sur un trajet enregistré
Les trajets s’enregistrent en les parcourant soi-même, dans l’onglet Patrol. Un script peut en lancer un par son nom.
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 renvoie la liste des trajets de cet avatar, chacun avec un id et son nom.
- loop=True le fait tourner jusqu’à l’arrêt.
- Enregistrer demande une licence Individual pour un trajet par avatar, ou Business pour cent. Rejouer n’est pas limité.
Vérifier ce que couvre la licence
Utile en tête d’un script que vous comptez laisser tourner.
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 est la licence en cours ; licensed n’est vrai que si les avatars peuvent réellement se connecter.
- Chaque slot est une place, avec son avatar et les jours restants. La place 0 est celle du titulaire et ne porte pas de temps.
- Ceci lit et ne change rien : accorder ou prolonger une licence n’est pas à la portée d’un script, délibérément.