Dokumentation zu: id(L)

HR Image


FUNKTION:
	varargs int id(string str, int lvl)

IMPLEMENTIERT:
	/std/thing/description.c
	/std/player/description.c

ARGUMENTE:
	str   -  Schluesselwort, welches das Ding (moeglicherweise)
	         identifiziert
	lvl   -  P_LEVEL des Untersuchers (wichtig fuer Unsichtbare, optional)

BESCHREIBUNG:
	Wenn die komplexe in 'str' uebergebene Zeichenfolge das Objekt
	identifiziert, so wird 1 zurueckgeliefert - sonst 0.

	Zur Bestimmung des Passend wird auf die in P_IDS (via AddId(L))
	abgelegten IDs zurueckgegriffen. Diese werden ggf alle jeweils mit
	den in P_ADJECTIVES gespeicherten Adjektiven kombiniert.

	Zusaetzlich ist die Syntax '<id des dings> <nummer>' erlaubt.
	Hier wird das <nummer>te Objekt, welches sich auf '<id des dings>'
	angesprochen fuehlt, zurueckgeliefert. Hierbei werden jedoch nur
	Dinge in derselben Umgebung wie das Objekt, in dem id() aufgerufen
	wurde beruecksichtigt. "untersuche schwert 3"

	Ist das Objekt in einem Spieler, so ist zusaetzlich dazu noch ein
	Ansprechen mit 'Inventarnummern' moeglich. Anzeigen kann man sich
	diese Nummern via "inv -n". Ansprechen tut man die Objekte dann
	mit 'i<nummer>' also zB "untersuche i5".

	Ist das Objekt unsichtbar (normales Objekt, P_PLURAL (und obsoletes
	P_SHORT) auf Null), so wird trotzdem die Identitaet geprueft. Dies
	ermoeglicht unsichtbare aber anfassbare Objekte zu schreiben.
	Soll so ein Ding komplett 'unfassbar' sein, muss zusaetzlich noch
	P_INVIS gesetzt werden.

	Im Spielerobjekt hat diese Funktion einige Besonderheiten:
	 * ist str "ich", "mich", "mir" oder "mein" und TP gleich dem
	   Spieler, so wird 1 zurueckgeliefert ('unt mich')
	 * Ist das Objekt P_INVIS, so wird nur dann 1 geliefert, wenn
	   'lvl' groesser als P_LEVEL des Spielerobjekts ist (Magier werden
	   auf diese Art nicht 'fassbar').
	 * Die IDs von P_FROG werden beruecksichtigt
	 * Als Geist wird auch "geist von <name>" als ID erlaubt

RÜCKGABEWERT:
	1 (komplexe Beschreibung passt) oder 0 (passt nicht).

BEMERKUNG:
	Diese Funktion wird auch vom Driver (beim Abarbeiten von present(E))
	benutzt, siehe auch id(A).

BEISPIEL:
	int tritt(string wen) {
	    ...
	  if (pl->id(wen, TP->QueryProp(P_LEVEL))) return do_kick();
	  return 0;
	}

SIEHE AUCH:
	present(E), id(A)


Start » Magierhandbuch » Docu » Lfun » Id Letzte Generierung: 25.04.2021, 01:58
Email an: mud@wl.mud.de
Valid HTML 4.01!