Puppets

Puppet-Werkzeug

Mit /puppet CommandPuppet NAME URL oder mit /puppet start NAME für registrierte Puppets (siehe /puppetdef) und optional einem Passwort dahinter kann man ab dem Rang W9/K9 (SimplePuppets ab dem Rang W8/K8) ein Puppet in die Brettspielwelt setzen.

Das Puppet-Werkzeug aufrufen

Werkzeugleiste

Durch Anklicken des Buttons "Puppets" öffnet sich das Puppet-Werkzeug.

Schließen kann man dieses Fenster mit dem roten X oben rechts in der Ecke. Die Kontext-Hilfe zu Puppets erhält man durch Anklicken des blauen Fragezeichens daneben.

Mit der Werkzeug-Konfiguration kannst du die Werkzeuge in der Werkzeugleiste ein- bzw ausblenden.

Noch kein Puppet gestartet

Übersicht

Wenn man noch kein Puppet gestartet hat, dann erscheint eine Liste von Puppets, die man sich ggfs. in der Datei BrettspielWelt.prop eingetragen hat. Sind auch dort keine Einträge zu finden, werden die links stehenden Beispieleinträge angezeigt.

Vorkonfiguriert wird in folgendem Format:

PuppetTYPE-NAME = URL

wobei der TYPE beim gängigen Typ CommandPuppet weggelassen werden kann.

Ergänzt werden diese Einträge durch eine alphabetische Liste der registrierten Puppets, bei denen man als möglicher Starter eingetragen ist.

Ein vorkonfiguriertes Puppet kann man starten, indem man auf die entsprechende Zeile klickt.

Die Beispieleinträge entsprechen diesen Zeilen in der BrettspielWelt.prop:

PuppetSimplePuppet-UngeheuersPuppet
PuppetHelloUngeheuer = http://www.meinwebspace.de/Puppets/test.prog
PuppetTutorPuppet

Kontexthilfe

Kontexthilfe

In der Kontext-Hilfe des Puppet-Werkzeugs sind Links zu den wichtigsten Hilfeseiten zu Puppets zusammengefaßt. In der Einführung stehen allgemeine Informationen zu Puppets (insbesondere SimplePuppets). Will man ein eigenes CommandPuppet schreiben, so benötigt man die Befehlsliste und ggfs. das Tutorial, wo man auch einige Beispielprogramme findet. Für welche Spiele TutorPuppets geladen werden können, findet man in der Liste der Erklärpuppets.

Die Übersicht selbstgestarteter Puppets

Übersicht selbstgestarteter Puppets

Nebenstehend werden drei laufende Puppets angezeigt: SoloHelper, Kussgeber und rechner. Diese befinden sich in den Räumen 43, C1-1 und C1. Das dritte Puppet wurde von SLC übernommen.

Klickt man auf die erste Zeile, so kann man weitere vorkonfigurierte Puppets anstarten, per Klick auf eines der laufenden Puppets kann man sich die Details zu diesem Puppet anzeigen lassen.

Die Details zu einem Puppet

Durch Klicken auf eines der laufenden Puppets in der Übersicht gelangt man zu einer Ansicht der Puppet-Details. Diese sind in Karteikarten gestaffelt.

Im oberen Bereich werden Puppettyp und Puppetname sowie in Klammern der Name, der im Quelltext angegeben ist, angezeigt. Klickt man hier hin, so gelangt man zurück zur Übersicht.

Die Karteikarten im unteren Bereich wechselt man, indem man auf die gelb unterlegten Karteireiter klickt.

Vorkonfigurierte Puppets starten
Start

Hier findet man noch einmal die Liste der in der BrettspielWelt.prop vorkonfigurierten Puppets und die alphabetische Liste der registrierten Puppets, bei denen man als Starter angegeben ist, oder alternativ die Beispieleinträge.

Hier gelangt man übrigens auch hin, wenn man in der Übersicht auf die erste Zeile " << Vorkonfiguriertes Puppet starten >>" klickt.

Die angezeigten Puppets startet man, indem man auf die entsprechende Zeile klickt. Ist das Puppet bereits gestartet (und hat man dies selbst getan), so wird auf die Details zu diesem Puppet umgeschaltet.

Grundsätzliche Informationen
Info

Zunächst gibt es eine Reihe von vier Kontrollkästchen, die man in der Regel auch anklicken kann (direkt auf das Kästchen klicken).

Man kann mit "Besitz" das Puppet übernehmen (/own) oder freigeben (/unown), mit "Sound" einstellen, ob das Puppet Töne übertragen soll (geht nur bei Besitz), mit "TWindow" einstellen, ob die Mitteilungen des Puppets in einem extra Fenster oder im Hauptchat angezeigt werden sollen (auch nur bei Besitz) oder man möchte das Puppet "rauswerfen" (/kick).

Darunter sind einige Werte im Tabellenformat angegeben, die sich im Prinzip von selbst erklären...

Info

Links sehen wir mal, was passiert, wenn man das Kästchen vor "rauswerfen" anklickt.

Im oberen Bereich wird eine Rauswurfmeldung angegeben. Bis ein Puppet endgültig beendet ist, dauert es einige Sekunden (etwa 2-3), in denen das Puppet z.B. noch seine Daten sichert.

Falls man ausreichende Rechte besitzt dieses Puppet rauszuwerfen, wird in dem Moment, in dem das Puppet die BSW verläßt, auf die Übersicht der laufenden Puppets zurückgeschaltet.

Debugging Modi
Debug

