| WICHTIG: |
| ********************** |
| Das erste Zeichen muss ab jetzt ein Komma (,) sein. Bisher war |
| es ein Semikolon, aber das wechselwirkt ja mit dem emote. |
| ********************** |
| |
| DER TELLERSTAPEL: |
| |
| Der Tellerstapel ist ein stackorientiertes Magiertool. |
| Das heisst, man legt die Objekte, Strings oder was auch immer auf |
| den Stack und ruft als letztes die Funktion auf, die dann mit |
| dem Stackihnhalt irgendetwas macht. Das Ergebnis wird meistens |
| dann wieder auf dem Stack abgelegt. |
| Im grossen und ganzen dieses Tool von Macbeths Lupe inspiriert. |
| |
| Im folgenden wird mit TOS (TopOfStack) das Ding bezeichnet, das |
| als letztes auf dem Stack abgelegt wurde. |
| |
| KOMMANDOS: |
| |
| Jedes Kommando, das mit den Tellern ausgefuehrt werden soll, |
| wird mit ',' eingeleitet. Allerdings hat das Semikolon noch |
| eine weitere Funktion, aber dazu spaeter. |
| |
| DINGE AUF DEN STACK LEGEN: |
| |
| Hinter dem Semikolon werden (beliebig viele) Stackoperationen |
| angegeben. Die meissten dieser Operationen legen irgendetwas auf |
| dem Stack ab. Will man Objekte auf dem Stack ablegen, so gibt |
| man einfach deren Filenamen an. Zahlen gibt man durch ein voran |
| gestelltes Doppelkreuz ('#') an. (Positive Zahlen gehen auch ohne.) |
| und Strings werden in Anfuehrungszeichen eingefasst, damit sie von |
| den Objekten unterschieden werden koennen. (Uebrigens ist das Zeichen |
| '\n' und das ESC-Zeichen ('\e') in Strings erlaubt.) |
| |
| STACKOPERATIONEN: |
| |
| Stackoperationen, die den Stack nicht beeinflussen. |
| |
| say - Meldungen an Mitspieler ein- und ausschalten. |
| Umstehende sehen normalerweise, wenn man mit den |
| Tellern arbeitet, eine Meldung der Art: |
| "Sowieso jongilert mit seinen Tellern." bzw |
| "Sowieso faellt beim Jonglieren ein Teller herunter." |
| names - Objekte mit oder ohne Namen bei Auflistungen |
| ausgeben. |
| stack - Gebe Stackinhalt aus (0 ist der TOS). |
| memory - Gebe Inhalt der Variablen aus. |
| top - Gebe den TOS aus. |
| inv - Gebe eine Liste der Objekte aus, |
| die sich im TOS-Objekt befinden. |
| scan - Gebe relevante Daten zu dem Spieler auf dem TOS aus. |
| |
| Stackoperationen, die mit selbstdefinierten Funktionen zu tuen |
| haben: |
| |
| ! - Definiere eine neue Funktion. |
| (Hilfe unter "funktionen".) |
| dump |
| restore - Speichern und Laden der benutzerdefinierten |
| Funktionen |
| |
| Stackoperationen, die etwas auf dem Stack ablegen: |
| |
| me - Lege dich selbst auf den Stack. |
| here - Lege den Raum, in dem Du bist, auf den Stack. |
| |
| Stackoperationen zu dessen Verwaltung: |
| |
| dup - Lege den TOS noch einmal auf den Stack. |
| pop - Loesche den TOS vom Stack. |
| swap - Verstauche den TOS mit dem Ding darunter. |
| clear - Loesche den ganzen Stack. |
| |
| Die folgenden Funktionen poppen ihre Parameter vom Stack herunter. |
| |
| Funktionen mit einem Parameter: |
| |
| clone - Clone ein Objekt mit den angegebenen Filenamen. |
| Lege das geclonte Objekt auf den Stack. |
| update - Zerstoere die Blueprint des Objektes. |
| remove - Zerstoere das Objekt. |
| |
| Funktionen mit mehreren Parametern: |
| |
| move - Bewege das zweitoberste Element in das Oberste. |
| if - suche abhaengig vom obersten Element eines der |
| darunter liegenden aus. |
| |
| Funktionen mit beliebig vielen Parametern: |
| |
| Um zu wissen, wieviele der Stackelemente zu dem Funktions- |
| aufruf gehoeren, muss eine Information auf dem Stack |
| abgelegt werden. Dieses wird mit einem Lock (';') gemacht. |
| Unter dem Stichpunkt "lock" sind auch Beispiele. |
| |
| array - Fuege alle Elemente zu einem Array zusammen. |
| split - Zerlege das Array auf dem Stack in Einzelteile. |
| |
| -> - Rufe in dem untersten Objekt die hinter dem |
| Pfeil stehende Funktion auf. Uebergebe alle |
| dem Objekt folgenden Elemente als Parameter. |
| --> - Dito. Lege aber das Ergebnis wieder auf |
| auf dem Stack ab. |
| (Hilfe ist unter dem Begriff "call" zu finden.) |
| |
| -* - Rufe die hinter dem -* stehende efun auf. |
| uebergib alle Stackelemente als Parameter. |
| --* - Dito mit Ergebnisrueckgabe. |
| (Hilfe unter dem Begriff "callefun".) |
| |
| @ - Fuehre den LPC-Code hinter dem Klammeraffen aus. |
| @@ - Dito mit Returnwert. |
| (Hilfe unter "evaluate".) |
| |
| Wie die Befehle im einzelnen funktionieren, kann man durch |
| ";hilfe <Befehl>" erfahren. Thema ist im Allgemeneinen der |
| Befehlsname. Bei Ausnahmen bitte oben nachlesen. ;-) |
| |
| Viel Spass damit |
| Rumata, die Goettin der Morgenroete. |