blob: 28e23fea2c33432ee1f8af074147181003eabc93 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001ALLGEMEINES:
2 Die Lupe benutzt einen Stapel (Stack), um Objekte zu bearbeiten.
3 Einige Befehle schieben Objekte auf den Stapel, andere wiederum
4 holen sie wieder vom Stapel herunter und benutzen sie fuer die
5 verschiedensten Zwecke.
6 Man kann in einer Zeile mehrere Kommandos gleichzeitig angeben
7 (durch Leerzeichen getrennt).
8 Eine Zeile wird immer von links nach rechts abgearbeitet.
9
10SCHREIBWEISEN:
11 <arg> - Eine Reihe von Zeichen, die weder Leerzeichen noch Punkte
12 (.) enthaelt. Falls doch Leerzeichen oder Punkte in <arg>
13 auftauchen, muss man die Zeichenkette zwischen "...",
14 '...' oder |...| einschliessen.
15 <nr> - Eine (positive oder negative) ganze Zahl.
16 <filename> - Ein Dateiname. Fuer ihn gilt das Gleiche wie fuer <arg>:
17 Wenn er Punkte enthaelt, muss man ihn zwischen "...",
18 '...' oder |...| einschliessen.
19 Es sind alle Variationen moeglich, die man auch aus der
20 Magiershell kennt: absolute Dateinamen (beginnen mit "/"),
21 Dateinamen relativ zum eigenen Homeverzeichnis ("~/")
22 oder zum Homeverzeichnis eines anderen Magiers ("~name/"),
23 Dateinamen in einer Region ("+region/") und Dateinamen
24 relativ zum aktuellen Verzeichnis (alles andere ;).
25 <func> - Name einer LPC-Funktion.
26 TOS - Das Objekt ganz oben auf dem Stapel (Top Of Stack).
27
28DER STAPEL:
29 Bei dem Stapel handelt es sich um einen LIFO-Stapel (Last In - First
30 Out), d.h. das Objekt, das zuletzt auf den Stapel geschoben wurde,
31 wird als erstes bearbeitet.
32 Bei der Bearbeitung wird der TOS in der Regel vom Stapel entfernt
33 (Ausnahmen: =, stk und #), der Stapel wird also im Laufe der Zeit
34 wieder kleiner.
35 Der Stapel kann maximal zehn Elemente aufnehmen. Dieses Limit wird
36 man bei "normalem Betrieb" allerdings selten erreichen.
37 Sollte es trotzdem einmal eng werden, stehen einem noch zehn
38 Variablen zur Verfuegung, in denen man zusaetzlich Objekte (vom
39 Stapel) ablegen kann.
40
41BEFEHLE:
42 Es gibt drei unterschiedliche Befehlsgruppen:
43 a) Befehle, die ein Objekt auf den Stapel schieben;
44 b) Befehle, die mit Objekten auf dem Stapel arbeiten;
45 c) Befehle, die ohne den Stapel auskommen.
46 Einige Befehle setzen voraus, das der TOS ein Lebewesen oder gar ein
47 Spielerobjekt ist; andere Befehle sind erst ab einem bestimmten
48 Magierlevel zugaenglich. Dies ist bei den entsprechenden Befehlen
49 jeweils vermerkt.
50
51 Diese Befehle schieben ein neues Objekt auf den Stapel:
52 creat <filename> Macht das Gleiche wie 'new', das Objekt wird aller-
53 dings nicht in Dein Inventory gesteckt.
54 here Das Objekt, in dem man gerade steht, auf den Stapel
55 schieben.
56 lv <arg> Schiebt das Lebewesen mit dem living_name <arg> auf
57 den Stapel. ACHTUNG! Das muss dann nicht unbedingt
58 das Lebewesen sein, das man dort eigentlich haben
59 will! Es wird einfach das erste Objekt genommen,
60 dessen living_name passt! Wenn man etwas mit einem
61 NPC vorhat, der im gleichen Raum steht, spricht man
62 ihn besser mit here.name an.
63 me Sich selbst auf den Stapel schieben.
64 new <filename> Cloned das mit <filename> angegebene Objekt und
65 schiebt es auf den Stapel. Anschliessend befindet es
66 sich in Deinem Inventory.
67 ob <filename> Laedt das Objekt, das mit <filename> angegeben ist,
68 und schiebt es auf den Stapel.
69 pl <arg> Schiebt das Spielerobjekt mit dem Namen <arg> auf den
70 Stapel.
71 Es werden auch netztote Spieler berucksichtigt.
72 push <filename> Schiebt das Objekt, das mit <filename> angegeben ist,
73 auf den Stapel.
74 <filename> Macht das gleiche wie 'ob', falls <filename> mit "/"
75 oder "~" beginnt.
76
77 Die naechsten Befehle schalten Optionen der Lupe an/aus/um:
78 desc Die zusaetzliche Angabe der Kurzbeschreibung des
79 aktuellen Objektes wird unterdrueckt.
80 rec Schaltet in den "rekursiv"-Modus um. Dieser Modus
81 wird von folgenden Befehlen genutzt:
82 'inv', 'cln' und 'clnof'
83 Nach Ausfuehrung eines dieser Befehle wird der
84 "rekursiv"-Modus automatisch wieder abgestellt.
85 norec Stellt den "rekursiv"-Modus "von Hand" ab.
86
87 Diese Befehle schieben ebenfalls ein neues Objekt auf den Stapel. Sie
88 arbeiten dabei allerdings relativ zum TOS. Man muss also schon mindestens
89 ein Objekt auf den Stapel geschoben haben. Der alte TOS wird dabei in der
90 Regel entfernt.
91 .<nr> Schiebt das <nr>te Objekt im Inventory des TOS auf den
92 Stapel.
93 .<arg> Schiebt das Objekt mit der ID <arg> im Inventory des
94 TOS auf den Stapel.
95 <<nr> Schiebt die Variable <nr> auf den Stapel. Als <nr>
96 sind Werte zwischen 0 und 9 moeglich.
97 @<nr> Schiebt das <nr>te Objekt von oben noch einmal auf den
98 Stapel. Der alte TOS hat die Nummer 0. Weder der alte
99 TOS noch das verschobene Objekt werden vom Stapel ent-
100 fernt.
101 @1 ist analog zu 'over'.
102 copy Legt eine Kopie des TOS an (inkl. aller Propertywerte)
103 und schiebt diese Kopie auf den Stapel. Die Kopie
104 befindet sich danach in Deinem Inventory.
105 dup Schiebt den TOS doppelt auf den Stapel.
106 env Schiebt das Objekt, in dem sich der TOS befindet, auf
107 den Stapel.
108 over Schiebt das Objekt, das sich unter dem TOS befindet,
109 nochmal auf den Stapel. Dabei werden weder der alte
110 TOS noch das Objekt unter ihm entfernt.
111 result Wenn in einem Objekt eine Funktion aufgerufen wurde,
112 und diese Funktion wieder ein Objekt zurueckgegeben
113 hat, so wird dieses Objekt auf den Stapel geschoben.
114 swap Tauscht TOS und das darunter liegende Element gegen-
115 einander aus.
116
117 Die naechsten Befehle arbeiten mit den auf dem Stapel liegenden Objekten.
118 Dabei werden die bearbeiteten Objekte in der Regel vom Stapel entfernt.
119 ><nr> Speichert den TOS in der Variablen <nr>. Als <nr>
120 sind Werte zwischen 0 und 9 moeglich.
121 = Zeigt den TOS. Dieser bleibt dabei unveraendert.
122 # Der Stack bleibt ueber das naechste Kommando hinaus
123 erhalten.
124 inv Zeigt das Inventory des TOS. Der TOS bleibt dabei
125 unveraendert.
126 cln Entfernt alle Objekte aus dem Inventory des TOS. Es
127 werden allerdings keine Spieler entfernt.
128 clnof <arg> Entfernt alle Objekte, die auf die ID <arg> anspre-
129 chen, aus dem Inventar des TOS.
130 clr Loescht den gesamten Stack.
131 Dest Der TOS wird zerstoert. Das geht allerdings NICHT,
132 wenn der TOS ein Spielerobjekt oder die Lupe selbst
133 ist.
134 dest Wie Dest, allerdings wird zuerst TOS->remove() auf-
135 gerufen, um dem TOS die Moeglichkeit zu geben, noch
136 hinter sich aufzuraeumen.
137 dinfo Gibt einige GameDriver-interne Informationen wie zB.
138 die Zeit des naechsten reset()-Aufrufs oder die an-
139 gesammelte evalcost des TOS aus.
140 disco Unterbricht die Verbindug des TOS (muss ein aktiver
141 Spieler sein) zum MG (disconnect).
142 hl Zeigt die Historyliste des TOS an (hierbei muss es
143 sich um einen Spieler handeln).
144 Dieser Befehl steht ab ELDER_LVL (50) zur Verfuegung.
145 !!!Fuer die Benutzung gilt das Gleiche wie fuer das
146 Snoopen!!!
147 idle Gibt an, wie lange der TOS schon idlet. (Der TOS
148 sollte dabei natuerlich ein Spieler sein).
149 info Gibt einige Informationen ueber den TOS aus.
150 inherit_list Gibt den Vererbungsbaum des TOS aus (allerdings nicht
151 sehr baumfoermig ;)
152 inv Zeigt das Inventory des TOS an.
153
154 make Fuehrt ein Update des TOS durch. Geht nicht bei
155 Spielern! Dafuer gibt es renew.
156 minfo Gibt einige Informationen ueber den Speicherverbrauch
157 des TOS aus.
158 move, mov, mo Das Objekt, das unter dem TOS steht, wird in den TOS
159 gemoved. Beide Objekte werden dabei vom Stapel ent-
160 fernt.
161 _move, _mov, _mo, _mv
162 Das Objekt, das unter dem TOS steht, wird in den TOS
163 gemoved, ohne dass dort init() aufgerufen wird. Beide
164 Objekte werden dabei vom Stapel entfernt.
165 Dieser Befehl steht ab ARCH_LVL (60) zur Verfuegung.
166 pop Entfernt den TOS.
167 renew Aehnlich wie 'make', der TOS muss allerdings ein
168 Spieler sein. ACHTUNG! Man sollte nicht "einfach so"
169 Spieler 'renew'en, sondern nur dann, wenn es wirklich
170 gerechtfertigt ist!
171 scan, sc Kombiniert 'stat' und finger. Der TOS muss ein Lebe-
172 wesen sein.
173 stat Gibt Informationen ueber Zustand, Ausruestung, ge-
174 loeste Quests etc. des TOS aus. Der TOS muss dabei
175 ein Lebewesen sein.
176 stk Zeigt den gesamten Stack. Dieser bleibt dabei unver-
177 aendert.
178 [<func>] Ruft im TOS die Funktion <func> ohne Parameter auf.
179 Falls diese Funktion ein Objekt zurueckgibt, kann man
180 dieses anschliessend mit result auf den Stapel
181 schieben.
182 [<func> <arg1> ... <argn>]
183 Ruft im TOS die Funktion <func> mit den Parametern
184 <arg1> bis <argn> auf. Die Parameter sind mit Leer-
185 zeichen zu trennen. Enthalten die Parameter selbst
186 Leerzeichen, so sind sie in "...", '...' oder |...|
187 einzuschliessen.
188 Mittels @<nr> kann man auch Objekte, die sich auf dem
189 Stapel befinden, als Argumente angeben.
190
191 Die folgenden Befehle kommen ohne Objekte auf dem Stack aus:
192 call_out Gibt eine Liste aller Objekte mit einem laufenden
193 call_out aus.
194 dump Schreibt die Listen aller Objekte mit aktivem
195 heart_beat und aller Objekte mit laufendem call_out
196 in die Datai LISTS.LUPE in Dein Homeverzeichnis.
197 dumphists Schreibt die Befehlshistory aller momentan einge-
198 loggten Spieler nach /log/ARCH/HD.
199 Dieser Befehl steht erst ab ARCH_LVL (60) zur
200 Verfuegung.
201 heart_beat Gibt eine Liste aller Objekte mit aktivem heart_beat
202 aus.
203 rusage Zeigt einige Infos ueber den Ressourcenge-/-verbrauch
204 des Muds an.
205 swho Zeigt (so gut wie) alle aktiven Snoops.
206 vars Zeigt die belegten Variablen an.
207
208----------------------------------------------------------------------------
209Last modified: Wed Jun 26 14:49:02 1996 by Wargon