Start Info Community Spielen
 
 

Morgengrauner Dokumentation

Dateipfad: /home/mud/mudlib/doc//wiz/lupe

ALLGEMEINES:
	Die Lupe benutzt einen Stapel (Stack), um Objekte zu bearbeiten.
	Einige Befehle schieben Objekte auf den Stapel, andere wiederum
	holen sie wieder vom Stapel herunter und benutzen sie fuer die
	verschiedensten Zwecke.
	Man kann in einer Zeile mehrere Kommandos gleichzeitig angeben
	(durch Leerzeichen getrennt).
	Eine Zeile wird immer von links nach rechts abgearbeitet.

SCHREIBWEISEN:
		- Eine Reihe von Zeichen, die weder Leerzeichen noch Punkte
		  (.) enthaelt. Falls doch Leerzeichen oder Punkte in 
		  auftauchen, muss man die Zeichenkette zwischen "...",
		  '...' oder |...| einschliessen.
		- Eine (positive oder negative) ganze Zahl.
	 - Ein Dateiname. Fuer ihn gilt das Gleiche wie fuer :
		  Wenn er Punkte enthaelt, muss man ihn zwischen "...",
		  '...' oder |...| einschliessen.
		  Es sind alle Variationen moeglich, die man auch aus der
		  Magiershell kennt: absolute Dateinamen (beginnen mit "/"),
		  Dateinamen relativ zum eigenen Homeverzeichnis ("~/")
		  oder zum Homeverzeichnis eines anderen Magiers ("~name/"),
		  Dateinamen in einer Region ("+region/") und Dateinamen
		  relativ zum aktuellen Verzeichnis (alles andere ;).
		- Name einer LPC-Funktion.
	TOS	- Das Objekt ganz oben auf dem Stapel (Top Of Stack).

