RemoveDetail()

FUNKTION

void RemoveDetail(mixed *keys);

DEFINIERT IN

/std/thing/description.c

ARGUMENTE

keys
  String oder Array von Strings mit den zu entfernenden Details.

BESCHREIBUNG

Entfernt die in <keys> angegebenen Details aus der Liste der
vorhandenen Details. Uebergibt man fuer <keys> eine 0, so werden
saemtliche Details entfernt!

BEISPIEL

Ein kleines Beispiel, bei dem eine Oeffnung erscheint und wieder
verschwindet, je nachdem, ob man eine Luke oeffnet oder schliesst.
  int oeffneLuke(string str);
  int schliesseLuke(string str);
  ...
  AddCmd("oeffne", #'oeffneLuke);
  AddCmd("schliesse", #'schliesseLuke);
  ...
  int oeffneLuke(string str) {
    if(str!="luke" || GetDetail("oeffnung"))
      return 0;
    AddDetail("oeffnung","Du siehst eine kleine Oeffnung.\n");
    return 1;
  }

  int schliesseLuke(string str) {
    if(str!="luke" || !GetDetail("oeffnung"))
      return 0;
    RemoveDetail("oeffnung"); // Detail wieder entfernen
    return 1;
  }

BEMERKUNGEN

Da intern Details und SpecialDetails im gleichen Mapping verwaltet
werden, lassen sich mit dieser Funktion auch SpecialDetails
entfernen.
Die Funktion RemoveSpecialDetail() sollte also nicht genutzt werden!

SIEHE AUCH

Setzen:    AddDetail(), AddReadDetail(), AddSmells(), AddSounds(),
           AddTouchDetail()
Loeschen:  RemoveReadDetail(), RemoveSmells(),
           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: GetDetail(), break_string()
  1. Juli 2011 Gloinson