Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/obj/tools/teller/hilfe/array b/obj/tools/teller/hilfe/array
new file mode 100644
index 0000000..8253000
--- /dev/null
+++ b/obj/tools/teller/hilfe/array
@@ -0,0 +1,19 @@
+BEFEHL:
+ array, arr
+
+ARGUMENTE:
+ Alle Stackelemente bis zum letzten Lock.
+
+FUNKTION:
+ Alle Elemente werden zu einem Array zusammengefuegt. Der Lock
+ wird entfernt und das Array wieder auf den Stack gelegt.
+
+BEISPIELE:
+ ,me "zap_msg", "Du kochst @@wen@@.\n" "@@ich@@ kocht @@wen@@.\n"
+ "@@ich@@ kocht Dich.\n" array !SetProp
+ Wandelt die drei Strings in ein Array um. Danach wird im
+ Spieler die Zapp-Meldung neu gesetzt. Das obige muss
+ natuerlich in einer Zeile eingegeben werden.
+
+SPIEHE AUCH:
+ "split", "lock"
diff --git a/obj/tools/teller/hilfe/call b/obj/tools/teller/hilfe/call
new file mode 100644
index 0000000..7597299
--- /dev/null
+++ b/obj/tools/teller/hilfe/call
@@ -0,0 +1,26 @@
+BEFEHL:
+ 'funktion, ''funktion oder
+ ->funktion, -->funktion
+
+ARGUMENTE:
+ Alle Stackelemente bis zum letzten Lock.
+ funktion -- Name einer lfun.
+
+FUNKTION:
+ Rufe in dem Objekt oberhalb des letzten Locks, die angegebene
+ Funktion auf und uebergib die folgenden Elemente des Stacks
+ (bis hinauf zum TOS) als Argumente. Entferne den Lock.
+ Wenn mit die Funktion mit zwei Apostrophen oder zwei Minuszeichen
+ gerufen wurde, lege das Ergebnis auf den Stack. (Bei einfachem
+ Apostroph bzw. Minuszeichen also nicht.)
+
+BEISPIEL:
+ ,me "das Grauen am Morgen" 'set_title
+ Enspricht:
+ call_other( this_player(), "set_title", "das Grauen am Morgen" );
+
+WARNUNG:
+ Man sollte vorher nachschauen, ob nicht noch etwas auf dem Stack
+ liegt, denn wenn kein Lock da ist, wuerde die Funktion darin
+ aufgerufen werden (mit me und "das Grauen am Morgen" als Argumente),
+ Deshalb besser so: ,,me "das Grauen am Morgen" ''set_title
diff --git a/obj/tools/teller/hilfe/callefun b/obj/tools/teller/hilfe/callefun
new file mode 100644
index 0000000..61fde2a
--- /dev/null
+++ b/obj/tools/teller/hilfe/callefun
@@ -0,0 +1,25 @@
+BEFEHL:
+ `funktion, ``funktion oder
+ -*funktion, --*funktion
+
+ARGUMENTE:
+ Alle Stackelemente bis zum letzten Lock.
+ funktion -- Name einer efun.
+
+FUNKTION:
+ Rufe die angegebene efun auf, und uebergebe alle Stackelemente
+ bis zum letzten Lock als Argumente. Entferne den Lock.
+ Wenn die efun mit doppelten Backquotes oder Minuszeichen ('``' oder
+ '--*') aufgerufen wurde, lege das Ergebnis auf den Stack. (Bei
+ einfachem '`' also nicht.)
+
+BEISPIEL:
+ ,me `environment
+ Enspricht:
+ environment( this_player() );
+
+WARNUNG:
+ Man sollte vorher nachschauen, ob nicht noch etwas auf dem Stack
+ liegt, denn wenn kein Lock da ist, werden zuaetzlich noch
+ ungewunschte Argumente mituebergeben.
+ Deshalb besser so: ,,me ``environment
diff --git a/obj/tools/teller/hilfe/callouts b/obj/tools/teller/hilfe/callouts
new file mode 100644
index 0000000..883042c
--- /dev/null
+++ b/obj/tools/teller/hilfe/callouts
@@ -0,0 +1,24 @@
+BEFEHL:
+ callouts
+ callouts!
+
+ARGUMENTE:
+ callouts: TOS String, nach dem gesucht wird.
+ callouts!: keine
+
+FUNKTION:
+ Gib eine Liste aller im Spiel laufenden call_outs aus. Ein call_out
+ wird in folgendem Format ausgegeben:
+ 1.) Zeit, bis zum Aufruf der Funktion.
+ 2.) Objekt, in dem die Funktion aufgerufen wird.
+ 3.) Name der Funktion.
+ 4.) Argument, das dem call_out uebergeben wird.
+
+ Wird der Befehl ohne Rufzeihen eingegeben, so werden nur die
+ Meldungen ausgegeben, die in den ersten drei (!) Argumenten
+ den angegebenen String enthalten.
+
+BEISPIEL:
+ ,"go" callouts
+ Gibt alle Monster aus, die mittels der Funktion "go" umherlaufen.
+ (Es gibt aber auch welche, die mittels "Walk" laufen. :-)
diff --git a/obj/tools/teller/hilfe/cleanof b/obj/tools/teller/hilfe/cleanof
new file mode 100644
index 0000000..6557cf1
--- /dev/null
+++ b/obj/tools/teller/hilfe/cleanof
@@ -0,0 +1,16 @@
+BEFEHL:
+ cleanof, clnof
+
+ARGUMENTE:
+ Die zwei obersten Stackelemente.
+
+FUNKTION:
+ Zerstoere alle Objekte in dem zweiten Objekt auf dem Stack,
+ die sich unter dem Namen, der in TOS steht, angesprochen fuehlen.
+ Die Objekte werden aber nur removed, das das der empfohlene Weg
+ ist, Objekte zu zerstoeren. Sollen die Objekte wirklich hart zerstoert
+ werden, so kann man ein Rufzeichen an den Befehl anhaengen.
+ (Also 'cleanof!'.)
+
+SIEHE AUCH:
+ "remove", "destruct"
diff --git a/obj/tools/teller/hilfe/clear b/obj/tools/teller/hilfe/clear
new file mode 100644
index 0000000..0acb5dc
--- /dev/null
+++ b/obj/tools/teller/hilfe/clear
@@ -0,0 +1,9 @@
+BEFEHL:
+ clear, clr
+
+ARGUMENTE:
+ STACK
+
+FUNKTION:
+ Loesche den ganzen Stack. Die Objekte auf dem Stack werden aber
+ nicht destructed.
diff --git a/obj/tools/teller/hilfe/clone b/obj/tools/teller/hilfe/clone
new file mode 100644
index 0000000..1c5620b
--- /dev/null
+++ b/obj/tools/teller/hilfe/clone
@@ -0,0 +1,7 @@
+BEFEHL:
+
+ARGUMENTE:
+
+FUNKTION:
+
+BEISPIELE:
diff --git a/obj/tools/teller/hilfe/destruct b/obj/tools/teller/hilfe/destruct
new file mode 100644
index 0000000..24ed234
--- /dev/null
+++ b/obj/tools/teller/hilfe/destruct
@@ -0,0 +1,14 @@
+BEFEHL:
+ destruct, dest, des
+
+ARGUMENTE:
+ TOS
+
+FUNKTION:
+ Zerstoere das Objekt auf dem TOS. In wirklichkeit wird aber nur remove
+ aufgerufen, das das die empfohlene Art derZerstoerung von Objekten
+ ist. Will man jedoch ein Objekt wirklich hart destructen, so
+ haenge man ein Rufzeichen ('!') an das Kommando (also 'destruct!').
+
+SIEHE AUCH:
+ "remove"
diff --git a/obj/tools/teller/hilfe/dump b/obj/tools/teller/hilfe/dump
new file mode 100644
index 0000000..07be46b
--- /dev/null
+++ b/obj/tools/teller/hilfe/dump
@@ -0,0 +1,16 @@
+BEFEHL:
+ dump
+
+ARGUMENTE:
+ keins oder
+ TOS -- filename
+
+FUNKTION:
+ Speichere alle selbstdefinierten Funktionen in der angegebenen
+ Datei ab. Ist der TOS kein String, so wird in der Datei
+ ~/.memory.o gespeichert.
+
+ Es koennen nur Funktionen abgespeichert oder geladen werden!
+
+SIEHE AUCH:
+ "funktionen", "restore", "memory"
diff --git a/obj/tools/teller/hilfe/dup b/obj/tools/teller/hilfe/dup
new file mode 100644
index 0000000..3702b75
--- /dev/null
+++ b/obj/tools/teller/hilfe/dup
@@ -0,0 +1,9 @@
+BEFEHL:
+ dup
+
+ARGUMENTE:
+ TOS
+
+FUNKTION:
+ Lege das Objekt, das oben auf dem Stack liegt, nocheinmal auf
+ den Stack, um es eventuell spaeter noch einmal wieder zu verwenden.
diff --git a/obj/tools/teller/hilfe/einleitung b/obj/tools/teller/hilfe/einleitung
new file mode 100644
index 0000000..0d19d03
--- /dev/null
+++ b/obj/tools/teller/hilfe/einleitung
@@ -0,0 +1,121 @@
+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.
diff --git a/obj/tools/teller/hilfe/evaluate b/obj/tools/teller/hilfe/evaluate
new file mode 100644
index 0000000..91f6e0a
--- /dev/null
+++ b/obj/tools/teller/hilfe/evaluate
@@ -0,0 +1,22 @@
+BEFEHL:
+ evaluate, eval
+
+ARGUMENTE:
+ TOS - Name einer Funktion als String.
+
+FUNKTION:
+ Der Name wird von Stack genommen.
+ Der unter Namen gespeicherte Wert wird ausgewertet. Fuer normale
+ Werte bedeutet das, dass sie auf den Stack gelegt werden. Funktionen
+ werden ausgewertet.
+
+BEISPIEL:
+ ,!Q !1 pl !0 ->QueryProp
+ ,rumata title Q
+ liefert direkt den Titel.
+ ,rumata title "Q" eval
+ tut das selbe, nur das "Q" als String
+ zwischendurch auf dem Stack liegt.
+
+SIEHE AUCH:
+ "funktionen"
diff --git a/obj/tools/teller/hilfe/funktionen b/obj/tools/teller/hilfe/funktionen
new file mode 100644
index 0000000..dee7d75
--- /dev/null
+++ b/obj/tools/teller/hilfe/funktionen
@@ -0,0 +1,25 @@
+BEFEHL:
+ !funktionsname text
+
+ARGUMENTE:
+ text -- der *ganze* Rest der Zeile
+
+FUNKTION:
+ Erzeuge aus text eine neue Funktion mit dem angegebenen Namen. Dieser
+ Name ist als neuer Befehl innerhalb der Teller benutzbar wie die
+ eingebauten Befehle.
+ Wird ein Befehl ausgefuehrt, bekommt er auf einem neuen Stack seine
+ Parameter uebergeben. Was am Ende des Funktionsaufrufes auf dem
+ Stack legt, wird dann auf den urspruenglichen abgelegt.
+
+BEISPIEL:
+ ,!Query !1 pl !0 -->QueryProp
+ Definiere die Funktion "Query", sie hat zwei Parameter (!0 und !1),
+ wobei !0 der TOS ist.
+ ,rumata title Query
+ Liefert dann den Titel von Rumata auf dem Stack zurueck, da
+ am Ende der Auswertung dieser auf dem Stack liegen wuerde.
+ ,!Demo !1 stk
+ ,1 2 3 4 Demo
+ Zeigt einen Stack auf dem das zweitoberste Element von dem
+ ursprungsstack liegt; in diesem Fall also 3.
diff --git a/obj/tools/teller/hilfe/general b/obj/tools/teller/hilfe/general
new file mode 100644
index 0000000..826d743
--- /dev/null
+++ b/obj/tools/teller/hilfe/general
@@ -0,0 +1,17 @@
+Das sind die Befehle, die die magischen Teller zur Zeit beherrschen:
+(Letzte Aenderung am 20.01.1995 an den mit % markierten Funktionen,
+die mit * sind neu! AB JETZT GIBT ES AUCH FUNKTIONEN! )
+
+array destruct here memory% rekinv split
+call dump* if* message remove stack
+callefun dup inv move restore* swap
+callouts einleitung living names rupdate todo
+cleanof evaluate* lock object say top
+clear FUNKTIONEN* lpc player scan update
+clone general me pop snoop vars
+
+Mit ",hilfe <Befehl>" kannst Du Informationen zu den Befehlen abfragen.
+Wenn Du garnix verstehst, dann versuche mal ",hilfe einleitung". :-)
+
+WICHTIG: Das Semikolon wird nicht mehr unterstuetzt, stattdessen
+ kann nur noch das Komma benutzt werden.
diff --git a/obj/tools/teller/hilfe/here b/obj/tools/teller/hilfe/here
new file mode 100644
index 0000000..d0ebdf6
--- /dev/null
+++ b/obj/tools/teller/hilfe/here
@@ -0,0 +1,8 @@
+BEFEHL:
+ here
+
+ARGUMENTE:
+ Keins
+
+FUNKTION:
+ Lege den Raum, in man sich befindet oben auf den Stack.
diff --git a/obj/tools/teller/hilfe/if b/obj/tools/teller/hilfe/if
new file mode 100644
index 0000000..6994717
--- /dev/null
+++ b/obj/tools/teller/hilfe/if
@@ -0,0 +1,22 @@
+BEFEHL:
+ if
+
+ARGUMENTE:
+ wenn sonst bedingung(TOS)
+
+FUNKTION:
+ Wenn der TOS Null ist, liefere das drittoberste Element vom Stack,
+ sonst das zweitoberste. Dieser Befehl ist insbesondere im Zusammen-
+ hang mit "evaluate" interessant.
+
+BEISPIEL:
+ ,"bla" "blubb" 0 if
+ Liefert "blubb"
+ ,"bla" "bluibb" 1 if
+ Liefert "bla"
+ ,"Q" "R" test if evaluate
+ Werte Q aus, wenn der Wert "test" nicht null ist.
+ Anderenfalls werte R aus.
+
+SIEHE AUCH:
+ "evaluate", "funktionen"
diff --git a/obj/tools/teller/hilfe/inv b/obj/tools/teller/hilfe/inv
new file mode 100644
index 0000000..e943800
--- /dev/null
+++ b/obj/tools/teller/hilfe/inv
@@ -0,0 +1,17 @@
+BEFEHL:
+ inv
+
+ARGUMENTE:
+ TOS
+
+FUNKTION:
+ Gebe alle Objekte an, die sich in dem Objekt TOS befinden.
+ Gib einen Fehler aus, wenn TOS kein Objekt ist.
+ TOS bleibt auf dem Stack, da dieser Befehl meistens dazu benutzt
+ wird, ein Objekt auf den Stack zu legen und dann bestimmte
+ Objekte in ihm zu suchen, und dann diese zu holen.
+
+BEISPIELE:
+ ,me inv
+ Dann sieht man .... ".2 /bla/bla/bla/objekt" und man kann dann
+ mittels ,.2 dieses Objekt holen.
diff --git a/obj/tools/teller/hilfe/living b/obj/tools/teller/hilfe/living
new file mode 100644
index 0000000..90606a7
--- /dev/null
+++ b/obj/tools/teller/hilfe/living
@@ -0,0 +1,17 @@
+BEFEHL:
+ living, lv
+
+ARGUMENTE:
+ TOS -- Name eines Monsters
+
+FUNKTION:
+ Hole einen Namen vom Stack und lege stattdessen das entsprechende
+ Monsterobjekt auf den Stack. Gebe eine Fehlermeldung aus, wenn kein
+ derartiges Monster vorhanden ist.
+
+BEISPIELE:
+ ,"ork" living
+ Sucht den erstbesten Ork.
+
+SIEHE AUCH:
+ "object", "player"
diff --git a/obj/tools/teller/hilfe/lock b/obj/tools/teller/hilfe/lock
new file mode 100644
index 0000000..f470db3
--- /dev/null
+++ b/obj/tools/teller/hilfe/lock
@@ -0,0 +1,26 @@
+BEFEHL:
+ ,
+
+ARGUMENTE:
+ Keine
+
+FUNKTION:
+ Lege einen 'Lock' auf dem Stack ab. Anhand eines Locks erkennen
+ Funktionen, die eine varibale Anzahl von Argumenten vom Stack
+ nehmen koennen, wieviele der Argumente fuer sie bestimmt sind.
+
+ Wichtig: Das Komma am Anfag jeder Eingabezeile ist KEIN Lock.
+
+BEISPIELE:
+ ,me, 1 2 3 array
+ Es werden nur die Zahlen 1 2 und 3 in das Array aufgenommen,
+ nicht der Spieler selbst. Auf dem Stack liegen nacher der
+ Spieler und das Array.
+ ,here, me "rumata" ->id
+ "id" wird im Spieler mit einem Argument ("rumata") aufgerufen.
+ ,here me "rumata" ->id
+ Hier wird die Funktion im Raum mit zwei Argumenten aufgerufen,
+ was hier natuerlich keinen Sinn macht.
+
+SIEHE AUCH:
+ "array", "split", "call", "callefun", "evaluate"
diff --git a/obj/tools/teller/hilfe/lpc b/obj/tools/teller/hilfe/lpc
new file mode 100644
index 0000000..bfa0e01
--- /dev/null
+++ b/obj/tools/teller/hilfe/lpc
@@ -0,0 +1,21 @@
+BEFEHL:
+ @ text
+ @@ text
+
+ARGUMENTE:
+ text -- der ganze(!) Rest der Eingabezeile.
+ Der Stack bis zum letzten Lock.
+
+FUNKTION:
+ Fuehre den LPC-Code <text> direkt aus. Dabei koennen die Argumente
+ vom Stack mit @<nummer>@ eingesetzt werden. Wichtig, wenn man ein
+ Ergebnis weiterberechnen will, muss man auch ein 'return' um
+ LPC-Code benutzt haben.
+
+ Bei der Ausfuehrung werden nicht alle Include-Dateien eingeladen.
+
+BEISPIEL:
+ ,me @ write( @0@->name(WER)+"\n" )
+ Gibt Deinen Namen aus.
+ ,me @@ return @0@->name(WER)
+ Gibt den Namen zurueck und legt ihn auf den Stack.
diff --git a/obj/tools/teller/hilfe/me b/obj/tools/teller/hilfe/me
new file mode 100644
index 0000000..8861f45
--- /dev/null
+++ b/obj/tools/teller/hilfe/me
@@ -0,0 +1,8 @@
+BEFEHL:
+ me
+
+ARGUMENTE:
+ Keine
+
+FUNKTION:
+ Lege den Eigentuemer (Dich!) oben auf den Stack.
diff --git a/obj/tools/teller/hilfe/memory b/obj/tools/teller/hilfe/memory
new file mode 100644
index 0000000..d012451
--- /dev/null
+++ b/obj/tools/teller/hilfe/memory
@@ -0,0 +1,15 @@
+BEFEHL:
+ memory, mem
+
+ARGUMENTE:
+ Keine
+
+FUNKTION:
+ Zeige den Inhalt aller Variablen an, die man angelegt hat.
+ Normalerweise wird der Inhalt in der Form Name = Inhalt angezeigt.
+ Ist unter dem Namen eine Funktion gespeichert, wird
+ Name > Inhalt
+ angezeigt, um Funktionen von Strings unterscheiden zu koennen.
+
+SIEHE AUCH:
+ "vars", "funktionen"
diff --git a/obj/tools/teller/hilfe/message b/obj/tools/teller/hilfe/message
new file mode 100644
index 0000000..656d94a
--- /dev/null
+++ b/obj/tools/teller/hilfe/message
@@ -0,0 +1,13 @@
+KOMMANDO:
+ message [to <spieler>]
+ msg [to <spieler>]
+
+FUNKTION:
+ Wenn man ganze Textbloecke sagen moechte, kann man das mit diesem
+ Befehl tun. Nach Eingabe von 'message' wird jede Eingabe direkt fuer
+ alle im Raum sichtbar oder fuer den angegebenen Spieler ausgegeben.
+ Mit '**' kann man wieder auf normale Eingabe zurueckschalten.
+
+ACHTUNG:
+ Dieser Befehl gehoert nicht zu denen, die mittels ',' eingeleitet
+ werden.
diff --git a/obj/tools/teller/hilfe/move b/obj/tools/teller/hilfe/move
new file mode 100644
index 0000000..b181c34
--- /dev/null
+++ b/obj/tools/teller/hilfe/move
@@ -0,0 +1,14 @@
+BEFEHL:
+ move, mv
+
+ARGUMENTE:
+ obj -- Objekt, das bewegt werden soll.
+ ziel(TOS) -- Raum, in den das Objekt soll
+
+FUNKTION:
+ Bewege das Objekt in den angegebenen Raum. Die meisten Sicherungen
+ werden bei diesem Verschiueben umgangen, also vorsicht!
+
+BEISPIELE:
+ ,me "~/workroom" ob mv
+ Man geht in den eigenen Workroom.
diff --git a/obj/tools/teller/hilfe/names b/obj/tools/teller/hilfe/names
new file mode 100644
index 0000000..4eebc3b
--- /dev/null
+++ b/obj/tools/teller/hilfe/names
@@ -0,0 +1,17 @@
+BEFEHL:
+ names, nam
+
+ARGUMENTE:
+ keine
+
+FUNKTION:
+ Normalerweise werden der Filename und der Name (QueryProp(P_NAME))
+ angezeigt, wenn man den Stack oder aehnliches betrachtet.
+ Mit diesem Befehl schaltet man den Namen aus oder an.
+
+ Durch Anschauen der Teller kann man feststellen, ob die Namen oder
+ nur die Filenamen angezeigt werden.
+
+SIEHE AUCH:
+ "inv", "stack", "move", "top", ...
+ Andere Schalter: "say", "inform"
diff --git a/obj/tools/teller/hilfe/object b/obj/tools/teller/hilfe/object
new file mode 100644
index 0000000..145b30a
--- /dev/null
+++ b/obj/tools/teller/hilfe/object
@@ -0,0 +1,22 @@
+BEFEHL:
+ object, ob
+
+ARGUMENTE:
+ TOS -- Name eines Objektes
+
+FUNKTION:
+ Hole einen Namen vom Stack und lege stattdessen das entsprechende
+ Objekt auf den Stack. Falls es kein geladenes Objekt dieses Namens,
+ wohl aber eine (nicht geladene) Blueprint, so wird diese geladen
+
+BEISPIELE:
+ ,"players/rumata/workroom" ob
+ Macht das selbe wie ',/players/rumata/workroom', da die Teller
+ Filenamen automatisch zu erkennen versuchen.
+ ,"~rumata/workroom" ob
+ geht auch.
+ ,"~/workroom" ob
+ liefert den eigenen Workroom.
+
+SIEHE AUCH:
+ "living", "player"
diff --git a/obj/tools/teller/hilfe/player b/obj/tools/teller/hilfe/player
new file mode 100644
index 0000000..e2caa16
--- /dev/null
+++ b/obj/tools/teller/hilfe/player
@@ -0,0 +1,21 @@
+BEFEHL:
+ player, pl
+
+ARGUMENTE:
+ TOS -- Name eines Spielers
+
+FUNKTION:
+ Hole einen Namen vom Stack und lege stattdessen das entsprechende
+ Spielerobjekt auf den Stack.
+
+ Am Ende des Spielernamens ist ein Stern ('*') als Wildcard erlaubt.
+ Die Namen nicht eingeloggter Spieler muessen in jedem Fall ausge-
+ schrieben werden.
+
+
+BEISPIELE:
+ ,"rumata" pl
+ Legt Rumata auf den Stack.
+
+SIEHE AUCH:
+ "living", "object"
diff --git a/obj/tools/teller/hilfe/pop b/obj/tools/teller/hilfe/pop
new file mode 100644
index 0000000..c30dc08
--- /dev/null
+++ b/obj/tools/teller/hilfe/pop
@@ -0,0 +1,8 @@
+BEFEHL:
+ pop
+
+ARGUMENTE:
+ TOS
+
+FUNKTION:
+ Nimm das oberste Element vom Stack.
diff --git a/obj/tools/teller/hilfe/rekinv b/obj/tools/teller/hilfe/rekinv
new file mode 100644
index 0000000..cb51bd2
--- /dev/null
+++ b/obj/tools/teller/hilfe/rekinv
@@ -0,0 +1,12 @@
+BEFEHL:
+ rekinv
+
+ARGUMENTE:
+ TOS
+
+FUNKTION:
+ Dieser Befehl mach das selbe wie "inv", zeigt aber rekursiv
+ auch den Inhalt der enthaltenen Objekte an.
+
+SIEHE AUCH:
+ "inv"
diff --git a/obj/tools/teller/hilfe/remove b/obj/tools/teller/hilfe/remove
new file mode 100644
index 0000000..dff2437
--- /dev/null
+++ b/obj/tools/teller/hilfe/remove
@@ -0,0 +1,16 @@
+BEFEHL:
+ remove, rem
+
+ARGUMENTE:
+ TOS
+
+FUNKTION:
+ Zerstoere das Objekt auf dem TOS. Gib dem Objekt die Gelegenheit,
+ Aufraeumarbeiten durchzufuehren.
+
+BEISPIELE:
+ ,me remove
+ Man loggt sich selber aus.
+
+SIEHE AUCH:
+ "destruct"
diff --git a/obj/tools/teller/hilfe/restore b/obj/tools/teller/hilfe/restore
new file mode 100644
index 0000000..ad20a35
--- /dev/null
+++ b/obj/tools/teller/hilfe/restore
@@ -0,0 +1,15 @@
+BEFEHL:
+ restore
+
+ARGUMENTE:
+ keins oder
+ TOS -- filename
+
+FUNKTION:
+ Lade die in der Datei gespeicherten Funktionen. Wird kein Filename
+ angegeben, so wird die Datei ~/.memory.o ausgelesen.
+
+ Es koennen nur Funktionen abgespeichert oder geladen werden!
+
+SIEHE AUCH:
+ "funktionen", "dump", "memory"
diff --git a/obj/tools/teller/hilfe/rupdate b/obj/tools/teller/hilfe/rupdate
new file mode 100644
index 0000000..85f033e
--- /dev/null
+++ b/obj/tools/teller/hilfe/rupdate
@@ -0,0 +1,25 @@
+BEFEHL:
+ roomupdate, rupdate, rupd, rup
+
+ARGUMENTE:
+ TOS
+
+FUNKTION:
+ Zerstoere den Raum und lade ihn neu, damit Aenderungen der Files
+ aktiv werden koennen. Sorge dafuer, dass die Objekte in dem alten Raum
+ in den neuen hinuebergerettet werden. (Diese Eigenschaft kann mittels
+ des Sternchens ('*') abgeschaltet werden.)
+
+ Gebe dem Raum jedoch Gelegenheit, Aufraeumarbeiten zu taetigen. Soll
+ der Raum wirklich hart zerstoert werden, so ist ein Rufzeichen an den
+ Befehl anzuhaengen. (also `rupdate!', ein Stern muss vor dem Rufzeichen
+ stehen, also `rupdate*!' und nicht `rupdate!*'.)
+ Wichtig: Raeume, die keine Blueprint sind, koennen nicht mit diesem
+ Befehl aktualisiert werden.
+
+BEISPIELE:
+ ,here rupdate
+ Aktualisiert den Raum, in dem der Magier sich befindet.
+
+SIEHE AUCH:
+ "update"
diff --git a/obj/tools/teller/hilfe/say b/obj/tools/teller/hilfe/say
new file mode 100644
index 0000000..cf23357
--- /dev/null
+++ b/obj/tools/teller/hilfe/say
@@ -0,0 +1,17 @@
+BEFEHL:
+ say
+
+ARGUMENTE:
+ keine
+
+FUNKTION:
+ Schalte die Meldung, die andere Spieler bekommen, wenn man
+ mit den Tellern arbeitet, aus oder an.
+
+ Ist man unsichtbar, gibt es in keinem Fall eine Meldung.
+
+ Durch Anschauen der Teller kann man feststellen, ob Mispieler
+ die Meldungen bekommen.
+
+SIEHE AUCH:
+ "names", "inform"
diff --git a/obj/tools/teller/hilfe/scan b/obj/tools/teller/hilfe/scan
new file mode 100644
index 0000000..7c251fd
--- /dev/null
+++ b/obj/tools/teller/hilfe/scan
@@ -0,0 +1,17 @@
+BEFEHL:
+ scan
+
+ARGUMENTE:
+ TOS
+
+FUNKTION:
+ Wenn der TOS ein Spieler oder ein Monster ist, so gib die
+ spielrelevanten Informationen zu ihm aus. Wenn der TOS ein
+ String ist, so wird der Spieler mit diesem Namen gesucht.
+
+BEISPIELE:
+ ,me scan
+ ,"jof" pl scan (oder kuerzer: ;"jof" scan)
+
+SIEHE AUCH:
+ "player"
diff --git a/obj/tools/teller/hilfe/snoop b/obj/tools/teller/hilfe/snoop
new file mode 100644
index 0000000..1be1300
--- /dev/null
+++ b/obj/tools/teller/hilfe/snoop
@@ -0,0 +1,11 @@
+BEFEHLE:
+ snoop
+
+ARGUMENTE:
+ keine
+
+FUNKTION:
+ Zeige laufende Snoopvorgaenge an.
+
+ Wenn der Snooper einen hoeheren Magierlevel als man selbst hat,
+ wird der Snoop nicht angezeigt.
diff --git a/obj/tools/teller/hilfe/split b/obj/tools/teller/hilfe/split
new file mode 100644
index 0000000..319025a
--- /dev/null
+++ b/obj/tools/teller/hilfe/split
@@ -0,0 +1,14 @@
+BEFEHL:
+ split, spl
+
+ARGUMENTE:
+ TOS
+
+FUNKTION:
+ Zerlege den Array, der auf dem Stack liegt und lege die
+ einzelnen Elemente (das Element mit Index 0 zuunterst)
+ auf dem Stack ab. Wenn der Stack vorher nicht leer war,
+ lege vorher ein Lock auf den Stack.
+
+SIEHE AUCH:
+ "array", "lock"
diff --git a/obj/tools/teller/hilfe/stack b/obj/tools/teller/hilfe/stack
new file mode 100644
index 0000000..c8f182e
--- /dev/null
+++ b/obj/tools/teller/hilfe/stack
@@ -0,0 +1,18 @@
+BEFEHL:
+ stack, stk
+
+ARGUMENTE:
+ STACK
+
+FUNKTION:
+ Zeige alle Dinge an, die auf dem Stack liegen.
+
+BEISPIEL:
+ ,me here; 1 2 array stk
+ Ergibt (zum Beispiel):
+ 0: ({
+ 1
+ 2
+ })
+ 1: /room/gilde (ein Raum)
+ 2: /std/shells/magier#7691 (Atamur)
diff --git a/obj/tools/teller/hilfe/swap b/obj/tools/teller/hilfe/swap
new file mode 100644
index 0000000..befafe3
--- /dev/null
+++ b/obj/tools/teller/hilfe/swap
@@ -0,0 +1,8 @@
+BEFEHL:
+ swap
+
+ARGUMENTE:
+ Die obersten 2 Stackelemente.
+
+FUNKTION:
+ Vertausche die beiden obersten Elemente vom Stack.
diff --git a/obj/tools/teller/hilfe/todo b/obj/tools/teller/hilfe/todo
new file mode 100644
index 0000000..662cefb
--- /dev/null
+++ b/obj/tools/teller/hilfe/todo
@@ -0,0 +1,14 @@
+Was noch kommen soll:
+
+ Doku verbessern, da eine Stackmachine nicht jedermanns Sache ist.
+ (schon ",hilfe einleitung" gemacht?)
+
+ Alles, was nicht player ist, aus dem Raum herausraeumen.
+ <cleanup> ?
+
+Was NICHT kommen soll:
+
+ Alarm, wenn man angeschaut wird. (Wozu auch? :-)
+
+Weitere Ideen werden von Rumata gerne entgegengenommen.
+Aber bitte nicht dauernd anlabern, sondern als mail :-)
diff --git a/obj/tools/teller/hilfe/top b/obj/tools/teller/hilfe/top
new file mode 100644
index 0000000..2b07fa9
--- /dev/null
+++ b/obj/tools/teller/hilfe/top
@@ -0,0 +1,23 @@
+BEFEHL:
+ top
+
+ARGUMENTE:
+ TOS
+
+FUNKTION:
+ Zeigt das Objekt an, das auf dem Stack zuoberst liegt (=TOS).
+
+BEISPIELE:
+ ;me top
+ Zeige das Objekt, das man selbst ist, an.
+
+ ;here top
+ Zeige den Raum, in dem man sich befindet.
+
+ ;; 1 2 3 array top (Das zweite ';' ist wichtig)
+ Ergibt:
+ TOS= ({
+ 1
+ 2
+ 3
+ })
diff --git a/obj/tools/teller/hilfe/update b/obj/tools/teller/hilfe/update
new file mode 100644
index 0000000..bd35aad
--- /dev/null
+++ b/obj/tools/teller/hilfe/update
@@ -0,0 +1,22 @@
+BEFEHL:
+ update, upd
+
+ARGUMENTE:
+ TOS
+
+FUNKTION:
+ Zerstoere die Blueprint des Objektes, das auf dem Stack liegt, damit
+ Aenderungen der Files aktiv werden koennen. Gebe der Blueprint
+ jedoch Gelegenheit, Aufraeumarbeiten zu taetigen. Soll die Blueprint
+ wirklich hart zerstoert werden, so ist ein Rufzeichen an den Befehl
+ anzuhaengen. (also `update!')
+ Wichtig: Das geclonte Objekt, ueber das die Blueprint zerstoert wird,
+ bleibt erhalten, ebenso wie alle anderen geclonten Objekte.
+
+BEISPIELE:
+ ,me .teddy update
+ Zerstoert die Blueprint vom Teddy, den man hat. (Das ist natuerlich nur
+ fuer Magier sinnvoll, die das File editieren konnten.)
+
+SIEHE AUCH:
+ "roomupdate"
diff --git a/obj/tools/teller/hilfe/vars b/obj/tools/teller/hilfe/vars
new file mode 100644
index 0000000..1c6deab
--- /dev/null
+++ b/obj/tools/teller/hilfe/vars
@@ -0,0 +1,23 @@
+BEFEHLE:
+ <varname, >varname
+
+ARGUMENTE:
+ TOS
+ varname -- String
+
+FUNKTION:
+ >varname
+ Speichere das oberste Element des Stacks in der Variable
+ "varname" ab.
+ <varname
+ Kopiere den Inhalt der Variable "varname" auf den Stack.
+ Wenn der Inhalt der Variable eine Funktion ist, wo wird
+ diese in Stringform auf den Stack gelegt und nicht aus-
+ gewertet.
+
+ Es koennen ausser Objekten auch Arrays, Strings und Integers
+ in Variablen gespeichert werden. Wird eine 0 in einer Variable
+ gespeichert, so wird die Variable wieder geloescht.
+
+SIEHE AUCH:
+ "memory"