DER STAPEL:
	Bei dem Stapel handelt es sich um einen LIFO-Stapel (Last In - First
	Out), d.h. das Objekt, das zuletzt auf den Stapel geschoben wurde,
	wird als erstes bearbeitet.
	Bei der Bearbeitung wird der TOS in der Regel vom Stapel entfernt
	(Ausnahmen: =, stk und #), der Stapel wird also im Laufe der Zeit
	wieder kleiner.
	Der Stapel kann maximal zehn Elemente aufnehmen. Dieses Limit wird
	man bei "normalem Betrieb" allerdings selten erreichen.
	Sollte es trotzdem einmal eng werden, stehen einem noch zehn
	Variablen zur Verfuegung, in denen man zusaetzlich Objekte (vom
	Stapel) ablegen kann.

BEFEHLE:
	Es gibt drei unterschiedliche Befehlsgruppen:
	a) Befehle, die ein Objekt auf den Stapel schieben;
	b) Befehle, die mit Objekten auf dem Stapel arbeiten;
	c) Befehle, die ohne den Stapel auskommen.
	Einige Befehle setzen voraus, das der TOS ein Lebewesen oder gar ein
	Spielerobjekt ist; andere Befehle sind erst ab einem bestimmten
	Magierlevel zugaenglich. Dies ist bei den entsprechenden Befehlen
	jeweils vermerkt.

    Diese Befehle schieben ein neues Objekt auf den Stapel:
	creat  Macht das Gleiche wie 'new', das Objekt wird aller-
			dings nicht in Dein Inventory gesteckt.
	here		Das Objekt, in dem man gerade steht, auf den Stapel
			schieben.
	lv 	Schiebt das Lebewesen mit dem living_name  auf
			den Stapel. ACHTUNG! Das muss dann nicht unbedingt
			das Lebewesen sein, das man dort eigentlich haben
			will! Es wird einfach das erste Objekt genommen,
			dessen living_name passt! Wenn man etwas mit einem
			NPC vorhat, der im gleichen Raum steht, spricht man
			ihn besser mit here.name an.
	me		Sich selbst auf den Stapel schieben.
	new 	Cloned das mit  angegebene Objekt und
			schiebt es auf den Stapel. Anschliessend befindet es
			sich in Deinem Inventory.
	ob 	Laedt das Objekt, das mit  angegeben ist,
			und schiebt es auf den Stapel.
	pl 	Schiebt das Spielerobjekt mit dem Namen  auf den
			Stapel.
			Es werden auch netztote Spieler berucksichtigt.
	push  Schiebt das Objekt, das mit  angegeben ist,
			auf den Stapel.
		Macht das gleiche wie 'ob', falls  mit "/"
			oder "~" beginnt.

    Die naechsten Befehle schalten Optionen der Lupe an/aus/um:
	desc		Die zusaetzliche Angabe der Kurzbeschreibung des
			aktuellen Objektes wird unterdrueckt.
	rec		Schaltet in den "rekursiv"-Modus um. Dieser Modus
			wird von folgenden Befehlen genutzt:
			'inv', 'cln' und 'clnof'
			Nach Ausfuehrung eines dieser Befehle wird der
			"rekursiv"-Modus automatisch wieder abgestellt.
	norec		Stellt den "rekursiv"-Modus "von Hand" ab.

    Diese Befehle schieben ebenfalls ein neues Objekt auf den Stapel. Sie
    arbeiten dabei allerdings relativ zum TOS. Man muss also schon mindestens
    ein Objekt auf den Stapel geschoben haben. Der alte TOS wird dabei in der
    Regel entfernt.
	.		Schiebt das te Objekt im Inventory des TOS auf den
			Stapel.
	.		Schiebt das Objekt mit der ID  im Inventory des
			TOS auf den Stapel.
	<		Schiebt die Variable  auf den Stapel. Als 
			sind Werte zwischen 0 und 9 moeglich.
	@		Schiebt das te Objekt von oben noch einmal auf den
			Stapel. Der alte TOS hat die Nummer 0. Weder der alte
			TOS noch das verschobene Objekt werden vom Stapel ent-
			fernt.
			@1 ist analog zu 'over'.
	copy		Legt eine Kopie des TOS an (inkl. aller Propertywerte)
			und schiebt diese Kopie auf den Stapel. Die Kopie
			befindet sich danach in Deinem Inventory.
	dup		Schiebt den TOS doppelt auf den Stapel.
	env		Schiebt das Objekt, in dem sich der TOS befindet, auf
			den Stapel.
	over		Schiebt das Objekt, das sich unter dem TOS befindet,
			nochmal auf den Stapel. Dabei werden weder der alte
			TOS noch das Objekt unter ihm entfernt.
	result		Wenn in einem Objekt eine Funktion aufgerufen wurde,
			und diese Funktion wieder ein Objekt zurueckgegeben
			hat, so wird dieses Objekt auf den Stapel geschoben.
	swap		Tauscht TOS und das darunter liegende Element gegen-
			einander aus.

    Die naechsten Befehle arbeiten mit den auf dem Stapel liegenden Objekten.
    Dabei werden die bearbeiteten Objekte in der Regel vom Stapel entfernt.
	>		Speichert den TOS in der Variablen . Als 
			sind Werte zwischen 0 und 9 moeglich.
	=		Zeigt den TOS. Dieser bleibt dabei unveraendert.
	#		Der Stack bleibt ueber das naechste Kommando hinaus
			erhalten.
	inv		Zeigt das Inventory des TOS. Der TOS bleibt dabei
			unveraendert.
	cln		Entfernt alle Objekte aus dem Inventory des TOS. Es
			werden allerdings keine Spieler entfernt.
	clnof 	Entfernt alle Objekte, die auf die ID  anspre-
			chen, aus dem Inventar des TOS.
	clr		Loescht den gesamten Stack.
	Dest		Der TOS wird zerstoert. Das geht allerdings NICHT,
			wenn der TOS ein Spielerobjekt oder die Lupe selbst
			ist.
	dest		Wie Dest, allerdings wird zuerst TOS->remove() auf-
			gerufen, um dem TOS die Moeglichkeit zu geben, noch
			hinter sich aufzuraeumen.
	dinfo		Gibt einige GameDriver-interne Informationen wie zB.
			die Zeit des naechsten reset()-Aufrufs oder die an-
			gesammelte evalcost des TOS aus.
	disco		Unterbricht die Verbindug des TOS (muss ein aktiver
			Spieler sein) zum MG (disconnect).
	hl		Zeigt die Historyliste des TOS an (hierbei muss es
			sich um einen Spieler handeln).
			Dieser Befehl steht ab ELDER_LVL (50) zur Verfuegung.
			!!!Fuer die Benutzung gilt das Gleiche wie fuer das
			Snoopen!!!
	idle		Gibt an, wie lange der TOS schon idlet. (Der TOS
			sollte dabei natuerlich ein Spieler sein).
	info		Gibt einige Informationen ueber den TOS aus.
	inherit_list	Gibt den Vererbungsbaum des TOS aus (allerdings nicht
			sehr baumfoermig ;)
	inv		Zeigt das Inventory des TOS an.

	make		Fuehrt ein Update des TOS durch. Geht nicht bei
			Spielern! Dafuer gibt es renew.
	minfo		Gibt einige Informationen ueber den Speicherverbrauch
			des TOS aus.
	move, mov, mo	Das Objekt, das unter dem TOS steht, wird in den TOS
			gemoved. Beide Objekte werden dabei vom Stapel ent-
			fernt.
	_move, _mov, _mo, _mv
			Das Objekt, das unter dem TOS steht, wird in den TOS
			gemoved, ohne dass dort init() aufgerufen wird. Beide
			Objekte werden dabei vom Stapel entfernt.
			Dieser Befehl steht ab ARCH_LVL (60) zur Verfuegung.
	pop		Entfernt den TOS.
	renew		Aehnlich wie 'make', der TOS muss allerdings ein
			Spieler sein. ACHTUNG! Man sollte nicht "einfach so"
			Spieler 'renew'en, sondern nur dann, wenn es wirklich
			gerechtfertigt ist!
	scan, sc	Kombiniert 'stat' und finger. Der TOS muss ein Lebe-
			wesen sein.
	stat		Gibt Informationen ueber Zustand, Ausruestung, ge-
			loeste Quests etc. des TOS aus. Der TOS muss dabei
			ein Lebewesen sein.
	stk		Zeigt den gesamten Stack. Dieser bleibt dabei unver-
			aendert.
	[]	Ruft im TOS die Funktion  ohne Parameter auf.
			Falls diese Funktion ein Objekt zurueckgibt, kann man
			dieses anschliessend mit result auf den Stapel
			schieben.
	[  ... ]
			Ruft im TOS die Funktion  mit den Parametern
			 bis  auf. Die Parameter sind mit Leer-
			zeichen zu trennen. Enthalten die Parameter selbst
			Leerzeichen, so sind sie in "...", '...' oder |...|
			einzuschliessen.
			Mittels @ kann man auch Objekte, die sich auf dem
			Stapel befinden, als Argumente angeben.

    Die folgenden Befehle kommen ohne Objekte auf dem Stack aus:
	call_out	Gibt eine Liste aller Objekte mit einem laufenden
			call_out aus.
	dump		Schreibt die Listen aller Objekte mit aktivem
			heart_beat und aller Objekte mit laufendem call_out
			in die Datai LISTS.LUPE in Dein Homeverzeichnis.
	dumphists	Schreibt die Befehlshistory aller momentan einge-
			loggten Spieler nach /log/ARCH/HD.
			Dieser Befehl steht erst ab ARCH_LVL (60) zur
			Verfuegung.
	heart_beat	Gibt eine Liste aller Objekte mit aktivem heart_beat
			aus.
	rusage		Zeigt einige Infos ueber den Ressourcenge-/-verbrauch
			des Muds an.
	swho		Zeigt (so gut wie) alle aktiven Snoops.
	vars		Zeigt die belegten Variablen an.

----------------------------------------------------------------------------
Last modified: Wed Jun 26 14:49:02 1996 by Wargon


zurück zur Übersicht

YOUTUBE | FACEBOOK | TWITTER | DISCORD | FEEDBACK | IMPRESSUM | DATENSCHUTZ 1992–2023 © MorgenGrauen.