blob: 2f7577918954cd89c2830b4f1af674550c090c50 [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001GetDetail()
2===========
3
4FUNKTION
5--------
6::
7
8 varargs string GetDetail(string key, string race, int sense)
9
10DEFINIERT IN
11------------
12::
13
14 /std/thing/description.c
15
16ARGUMENTE
17---------
18::
19
20 key
21 Das zu ermittelnde Detail.
22 race
23 Rasse des ermittelnden Objektes (falls es ein Lebewesen ist).
24 sense
25 Die Art des zu untersuchenden Details:
26 Untersuchen, Riechen, Hoeren, Tasten.
27
28BESCHREIBUNG
29------------
30::
31
32 Die Beschreibung des gewuenschten Details wird ermittelt. Dabei
33 werden rassenspezifische Details beruecksichtigt. Es gibt hierbei
34 verschiedene Detailarten, deren Typ man in <sense> angibt:
35 SENSE_VIEW - Fuer Defaultdetails zum Untersuchen.
36 SENSE_SMELL - Fuer Details, die man riechen kann.
37 SENSE_SOUND - Fuer Details, die man hoeren kann.
38 SENSE_TOUCH - Fuer Details, die man abtasten kann.
39 SENSE_READ - Fuer Details, die man lesen kann.
40
41 Dabei ist 0 == SENSE_VIEW.
42
43RUeCKGABEWERT
44-------------
45::
46
47 Die Beschreibung des Details oder 0, wenn es dieses Detail nicht
48 gibt.
49
50BEISPIEL
51--------
52::
53
54 Im folgenden wird ein kleines Testdetail generiert:
55 AddDetail("test","Das ist ein Test!\n");
56 Im folgenden wird das Detail entfernt, wenn es existiert. Dies ist
57 eigentlich nicht noetig, da RemoveDetail() damit zurechtkommt, aber
58 eventuell sind ja noch weitere Aktionen noetig.
59 if(GetDetail("test"))
60 { RemoveDetail("test");
61 ...
62 }
63 Ein Geruch kann man folgendermassen erzeugen:
64 AddSmells("gold",
65 ([0 :"Gold kann man nicht riechen!\n",
66 "zwerg":"Deine trainierte Nase riecht es muehelos!\n"]));
67 Die Abfrage des Details gestaltet sich recht einfach:
68 GetDetail("gold","zwerg",SENSE_SMELL);
69 Die Funktion liefert das Detail fuer den Zwerg.
70 GetDetail("gold",0,SENSE_SMELL);
71 Die Funktion liefert das Detail fuer die restlichen Rassen.
72 GetDetail("gold",0,SENSE_SOUND);
73 Ein Sounddetail mit dem Namen "gold" existiert nicht, die Funktion
74 liefert 0 zurueck.
75
76SIEHE AUCH
77----------
78::
79
80 Setzen: AddDetail(), AddReadDetail(), AddSmells(), AddSounds(),
81 AddTouchDetail()
82 Loeschen: RemoveReadDetail(), RemoveSmells(), RemoveDetail(),
83 RemoveSounds(), RemoveTouchDetail()
84 Daten: P_DETAILS, P_READ_DETAILS, P_SMELLS, P_SOUNDS,
85 P_TOUCH_DETAILS, P_SPECIAL_DETAILS
86 Veraltet: AddSpecialDetail(), RemoveSpecialDetail(), P_READ_MSG
87 Sonstiges: break_string()
88
8927. Jan 2013 Gloinson
90