Skripte, die etwas Nützliches tun
Drei vollständige Skripte, kurz genug zum Durchlesen, jedes mit einer echten Aufgabe.
Jeden Ankommenden begrüßen, einmal
Ein Ladenbetreuer, der jeden Neuankömmling begrüßt und sich nicht wiederholt.
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 ist eine Menge, die Doppelte ablehnt: das verhindert, dieselbe Person zweimal zu begrüßen.
- Die innere Schleife sieht, wer gerade da ist, die äußere wiederholt das zehn Minuten lang.
- Wer noch keinen Namen hat, wird übersprungen statt als niemand begrüßt.
- Eine Sofortnachricht zu senden verlangt, dass send_im erlaubt ist.
Einen Avatar auf eine aufgezeichnete Route schicken
Routen werden aufgezeichnet, indem man sie selbst geht, in der Registerkarte Patrol. Ein Skript kann eine über ihren Namen starten.
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 antwortet mit der Liste der Routen dieses Avatars, jede mit einer id und dem Namen.
- loop=True lässt sie laufen, bis etwas sie stoppt.
- Aufzeichnen verlangt Individual für eine Route je Avatar oder Business für hundert. Abspielen ist nicht begrenzt.
Prüfen, wofür diese Installation lizenziert ist
Nützlich am Anfang jedes Skripts, das du laufen lassen willst.
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 ist die laufende Lizenz; licensed ist nur wahr, wenn Avatare sich tatsächlich verbinden dürfen.
- Jeder slot ist ein Platz, mit dem Avatar darauf und den verbleibenden Tagen. Platz 0 gehört dem Inhaber und trägt keine Zeit.
- Das liest und ändert nichts: eine Lizenz zu erteilen oder zu verlängern ist einem Skript bewusst nicht möglich.