| 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: |
| <arg> - Eine Reihe von Zeichen, die weder Leerzeichen noch Punkte |
| (.) enthaelt. Falls doch Leerzeichen oder Punkte in <arg> |
| auftauchen, muss man die Zeichenkette zwischen "...", |
| '...' oder |...| einschliessen. |
| <nr> - Eine (positive oder negative) ganze Zahl. |
| <filename> - Ein Dateiname. Fuer ihn gilt das Gleiche wie fuer <arg>: |
| 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 ;). |
| <func> - 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 <filename> 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 <arg> Schiebt das Lebewesen mit dem living_name <arg> 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 <filename> Cloned das mit <filename> angegebene Objekt und |
| schiebt es auf den Stapel. Anschliessend befindet es |
| sich in Deinem Inventory. |
| ob <filename> Laedt das Objekt, das mit <filename> angegeben ist, |
| und schiebt es auf den Stapel. |
| pl <arg> Schiebt das Spielerobjekt mit dem Namen <arg> auf den |
| Stapel. |
| Es werden auch netztote Spieler berucksichtigt. |
| push <filename> Schiebt das Objekt, das mit <filename> angegeben ist, |
| auf den Stapel. |
| <filename> Macht das gleiche wie 'ob', falls <filename> 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. |
| .<nr> Schiebt das <nr>te Objekt im Inventory des TOS auf den |
| Stapel. |
| .<arg> Schiebt das Objekt mit der ID <arg> im Inventory des |
| TOS auf den Stapel. |
| <<nr> Schiebt die Variable <nr> auf den Stapel. Als <nr> |
| sind Werte zwischen 0 und 9 moeglich. |
| @<nr> Schiebt das <nr>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. |
| ><nr> Speichert den TOS in der Variablen <nr>. Als <nr> |
| 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 <arg> Entfernt alle Objekte, die auf die ID <arg> 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. |
| [<func>] Ruft im TOS die Funktion <func> ohne Parameter auf. |
| Falls diese Funktion ein Objekt zurueckgibt, kann man |
| dieses anschliessend mit result auf den Stapel |
| schieben. |
| [<func> <arg1> ... <argn>] |
| Ruft im TOS die Funktion <func> mit den Parametern |
| <arg1> bis <argn> auf. Die Parameter sind mit Leer- |
| zeichen zu trennen. Enthalten die Parameter selbst |
| Leerzeichen, so sind sie in "...", '...' oder |...| |
| einzuschliessen. |
| Mittels @<nr> 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 |