Zum Artikel springen
NeuraCoreBenutzer-Wiki
← Zurück zum Kapitel
Eingebettetes Python

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.