blob: a3efbe4cff0070d101f26fe27f683a43ee8ea029 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001AddFun()
Zesstra953f9972017-02-18 15:37:36 +01002********
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 void AddFun(string fun, int next);
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 /std/transport.c
MG Mud User88f12472016-06-24 23:31:02 +020015
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017ARGUMENTE
18=========
MG Mud User88f12472016-06-24 23:31:02 +020019
Zesstra953f9972017-02-18 15:37:36 +010020 fun
21 Name der Funktion.
22 next
23 Zeit bis zur naechsten Fahrplanstation.
MG Mud User88f12472016-06-24 23:31:02 +020024
MG Mud User88f12472016-06-24 23:31:02 +020025
Zesstra953f9972017-02-18 15:37:36 +010026BESCHREIBUNG
27============
MG Mud User88f12472016-06-24 23:31:02 +020028
Zesstra953f9972017-02-18 15:37:36 +010029 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.
MG Mud User88f12472016-06-24 23:31:02 +020032
MG Mud User88f12472016-06-24 23:31:02 +020033
Zesstra953f9972017-02-18 15:37:36 +010034RUeCKGABEWERT
35=============
36
37 keiner
38
39
Arathorn3f92d242020-01-22 21:43:46 +010040HINWEISE
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
46
Zesstra953f9972017-02-18 15:37:36 +010047BEISPIELE
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() {
Zesstra953f9972017-02-18 15:37:36 +010054 ...
Zesstra953f9972017-02-18 15:37:36 +010055 AddFun("seekrank", 5);
56 ...
57 }
58
Arathorn3f92d242020-01-22 21:43:46 +010059 seekrank() {
Zesstra953f9972017-02-18 15:37:36 +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;
Zesstra953f9972017-02-18 15:37:36 +010067 if (sizeof(passagiere))
68 opfer = passagiere[random(sizeof(passagiere))];
69
Zesstra953f9972017-02-18 15:37:36 +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");
Zesstra953f9972017-02-18 15:37:36 +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),
Zesstra953f9972017-02-18 15:37:36 +010077 capitalize(opfer->QueryPronoun(WER))), ({ opfer }) );
78 }
79
80
81SIEHE AUCH
82==========
83
84 AddRoute(), AddMsg(), /std/transport.c
85
Arathorn3f92d242020-01-22 21:43:46 +010086Last modified: 15.01.2020, Arathorn