GetDetail()¶
FUNKTION¶
varargs string GetDetail(string key, string race, int sense)
DEFINIERT IN¶
/std/thing/description.c
ARGUMENTE¶
key
Das zu ermittelnde Detail.
race
Rasse des ermittelnden Objektes (falls es ein Lebewesen ist).
sense
Die Art des zu untersuchenden Details:
Untersuchen, Riechen, Hoeren, Tasten.
BESCHREIBUNG¶
Die Beschreibung des gewuenschten Details wird ermittelt. Dabei
werden rassenspezifische Details beruecksichtigt. Es gibt hierbei
verschiedene Detailarten, deren Typ man in <sense> angibt:
SENSE_VIEW - Fuer Defaultdetails zum Untersuchen.
SENSE_SMELL - Fuer Details, die man riechen kann.
SENSE_SOUND - Fuer Details, die man hoeren kann.
SENSE_TOUCH - Fuer Details, die man abtasten kann.
SENSE_READ - Fuer Details, die man lesen kann.
Dabei ist 0 == SENSE_VIEW.
RUeCKGABEWERT¶
Die Beschreibung des Details oder 0, wenn es dieses Detail nicht
gibt.
HINWEIS¶
Fuer SENSE_VIEW und SENSE_READ wird die Funktion gar nicht erst
aufgerufen, wenn der Spieler nichts sehen kann. Das gleiche gilt fuer
SENSE_SOUND, wenn der Spieler taub ist.
BEISPIEL¶
Im folgenden wird ein kleines Testdetail generiert:
AddDetail("test","Das ist ein Test!\n");
Im folgenden wird das Detail entfernt, wenn es existiert. Dies ist
eigentlich nicht noetig, da RemoveDetail() damit zurechtkommt, aber
eventuell sind ja noch weitere Aktionen noetig.
if(GetDetail("test")) {
RemoveDetail("test");
...
}
Einen Geruch kann man folgendermassen erzeugen:
AddSmells("gold",
([0 :"Gold kann man nicht riechen!\n",
"zwerg":"Deine trainierte Nase riecht es muehelos!\n"]));
Die Abfrage des Details gestaltet sich recht einfach:
GetDetail("gold","zwerg",SENSE_SMELL);
Die Funktion liefert das Detail fuer den Zwerg.
GetDetail("gold",0,SENSE_SMELL);
Die Funktion liefert das Detail fuer die restlichen Rassen.
GetDetail("gold",0,SENSE_SOUND);
Ein Sounddetail mit dem Namen "gold" existiert nicht, die Funktion
liefert 0 zurueck.
SIEHE AUCH¶
Setzen: AddDetail(), AddReadDetail(), AddSmells(), AddSounds(),
AddTouchDetail()
Loeschen: RemoveReadDetail(), RemoveSmells(), RemoveDetail(),
RemoveSounds(), RemoveTouchDetail()
Daten: P_DETAILS, P_READ_DETAILS, P_SMELLS, P_SOUNDS,
P_TOUCH_DETAILS, P_SPECIAL_DETAILS
Veraltet: AddSpecialDetail(), RemoveSpecialDetail(), P_READ_MSG
Sonstiges: break_string()
- Jan 2013 Gloinson