Morgengrauner Dokumentation
Dateipfad: /home/mud/mudlib/doc//lfun/RemoveDetailRemoveDetail()
**************
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 angegebenen Details aus der Liste der
vorhandenen Details. Uebergibt man fuer 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
zurück zur Übersicht