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"