blob: 3ca009390457de0fcbe0da7c95e88c75ef05310c [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001AddRoute()
2FUNKTION:
3 public varargs void AddRoute(string room, int stay, int next,
4 string harbour_desc, mixed dest_ids, string deststr)
5
6DEFINIERT IN:
7 /std/transport.c
8
9ARGUMENTE:
10 string room
11 Filename der Haltestelle (des Ziels)
12 int stay
13 Aufenthaltszeit an der Haltestelle.
14 int next
15 Fahrtzeit von dort bis zum naechsten Fahrplanpunkt
16 string harbour_desc
17 Name der Haltestelle (fuer QueryArrived)
18 mixed dest_ids
19 kleingeschriebene IDs der Haltestelle
20 string destrstr
21 Unbenutzt / Undefiniert.
22
23BESCHREIBUNG:
24 Dem Fahrplan des Transporters wird eine neue Haltestelle hinzugefuegt.
25
26 Bei Erreichen der Haltestelle wird der Transporter in den Raum 'room'
27 bewegt und sichtbar gemacht. Nun kann man ihn fuer 'stay' Sekunden
28 betreten oder verlassen, bevor er ablegt (unsichtbar gemacht wird).
29 Nach 'next' Sekunden wird dann der naechste Punkt des Fahrplans
30 ausgefuehrt.
31
32 'harbour_desc' ist ein String, den QueryArrived() zurueckgibt, wenn sich
33 der Transporter an einer Haltestelle befindet. In der Regel ist das ein
34 String, der die Haltestelle naeher beschreibt.
35
36 'dest_ids' ist ein Array von Strings, die als ID-Code fuer diese
37 Haltstelle dienen. Das wird zB bei der Ermittlung einer Haltestelle bei
38 "reise nach" benutzt. Wenn 'dest_ids' nicht gesetzt ist, und auch
39 P_HARBOUR des Zielhafens nicht korrekt gesetzt ist, werden
40 grossgeschriebene Begriffe aus 'harbour_desc' verwendet.
41
42BEISPIELE:
43 #1 Hier ein Auszug aus /d/inseln/schiffe/jolle.c:
44
45 AddRoute("/d/ebene/room/PortVain/po_haf2", 40,
46 10, "Hafen von Port Vain");
47
48 Die Jolle wird also beim Anlegen in den Port Vainer Hafen bewegt und
49 laesst sich dort 40 Sekunden lang betreten oder verlassen.
50 QueryArrived() liefert waehrend dieser Zeit den String "Hafen von Port
51 Vain" zurueck. Nach den 40 Sekunden legt die Jolle ab, und nach
52 weiteren 10 Sekunden wird die naechste Station in ihrem Fahrplan
53 angefahren.
54
55 #2 Die Galeere nach Orkhausen:
56 AddRoute(INSEL("steg"), 30, 20, "Verlorene Land ( Orkhausen )" );
57 - haelt 30 Sekunden
58 - reist 20 Sekunden
59 - reist nach INSEL("steg"), bekannt als "Verlorene Land ( Orkhausen )"
60 - da keine 'dest_ids' angegeben sind, waere eine so definierte
61 Haltstelle nur mit den IDs ansprechbar, die in P_HARBOURS im Zielraum
62 angegeben sind.
63
64 Wenn man nun erreichen wollte, dass das Ziel auch mit dem Kuerzel "vland"
65 ansprechbar ist, kann man zum einen explizite 'dest_ids' eintragen:
66 AddRoute(INSEL("steg"), 30, 20, "Verlorene Land ( Orkhausen )",
67 ({"verlorenes", "land", "orkhausen", "vland"}));
68 Dies laesst sich im Zielhafen aber auch durch Eintragen des Kuerzels
69 "vland" in P_HARBOUR erreichen. Dies hat den Vorteil, dass dieser Hafen
70 dann von allen Transportern, die dort anlegen, unter demselben Namen
71 erreicht werden kann.
72
73HINWEISE:
74 Dadurch, dass die Eintraege aus P_HARBOUR und 'dest_ids' gleichberechtigt
75 fuer "reise nach <ziel>" verwendet werden koennen, ist es moeglich,
76 dass die Reiseziele auf einem Schiff unter zusaetzlichen Bezeichnungen
77 bekannt sind, als an Land (zum Beispiel koennte eine fernwestliche
78 Besatzung die Ziele anders nennen).
79
80SIEHE AUCH:
81Funktionen: AddMsg(L), AddFun(L), /std/transport.c
82Properties: P_HARBOUR, P_NO_TRAVELING, P_TRAVEL_INFO
83
842015-Jan-18, Arathorn.