blob: 4a56755d9da1ea4ed9360a3475de9b14fb0218cc [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
MG Mud User88f12472016-06-24 23:31:02 +02002AddFun()
Zesstra953f9972017-02-18 15:37:36 +01003********
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006FUNKTION
7========
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 void AddFun(string fun, int next);
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012DEFINIERT IN
13============
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 /std/transport.c
MG Mud User88f12472016-06-24 23:31:02 +020016
MG Mud User88f12472016-06-24 23:31:02 +020017
Zesstra953f9972017-02-18 15:37:36 +010018ARGUMENTE
19=========
MG Mud User88f12472016-06-24 23:31:02 +020020
Zesstra953f9972017-02-18 15:37:36 +010021 fun
22 Name der Funktion.
23 next
24 Zeit bis zur naechsten Fahrplanstation.
MG Mud User88f12472016-06-24 23:31:02 +020025
MG Mud User88f12472016-06-24 23:31:02 +020026
Zesstra953f9972017-02-18 15:37:36 +010027BESCHREIBUNG
28============
MG Mud User88f12472016-06-24 23:31:02 +020029
Zesstra953f9972017-02-18 15:37:36 +010030 Dem Fahrplan wird der Aufruf der Funktion fun, die im Transporter
31 definiert sein muss, hinzugefuegt. Nach Aufruf der Funktion vergehen
32 next Sekunden, bis die naechste Station angefahren wird.
MG Mud User88f12472016-06-24 23:31:02 +020033
MG Mud User88f12472016-06-24 23:31:02 +020034
Zesstra953f9972017-02-18 15:37:36 +010035RUeCKGABEWERT
36=============
37
38 keiner
39
40
Arathorn3f92d242020-01-22 21:43:46 +010041HINWEISE
42========
43
44 Die genannte Funktion <fun> wird per call_other() an this_object()
45 gerufen, d.h. ihre Sichtbarkeit muss static oder public sein.
46
47
Zesstra953f9972017-02-18 15:37:36 +010048BEISPIELE
49=========
50
51 Wenn ein zufaellig ausgewaehlter Passagier eines Schiffes unterwegs
52 seekrank werden soll, koennte man das wie folgt realisieren:
53
Arathorn3f92d242020-01-22 21:43:46 +010054 protected void create() {
Zesstra953f9972017-02-18 15:37:36 +010055 ...
Zesstra953f9972017-02-18 15:37:36 +010056 AddFun("seekrank", 5);
57 ...
58 }
59
Arathorn3f92d242020-01-22 21:43:46 +010060 seekrank() {
Zesstra953f9972017-02-18 15:37:36 +010061 // soll nicht immer passieren
62 if (random(5))
63 return;
64
65 // Opfer auswaehlen
Arathorn3f92d242020-01-22 21:43:46 +010066 object* passagiere = QueryPassengers();
67 object opfer;
Zesstra953f9972017-02-18 15:37:36 +010068 if (sizeof(passagiere))
69 opfer = passagiere[random(sizeof(passagiere))];
70
Zesstra953f9972017-02-18 15:37:36 +010071 tell_object(opfer,
Arathorn3f92d242020-01-22 21:43:46 +010072 "Du wirst seekrank! Schnell stuerzt Du zur Reling, um Dich zu\n"
73 "uebergeben.\n");
Zesstra953f9972017-02-18 15:37:36 +010074 tell_room(this_object(),
Arathorn3f92d242020-01-22 21:43:46 +010075 sprintf("%s ueberkommt die Seekrankheit!\n"
76 "%s stuerzt an die Reling, um sich zu uebergeben.\n",
77 opfer->Name(WEN),
Zesstra953f9972017-02-18 15:37:36 +010078 capitalize(opfer->QueryPronoun(WER))), ({ opfer }) );
79 }
80
81
82SIEHE AUCH
83==========
84
85 AddRoute(), AddMsg(), /std/transport.c
86
Arathorn3f92d242020-01-22 21:43:46 +010087Last modified: 15.01.2020, Arathorn