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