blob: 889ac203715232cefcbb9fb52e62061fb4ed4dd4 [file] [log] [blame]
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()
8. Juli 2011 Gloinson