blob: f73af2a934dda490dc6e2d0663f8d0bab4dbe715 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001RemoveDetail()
2
3FUNKTION:
4 void RemoveDetail(mixed *keys);
5
6DEFINIERT IN:
7 /std/thing/description.c
8
9ARGUMENTE:
10 keys
11 String oder Array von Strings mit den zu entfernenden Details.
12
13BESCHREIBUNG:
14 Entfernt die in <keys> angegebenen Details aus der Liste der
15 vorhandenen Details. Uebergibt man fuer <keys> eine 0, so werden
16 saemtliche Details entfernt!
17
18BEISPIEL:
19 Ein kleines Beispiel, bei dem eine Oeffnung erscheint und wieder
20 verschwindet, je nachdem, ob man eine Luke oeffnet oder schliesst.
21 int oeffneLuke(string str);
22 int schliesseLuke(string str);
23 ...
24 AddCmd("oeffne", #'oeffneLuke);
25 AddCmd("schliesse", #'schliesseLuke);
26 ...
27 int oeffneLuke(string str) {
28 if(str!="luke" || GetDetail("oeffnung"))
29 return 0;
30 AddDetail("oeffnung","Du siehst eine kleine Oeffnung.\n");
31 return 1;
32 }
33
34 int schliesseLuke(string str) {
35 if(str!="luke" || !GetDetail("oeffnung"))
36 return 0;
37 RemoveDetail("oeffnung"); // Detail wieder entfernen
38 return 1;
39 }
40
41BEMERKUNGEN:
42 Da intern Details und SpecialDetails im gleichen Mapping verwaltet
43 werden, lassen sich mit dieser Funktion auch SpecialDetails
44 entfernen.
45 Die Funktion RemoveSpecialDetail() sollte also nicht genutzt werden!
46
47SIEHE AUCH:
48 Setzen: AddDetail(), AddReadDetail(), AddSmells(), AddSounds(),
49 AddTouchDetail()
50 Loeschen: RemoveReadDetail(), RemoveSmells(),
51 RemoveSounds(), RemoveTouchDetail()
52 Daten: P_DETAILS, P_READ_DETAILS, P_SMELLS, P_SOUNDS,
53 P_TOUCH_DETAILS, P_SPECIAL_DETAILS
54 Veraltet: AddSpecialDetail(), RemoveSpecialDetail(), P_READ_MSG
55 Sonstiges: GetDetail(), break_string()
56
578. Juli 2011 Gloinson