Start Info Community Spielen
 
 

Morgengrauner Dokumentation

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

AUTOR   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

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