| |
| GetDetail() |
| *********** |
| |
| |
| FUNKTION |
| ======== |
| |
| varargs string GetDetail(string key, string race, int sense) |
| |
| |
| DEFINIERT IN |
| ============ |
| |
| /std/thing/description.c |
| |
| |
| ARGUMENTE |
| ========= |
| |
| key |
| Das zu ermittelnde Detail. |
| race |
| Rasse des ermittelnden Objektes (falls es ein Lebewesen ist). |
| sense |
| Die Art des zu untersuchenden Details: |
| Untersuchen, Riechen, Hoeren, Tasten. |
| |
| |
| BESCHREIBUNG |
| ============ |
| |
| Die Beschreibung des gewuenschten Details wird ermittelt. Dabei |
| werden rassenspezifische Details beruecksichtigt. Es gibt hierbei |
| verschiedene Detailarten, deren Typ man in <sense> angibt: |
| SENSE_VIEW - Fuer Defaultdetails zum Untersuchen. |
| SENSE_SMELL - Fuer Details, die man riechen kann. |
| SENSE_SOUND - Fuer Details, die man hoeren kann. |
| SENSE_TOUCH - Fuer Details, die man abtasten kann. |
| SENSE_READ - Fuer Details, die man lesen kann. |
| |
| Dabei ist 0 == SENSE_VIEW. |
| |
| |
| RUeCKGABEWERT |
| ============= |
| |
| Die Beschreibung des Details oder 0, wenn es dieses Detail nicht |
| gibt. |
| |
| |
| BEISPIEL |
| ======== |
| |
| Im folgenden wird ein kleines Testdetail generiert: |
| AddDetail("test","Das ist ein Test!\n"); |
| Im folgenden wird das Detail entfernt, wenn es existiert. Dies ist |
| eigentlich nicht noetig, da RemoveDetail() damit zurechtkommt, aber |
| eventuell sind ja noch weitere Aktionen noetig. |
| if(GetDetail("test")) |
| { RemoveDetail("test"); |
| ... |
| } |
| Ein Geruch kann man folgendermassen erzeugen: |
| AddSmells("gold", |
| ([0 :"Gold kann man nicht riechen!\n", |
| "zwerg":"Deine trainierte Nase riecht es muehelos!\n"])); |
| Die Abfrage des Details gestaltet sich recht einfach: |
| GetDetail("gold","zwerg",SENSE_SMELL); |
| Die Funktion liefert das Detail fuer den Zwerg. |
| GetDetail("gold",0,SENSE_SMELL); |
| Die Funktion liefert das Detail fuer die restlichen Rassen. |
| GetDetail("gold",0,SENSE_SOUND); |
| Ein Sounddetail mit dem Namen "gold" existiert nicht, die Funktion |
| liefert 0 zurueck. |
| |
| |
| SIEHE AUCH |
| ========== |
| |
| Setzen: AddDetail(), AddReadDetail(), AddSmells(), AddSounds(), |
| AddTouchDetail() |
| Loeschen: RemoveReadDetail(), RemoveSmells(), RemoveDetail(), |
| RemoveSounds(), RemoveTouchDetail() |
| Daten: P_DETAILS, P_READ_DETAILS, P_SMELLS, P_SOUNDS, |
| P_TOUCH_DETAILS, P_SPECIAL_DETAILS |
| Veraltet: AddSpecialDetail(), RemoveSpecialDetail(), P_READ_MSG |
| Sonstiges: break_string() |
| |
| 27. Jan 2013 Gloinson |