blob: b14b9765ecf2d4e3d8625932c929cc7a736abbbd [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2AddSounds()
3***********
4
5
6FUNKTION
7========
8
9 void AddSounds(string|string* keys, string|string*|mapping|closure desc);
10
11
12DEFINIERT IN
13============
14
15 /std/thing/description.c
16
17
18ARGUMENTE
19=========
20
21 keys
22 String oder Array von Strings mit den Namen der Details.
23 desc
24 String, Mapping, String-Array oder Closure mit/zur Beschreibung.
25
26
27BESCHREIBUNG
28============
29
30 Diese Funktion entspricht dem AddDetail() fuer Standarddetails, nur
31 koennen hiermit Geraeusche realisiert werden:
32 Die Beschreibung der Details <keys> wird gesetzt. Wie die Details
33 bei der Untersuchung aussehen, haengt im wesentlichen vom Typ der
34 Beschreibung <desc> ab:
35 <desc> ist ein String.
36 Beim Untersuchen wird dieser String zurueckgegeben.
37 <desc> ist ein String-Array.
38 Beim Untersuchen wird zufaellig einer der Strings zurueckgegeben.
39 <desc> ist ein Mapping.
40 Das Mapping muss folgenden Aufbau haben:
41 ([0: "Defaulttext",
42 "rasse1": "r1text", ...]).
43
44 Falls fuer die Rasse des das Detail untersuchenden Spielers ein
45 Eintrag im Mapping existiert, wird der entsprechende Text
46 zurueckgegeben, ansonsten der Defaulttext. Auf diese Weise sind
47 rassenabhaengige Details moeglich. Siehe auch die Beispiele.
48 <desc> ist eine Closure.
49 In diesem Fall wird die Closure ausgefuehrt und das Ergebnis
50 zurueckgegeben. Die Closure bekommt dabei den Namen des Details
51 als Parameter uebergeben.
52
53 Fuer Geraeuschdetails koennen Forscherpunkte eingetragen werden.
54
55 Gerauesche koennen allgemein einen Raum oder Objekt zugeordnet werden:
56 dafuer muss man als <key> SENSE_DEFAULT uebergeben.
57
58 Spielerkommandos: "lausche", "lausch", "hoer", "hoere"
59
60
61BEISPIELE
62=========
63
64 Ein kleines Beispiel fuer rassenabhaengige Gerauesche
65 AddSounds(SENSE_DEFAULT, "Die Zwergenmusik uebertoent alles!\n");
66 AddSounds(({"zwergenmusik","musik"}),
67 ([0 : "Seltsamer Krach!\n",
68 "zwerg": "Das klingt einfach fantastisch!\n"]));
69
70
71SIEHE AUCH
72==========
73
74 Setzen: AddDetail(), AddReadDetail(), AddSmells(),
75 AddTouchDetail()
76 Loeschen: RemoveDetail(), RemoveReadDetail(), RemoveSmells(),
77 RemoveSounds(), RemoveTouchDetail()
78 Daten: P_DETAILS, P_READ_DETAILS, P_SMELLS, P_SOUNDS, P_TOUCH_DETAILS
79 Veraltet: AddSpecialDetail(), RemoveSpecialDetail(), P_READ_MSG
80 Sonstiges: GetDetail(), break_string()
81
8220.01.2015, Zesstra