Morgengrauner Dokumentation
Dateipfad: /home/mud/mudlib/doc//wiz/benennungAUTOR MG, den 22.08.92, Don Rumata
This file is part of the Morgengrauen-Mudlib from Jof and Rumata
VERSION 1.1
AKTUALISIERT: MG, den 14.10.93, Chris
UEBERARBEITET: am 24.08.94 von Viper
THEMA BENENNUNG VON OBJEKTEN IM MorgenGrauen
INHALT:
I. Einleitung
II. Funktionen, die alle Objekte besitzen muessen
III. Unterstuetzung der Funktionen durch die MG_mudlib
IV. Benennung von Raeumen
V. Benennung von Monstern
I. EINLEITUNG
Jedes Objekt in der Mudlib muss auf folgende Weisen identifiziert
werden koennen:
1.) Es muss einen Namen haben, der innerhalb eines Satzes das
Objekt bezeichnen kann.
2.) Es muss eine Kurzbeschreibung besitzen.
3.) Es muss eine ausfuehrliche Beschreibung besitzen.
4.) Es muss eine Menge von Synonymen kennen, mit denen ein
Spieler das Objekt "ansprechen" kann.
II. FUNKTIONEN, DIE ALLE OBJEKTE BESITZEN MUESSEN
Jedes Objekt im MorgenGrauen sollte folgende Funktionen
implementiert haben:
1.) name( fall, dem )
Diese Funktion soll den Namen des Objektes im jeweiligen
Fall mit Artikel (wenn es einen besitzt) zurueckgeben, so
dass der Rueckgabewert in einen Satz eingearbeitet werden
kann.
"fall" dient zur Deklination des Objektnamens.
"dem" bestimmt, welche Artikel benutzt werden sollen.
Moegliche Werte fuer "dem":
0 Benutze unbestimmte Artikel.
1 Benutze bestimmte Artikel.
2 Benutze bestimmte Artikel, wenn sich mit dem Objekt
kein gleichartiges Objekt im selben Raum befindet,
sonst benutze einen unbestimmten.
Statt der 2 kann auch ein String uebergeben werden.
In diesem Fall wird getestet, ob sich ein Objekt mit
dem String als id im selben Raum befindet.
2.) short()
Diese Funktion liefert eine Beschreibung, die ausgegeben
wird, wenn der Raum, in dem das Objekt sich befindet,
betrachtet wird.
3.) long()
Diese Funktion liefert eine Beschreibung, die ausgegeben
wird, wenn das Objekt angeschaut wird. Im Unterschied zur
2.4.5 Mudlib wird die Beschreibung jedoch nicht ausgegeben,
sondern als return-Wert zurueckgegeben.
4.) id( str )
Diese Funktion soll 1 zurueckgeben, wenn str eine Zeichen-
folge ist, die das Objekt bezeichnen koennte. Diese Zeichen-
folge wird in kleinen Buchstaben uebergeben.
5.) _query_invis()
Wenn ein Objekt unsichtbar ist, soll es beim Aufruf dieser
Funktion 1 zurueckgeben. Sichtbare Objekte brauchen diese
Funktion nicht zu implementieren.
III. UNTERSTUETZUNG DER FUNKTIONEN DURCH DIE MG_MUDLIB
Wenn ein eigenes Objekt aus den Standardobjekten abgeleitet
wird, sind alle diese Funktionen bereits fertig definiert.
Es muessen beim Erzeugen der Objekte nur noch die entsprechenden
Werte mitgeteilt werden. Dieses geschieht mit folgenden Funk-
tionen, die am besten im create() aufgerufen werden.
1.) SetProp( P_NAME, string );
In name() wird der uebergebene String dekliniert und automatisch
mit Artikeln versehen. Diese Funktion bedenkt auch Faelle, an
die ihr wahrscheinlich nie gedacht habt. Der Genitiv von der
Lahme ist z.B. des Lahmen! Auch fuer andere Faelle bietet diese
Funktion maechtige Unterstuetzung.
Wenn der String nicht mit Artikeln versehen werden soll, so kann
man das mittels der Funktion "SetProp(P_ARTICLE, 0 )" erreichen.
Damit die Funktion name() ueberhaupt den richtigen Artikel
auswaehlen kann, muss man mit "SetProp( P_GENDER, gender)" das
Gechlecht des Objektes bekannt machen. Als gender kann man
MALE oder 1, FEMALE oder 2 und NEUTER oder 0 verwenden.
Ist das Objekt unsichtbar, so darf string trotzdem nicht 0 sein;
stattdessen ist "SetProp( P_INVIS, 1 )" aufzurufen. (Die Zeile
"#include " nicht vergessen. :-))
Da dieses Verfahren sehr fehleranfaellig ist, ist fuer den Namen
ein Array von Namen zugelassen, so dass fuer jeden Fall ein Wort
uebergeben werden kann. Beispiel.:
SetProp( P_NAME, ({ "Mensch", "Menschen", "Menschen", "Menschen" }) );
2.) SetProp( P_SHORT, string )
In short() wird der uebergebene String ausgegeben. Mittels des
process_string-Mechanismus (siehe /doc/efun/process_string)
koennen auch varibale Teile in dem String vorkommen.
string braucht fuer unsichtbare Objekte nicht auf 0 gesetzt
werden.
3.) SetProp( P_LONG, string )
Dito.
4.) AddId( string );
Nehme den String in die Menge der Zeichenketten auf, auf die die
eingebaute id-Funktion mit 1 antworten soll.
5.) Es reicht, SetProp( P_INVIS, 1 ) aufzurufen, wenn das
Objekt unsichtbar wird, und SetProp( P_INVIS, 0 ), wenn es wieder
sichtbar wird.
IV. BENENNUNG VON RAEUMEN
Bei Raeumen wird die long() bzw. short()-Beschreibung nur dann
benutzt, wenn der Raum *von aussen* angeschaut wird. Fuer eine
Beschreibung des Raumen von innen sind folgende Funktionen
bereitgestellt:
1.) SetProp( P_INT_SHORT, string );
Gebe eine Beschreibung des Raumes fuer den "kurz"-Modus aus.
2.) SetProp( P_INT_LONG, string );
Gebe eine ausfuehrliche Beschreibung des Raumes zurueck.
V. BENENNUNG VON MONSTERN
Siehe oben unter /doc/MG/BANISH.
zurück zur Übersicht