MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | GetDetail() |
| 2 | |
| 3 | FUNKTION: |
| 4 | varargs string GetDetail(string key, string race, int sense) |
| 5 | |
| 6 | DEFINIERT IN: |
| 7 | /std/thing/description.c |
| 8 | |
| 9 | ARGUMENTE: |
| 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 | |
| 18 | BESCHREIBUNG: |
| 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 | |
| 30 | RUeCKGABEWERT: |
| 31 | Die Beschreibung des Details oder 0, wenn es dieses Detail nicht |
| 32 | gibt. |
| 33 | |
| 34 | BEISPIEL: |
| 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 | |
| 57 | SIEHE 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 | |
| 67 | 27. Jan 2013 Gloinson |