AddRoute()¶
FUNKTION¶
public varargs void AddRoute(string room, int stay, int next,
string harbour_desc, mixed dest_ids, string deststr)
DEFINIERT IN¶
/std/transport.c
ARGUMENTE¶
string room
Filename der Haltestelle (des Ziels)
int stay
Aufenthaltszeit an der Haltestelle.
int next
Fahrtzeit von dort bis zum naechsten Fahrplanpunkt
string harbour_desc
Name der Haltestelle (fuer QueryArrived)
mixed dest_ids
kleingeschriebene IDs der Haltestelle
string destrstr
Unbenutzt / Undefiniert.
BESCHREIBUNG¶
Dem Fahrplan des Transporters wird eine neue Haltestelle hinzugefuegt.
Bei Erreichen der Haltestelle wird der Transporter in den Raum 'room'
bewegt und sichtbar gemacht. Nun kann man ihn fuer 'stay' Sekunden
betreten oder verlassen, bevor er ablegt (unsichtbar gemacht wird).
Nach 'next' Sekunden wird dann der naechste Punkt des Fahrplans
ausgefuehrt.
'harbour_desc' ist ein String, den QueryArrived() zurueckgibt, wenn sich
der Transporter an einer Haltestelle befindet. In der Regel ist das ein
String, der die Haltestelle naeher beschreibt.
'dest_ids' ist ein Array von Strings, die als ID-Code fuer diese
Haltstelle dienen. Das wird zB bei der Ermittlung einer Haltestelle bei
"reise nach" benutzt. Wenn 'dest_ids' nicht gesetzt ist, und auch
P_HARBOUR des Zielhafens nicht korrekt gesetzt ist, werden
grossgeschriebene Begriffe aus 'harbour_desc' verwendet.
BEISPIELE¶
#1 Hier ein Auszug aus /d/inseln/schiffe/jolle.c:
AddRoute("/d/ebene/room/PortVain/po_haf2", 40,
10, "Hafen von Port Vain");
Die Jolle wird also beim Anlegen in den Port Vainer Hafen bewegt und
laesst sich dort 40 Sekunden lang betreten oder verlassen.
QueryArrived() liefert waehrend dieser Zeit den String "Hafen von Port
Vain" zurueck. Nach den 40 Sekunden legt die Jolle ab, und nach
weiteren 10 Sekunden wird die naechste Station in ihrem Fahrplan
angefahren.
#2 Die Galeere nach Orkhausen:
AddRoute(INSEL("steg"), 30, 20, "Verlorene Land ( Orkhausen )" );
- haelt 30 Sekunden
- reist 20 Sekunden
- reist nach INSEL("steg"), bekannt als "Verlorene Land ( Orkhausen )"
- da keine 'dest_ids' angegeben sind, waere eine so definierte
Haltstelle nur mit den IDs ansprechbar, die in P_HARBOURS im Zielraum
angegeben sind.
Wenn man nun erreichen wollte, dass das Ziel auch mit dem Kuerzel "vland"
ansprechbar ist, kann man zum einen explizite 'dest_ids' eintragen:
AddRoute(INSEL("steg"), 30, 20, "Verlorene Land ( Orkhausen )",
({"verlorenes", "land", "orkhausen", "vland"}));
Dies laesst sich im Zielhafen aber auch durch Eintragen des Kuerzels
"vland" in P_HARBOUR erreichen. Dies hat den Vorteil, dass dieser Hafen
dann von allen Transportern, die dort anlegen, unter demselben Namen
erreicht werden kann.
HINWEISE¶
Dadurch, dass die Eintraege aus P_HARBOUR und 'dest_ids' gleichberechtigt
fuer "reise nach <ziel>" verwendet werden koennen, ist es moeglich,
dass die Reiseziele auf einem Schiff unter zusaetzlichen Bezeichnungen
bekannt sind, als an Land (zum Beispiel koennte eine fernwestliche
Besatzung die Ziele anders nennen).
SIEHE AUCH¶
Funktionen AddMsg(L), AddFun(L), /std/transport.c Properties P_HARBOUR, P_NO_TRAVELING, P_TRAVEL_INFO