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 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() 27. Jan 2013 Gloinson