Diese Karteikarte soll die Steuerung der Debug-Ausgaben eines CommandPuppets vereinfachen (für Puppets ohne Programm ist diese Karteikarte nicht ansprechbar). Debugausgaben gehen an ein spezielles Tellfenster namens "Debugging PUPPETNAME".

Die ersten beiden Kontrollkästchen geben an, ob im Programm DEBUG angegeben wurde bzw. ob grundsätzlich Debugging durchgeführt wird (siehe auch @@debug ON bzw. @@debug OFF).

  • @@debug ALL: Schaltet alle darunter stehenden Modi an.
  • @@debug NONE: Schaltet alle Modi aus.
  • @@debug ACTION: Meldet, wenn Aufrufe von ACTIONs ausgelöst werden.
  • @@debug EVENT: Meldet Ereignisse wie Chatmeldungen, auftauchende Spieler, Ablauf des TIMER-Events, usw., die ggfs. ACTIONs auslösen.
  • @@debug VARIABLES: Zeigt Änderungen von Variablen an, allerdings nur für einen im Programm mit DEBUG ON/OFF umschlossenen Bereich (wegen der auftretenden Datenmenge).
  • @@debug SINGLESTEP: Einzelschrittmodus mit Angabe jedes einzelnen Befehls, allerdings wieder nur in bestimmten Bereichen des Programms.
  • @@debug LOCAL: Zeigt Ort und Werte lokaler Variablen (LOCAL-Befehl) am Anfang und Ende der Lebensdauer an.
  • @@debug SCOPE: Jeder Unteraufruf von ACTIONs oder BEGIN-END-Blöcken wird automatisch durchnummeriert. Hier sieht man, wie das Programm in solche Blöcke rein- und rausspringt.
Statistik aktueller Zustandswerte (Snapshot)
Statistik

Hier werden einige Zustandswerte angezeigt.

Für Detailfragen melde man sich einfach mal im /channel puppets.

Die Statistik zeigt einen Zustand zu einem bestimmten Zeitpunkt an. Um neue Werte zu bekommen, muß man irgendwo auf den Bereich der Karteikarte klicken.

@-Befehle des Programms
Befehle

Hier werden die vom Programm angebotenen Befehle angegeben.

Links steht immer der Befehl (z.B. @list), der im selben Raum wie das Puppet im Hauptchat angegeben werden muß, und rechts steht die zugehörige ACTION, die in diesem Fall aufgerufen werden würde.

Durch klicken auf die entsprechende Zeile kann man diese ACTION ausführen, wobei Parameter (derzeit) nicht implementiert sind.

Gebraüchliche @-Befehle, die am besten jedes CommandPuppet haben sollte, sind:

@info - Teilt einem Spieler Informationen zur Benutzung mit.

@home - Schickt ein herumwanderndes Puppet zurück in seinem Heimatraum.

Puppet-Registrierungen
Definition

Hier geht es rund um den Befehl /puppetdef. Mit diesem Befehl kann man Daten zu einem Puppet unter einem Namen auf dem Server hinterlegen. Normalerweise gibt man die Parameter einfach so wie bei /puppet an:

/puppetdef CommandPuppet NAME URL

Ein registriertes Puppet kann dann einfach mit

/puppet start NAME

gestartet werden. /puppetdef kennt einige Unterbefehle, wie z.B.

  • /puppetdef list: Listet alle Puppets auf, die man registriert hat oder für die man als Starter eingetragen wurde.
  • /puppetdef info NAME: Zeigt die Daten für eine Registrierung an.
  • /puppetdef delete NAME: Löscht eine Registrierung.
  • /puppetdef set NAME public pwd=PWD

Beim Unterbefehl "set" können mehrere Werte gleichzeitig gesetzt werden, immer mit NAME=WERT (ohne Leerzeichen!); enthält der Wert Leerzeichen, so müssen Anführungszeichen benutzt werden: NAME="WERT".

  • /puppetdef set NAME public (oder "public=On"): Auch andere Benutzer als die bei "Starter:" angegebenen können dieses Puppet starten, ohne z.B. die URL zu kennen. In diesem Fall werden auch URL, Kennwort (PWD), Levelpunkte und Stack nicht angezeigt die Karteikarten "Debug" und "Statistik" bleiben inaktiv.
  • /puppetdef set NAME priv (oder z.B. "public=Off"): Nur die angegebenen Starter dürfen dieses Puppet starten.
  • /puppetdef set NAME type=TYPE (z.B. "type=CommandPuppet"): Ändert den Puppettyp des Puppets. Mögliche Puppettypen sind SimplePuppet (SP), CommandPuppet (CP), TutorPuppet (TP) und AutoStartPuppet (ASP). Um ein Puppet jedoch als AutoStartPuppet laufen zu lassen, benötigt man eine spezielle Berechtigung.
  • /puppetdef set NAME url=URL: Setzt die WWW-Adresse für den Quellcode des Puppets (das Programm in der BSW-Puppetsprache). Dieser muß als pure ASCII-Datei auf einem Web-Server hinterlegt werden.
  • /puppetdef set NAME pwd=PWD: Setzt ein Kennwort zum Zugriff auf das Puppet. Nur die angegebenen Starter können dieses Kennwort sehen.
  • /puppetdef set NAME info="INFO": Setzt eine Kurzinformation für diese Puppet-Registrierung.

Einige zusätzliche Optionen bleiben den Admins vorbehalten.

Für die Berechtigung zum Autostart schicke am besten eine Antragsmail an SLC@brettspielwelt.de.