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