Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame^] | 1 | GetDetail() |
| 2 | =========== |
| 3 | |
| 4 | FUNKTION |
| 5 | -------- |
| 6 | :: |
| 7 | |
| 8 | varargs string GetDetail(string key, string race, int sense) |
| 9 | |
| 10 | DEFINIERT IN |
| 11 | ------------ |
| 12 | :: |
| 13 | |
| 14 | /std/thing/description.c |
| 15 | |
| 16 | ARGUMENTE |
| 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 | |
| 28 | BESCHREIBUNG |
| 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 | |
| 43 | RUeCKGABEWERT |
| 44 | ------------- |
| 45 | :: |
| 46 | |
| 47 | Die Beschreibung des Details oder 0, wenn es dieses Detail nicht |
| 48 | gibt. |
| 49 | |
| 50 | BEISPIEL |
| 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 | |
| 76 | SIEHE 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 | |
| 89 | 27. Jan 2013 Gloinson |
| 90 | |