blob: aa84a11985933c105a9f41e0eda7861f5f812383 [file] [log] [blame]
AddFun()
========
FUNKTION
--------
::
void AddFun(string fun, int next);
DEFINIERT IN
------------
::
/std/transport.c
ARGUMENTE
---------
::
fun
Name der Funktion.
next
Zeit bis zur naechsten Fahrplanstation.
BESCHREIBUNG
------------
::
Dem Fahrplan wird der Aufruf der Funktion fun, die im Transporter
definiert sein muss, hinzugefuegt. Nach Aufruf der Funktion vergehen
next Sekunden, bis die naechste Station angefahren wird.
RUeCKGABEWERT
-------------
::
keiner
HINWEISE
--------
::
Die genannte Funktion <fun> wird per call_other() an this_object()
gerufen, d.h. ihre Sichtbarkeit muss static oder public sein.
BEISPIELE
---------
::
Wenn ein zufaellig ausgewaehlter Passagier eines Schiffes unterwegs
seekrank werden soll, koennte man das wie folgt realisieren:
protected void create() {
...
AddFun("seekrank", 5);
...
}
seekrank() {
// soll nicht immer passieren
if (random(5))
return;
// Opfer auswaehlen
object* passagiere = QueryPassengers();
object opfer;
if (sizeof(passagiere))
opfer = passagiere[random(sizeof(passagiere))];
tell_object(opfer,
"Du wirst seekrank! Schnell stuerzt Du zur Reling, um Dich zu\n"
"uebergeben.\n");
tell_room(this_object(),
sprintf("%s ueberkommt die Seekrankheit!\n"
"%s stuerzt an die Reling, um sich zu uebergeben.\n",
opfer->Name(WEN),
capitalize(opfer->QueryPronoun(WER))), ({ opfer }) );
}
SIEHE AUCH
----------
::
AddRoute(), AddMsg(), /std/transport.c
Last modified: 15.01.2020, Arathorn