blob: fdb1e1e51e2472d71861f77a4e9c95ddbd80b6a3 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001GetDetail()
Zesstra953f9972017-02-18 15:37:36 +01002***********
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 varargs string GetDetail(string key, string race, int sense)
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 /std/thing/description.c
MG Mud User88f12472016-06-24 23:31:02 +020015
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017ARGUMENTE
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
28
29BESCHREIBUNG
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
43
44RUeCKGABEWERT
45=============
46
47 Die Beschreibung des Details oder 0, wenn es dieses Detail nicht
48 gibt.
49
50
Arathorn4575fbe2021-02-28 14:44:30 +010051HINWEIS
52=======
53
54 Fuer SENSE_VIEW und SENSE_READ wird die Funktion gar nicht erst
55 aufgerufen, wenn der Spieler nichts sehen kann. Das gleiche gilt fuer
56 SENSE_SOUND, wenn der Spieler taub ist.
57
58
Zesstra953f9972017-02-18 15:37:36 +010059BEISPIEL
60========
61
62 Im folgenden wird ein kleines Testdetail generiert:
63 AddDetail("test","Das ist ein Test!\n");
Arathorn4575fbe2021-02-28 14:44:30 +010064
Zesstra953f9972017-02-18 15:37:36 +010065 Im folgenden wird das Detail entfernt, wenn es existiert. Dies ist
66 eigentlich nicht noetig, da RemoveDetail() damit zurechtkommt, aber
67 eventuell sind ja noch weitere Aktionen noetig.
Arathorn4575fbe2021-02-28 14:44:30 +010068 if(GetDetail("test")) {
69 RemoveDetail("test");
Zesstra953f9972017-02-18 15:37:36 +010070 ...
71 }
Arathorn4575fbe2021-02-28 14:44:30 +010072
73 Einen Geruch kann man folgendermassen erzeugen:
Zesstra953f9972017-02-18 15:37:36 +010074 AddSmells("gold",
75 ([0 :"Gold kann man nicht riechen!\n",
76 "zwerg":"Deine trainierte Nase riecht es muehelos!\n"]));
77 Die Abfrage des Details gestaltet sich recht einfach:
78 GetDetail("gold","zwerg",SENSE_SMELL);
79 Die Funktion liefert das Detail fuer den Zwerg.
80 GetDetail("gold",0,SENSE_SMELL);
81 Die Funktion liefert das Detail fuer die restlichen Rassen.
82 GetDetail("gold",0,SENSE_SOUND);
83 Ein Sounddetail mit dem Namen "gold" existiert nicht, die Funktion
84 liefert 0 zurueck.
85
86
87SIEHE AUCH
88==========
89
90 Setzen: AddDetail(), AddReadDetail(), AddSmells(), AddSounds(),
91 AddTouchDetail()
92 Loeschen: RemoveReadDetail(), RemoveSmells(), RemoveDetail(),
93 RemoveSounds(), RemoveTouchDetail()
94 Daten: P_DETAILS, P_READ_DETAILS, P_SMELLS, P_SOUNDS,
95 P_TOUCH_DETAILS, P_SPECIAL_DETAILS
96 Veraltet: AddSpecialDetail(), RemoveSpecialDetail(), P_READ_MSG
97 Sonstiges: break_string()
MG Mud User88f12472016-06-24 23:31:02 +020098
9927. Jan 2013 Gloinson