MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | ALLGEMEINES: |
| 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 | |
| 10 | SCHREIBWEISEN: |
| 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 | |
| 28 | DER 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 | |
| 41 | BEFEHLE: |
| 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 | ---------------------------------------------------------------------------- |
| 209 | Last modified: Wed Jun 26 14:49:02 1996 by Wargon |