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