blob: aa84a11985933c105a9f41e0eda7861f5f812383 [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001AddFun()
2========
3
4FUNKTION
5--------
6::
7
8 void AddFun(string fun, int next);
9
10DEFINIERT IN
11------------
12::
13
14 /std/transport.c
15
16ARGUMENTE
17---------
18::
19
20 fun
21 Name der Funktion.
22 next
23 Zeit bis zur naechsten Fahrplanstation.
24
25BESCHREIBUNG
26------------
27::
28
29 Dem Fahrplan wird der Aufruf der Funktion fun, die im Transporter
30 definiert sein muss, hinzugefuegt. Nach Aufruf der Funktion vergehen
31 next Sekunden, bis die naechste Station angefahren wird.
32
33RUeCKGABEWERT
34-------------
35::
36
37 keiner
38
Arathorn3f92d242020-01-22 21:43:46 +010039HINWEISE
40--------
41::
42
43 Die genannte Funktion <fun> wird per call_other() an this_object()
44 gerufen, d.h. ihre Sichtbarkeit muss static oder public sein.
45
Zesstra18626972017-01-31 10:38:27 +010046BEISPIELE
47---------
48::
49
50 Wenn ein zufaellig ausgewaehlter Passagier eines Schiffes unterwegs
51 seekrank werden soll, koennte man das wie folgt realisieren:
52
Arathorn3f92d242020-01-22 21:43:46 +010053 protected void create() {
Zesstra18626972017-01-31 10:38:27 +010054 ...
Zesstra18626972017-01-31 10:38:27 +010055 AddFun("seekrank", 5);
56 ...
57 }
58
Arathorn3f92d242020-01-22 21:43:46 +010059 seekrank() {
Zesstra18626972017-01-31 10:38:27 +010060 // soll nicht immer passieren
61 if (random(5))
62 return;
63
64 // Opfer auswaehlen
Arathorn3f92d242020-01-22 21:43:46 +010065 object* passagiere = QueryPassengers();
66 object opfer;
Zesstra18626972017-01-31 10:38:27 +010067 if (sizeof(passagiere))
68 opfer = passagiere[random(sizeof(passagiere))];
69
Zesstra18626972017-01-31 10:38:27 +010070 tell_object(opfer,
Arathorn3f92d242020-01-22 21:43:46 +010071 "Du wirst seekrank! Schnell stuerzt Du zur Reling, um Dich zu\n"
72 "uebergeben.\n");
Zesstra18626972017-01-31 10:38:27 +010073 tell_room(this_object(),
Arathorn3f92d242020-01-22 21:43:46 +010074 sprintf("%s ueberkommt die Seekrankheit!\n"
75 "%s stuerzt an die Reling, um sich zu uebergeben.\n",
76 opfer->Name(WEN),
Zesstra18626972017-01-31 10:38:27 +010077 capitalize(opfer->QueryPronoun(WER))), ({ opfer }) );
78 }
79
80SIEHE AUCH
81----------
82::
83
84 AddRoute(), AddMsg(), /std/transport.c
85
86
Arathorn3f92d242020-01-22 21:43:46 +010087Last modified: 15.01.2020, Arathorn
Zesstra18626972017-01-31 10:38:27 +010088