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 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