Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
stellwerksim:tutorials:bauen:zuege:namensmuster [2016/02/13 14:01] – Externe Bearbeitung 127.0.0.1 | stellwerksim:tutorials:bauen:zuege:namensmuster [2016/02/13 19:42] (aktuell) – gelöscht admin | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Namensmuster ====== | ||
- | Nun haben wir Züge erzeugt, aber die kann man nicht auseinanderhalten - sie brauchen einen Namen. Bei der DB besteht dieser Name aus der Zuggattung (z.B. ICE) und einer Nummer (z.B. 504), die möglichst nur einmal am Tag auftaucht. | ||
- | |||
- | Bei den meisten Bahnunternehmen gibt es daher Listen mit Nummernbereichen für bestimmte Züge (bei der DB sind z.B. die Nummern 0 bis 999 Fernzüge). Auch für Güter- und Sonderzüge gibt es solche Nummernbereiche. | ||
- | |||
- | Auch hier im Sim muss ein Zugname eindeutig sein, dazu zählt aber neben der Nummer auch die Zuggattung und ein eventueller Kommentar dahinter. | ||
- | |||
- | Zugnamen können grundsätzlich frei gewählt werden, solange sie mindestens ein sichtbares (siehe unten) Zeichen enthalten und im Sim-System eindeutig sind. Normalerweise orientier man sich aber an dem Zugnummernmuster des Vorbilds. | ||
- | |||
- | ===== Rechnen mit dem Namen ===== | ||
- | |||
- | Grundsätzlich kann man pro Template nur ein Namensmuster angeben, aber viele Züge erzeugen. Wie kann man nun dafür sorgen, dass jeder Zug einen eigenen Namen hat? | ||
- | |||
- | Die Lösung: Der Server rechnet bei jedem Zug die Zugnummer aus. Dafür gibt es Variablen, die sich während des Erzeugens der Züge ändern. Sie beginnen alle mit einem Dollarzeichen $: | ||
- | |||
- | * $zi - Fortlaufender Zähler, beginnt mit 0 bei jedem Template | ||
- | * $ti - Fortlaufender Zähler, beginnt mit 0 bei jedem ZugScript | ||
- | * $stdmin - Stunde und Minute der Abfahrt am Referenzbahnsteig | ||
- | * $i - Fortlaufender Zähler über alle erzeugten Züge | ||
- | |||
- | < | ||
- | |||
- | Hierzu einige Beispiele. | ||
- | |||
- | ==== Beispiel 1 ==== | ||
- | |||
- | Namensmuster: | ||
- | ZugScript: takt(60, | ||
- | |||
- | Dieses Namensmuster erzeugt folgende Züge: | ||
- | |||
- | RB 21002 | ||
- | RB 21004 | ||
- | RB 21006 | ||
- | |||
- | Gerechnet wird nach den gängigen Rechenregeln: | ||
- | |||
- | 21002+0*2 = 21002 + (0 * 2) = 21002 + 0 = 21002 | ||
- | 21002+1*2 = 21002 + (1 * 2) = 21002 + 2 = 21004 | ||
- | 21002+2*2 = 21002 + (2 * 2) = 21002 + 4 = 21006 | ||
- | |||
- | Wichtig: Die Variablen fangen immer bei 0 an. Die Zugnummer im Namensmuster ist also die Nummer des ersten Zuges. | ||
- | |||
- | ==== Beispiel 2 ==== | ||
- | |||
- | < | ||
- | |||
- | ===== Unsichtbare Zusätze: Das %-Zeichen ===== | ||
- | |||
- | Da es doch mal vorkommt, dass Zugnummern im Sim mehrfach vorkommen (z.B. weil ICEs in mehreren Templates dargestellt werden müssen oder zwei Regionen die gleiche Nummer für ihren Güterzug wählen), gibt es eine Erweiterung: | ||
- | |||
- | Dabei muss man natürlich beachten, dass der Spieler evtl. nur einen Teil des Namens sieht - und damit zwei Züge mit dem gleichen Namen vor dem % nicht auseinanderhalten kann: Weder auf Displays noch bei Zugmeldungen noch bei Fehlermeldungen im Forum. Daher sollte man darauf achten, dass der für den Spieler sichtbare Name trotzdem von diesem auseinander gehalten werden kann. | ||
- | |||
- | ===== NAME als ZugScript-Parameter ===== | ||
- | |||
- | Es gibt die Möglichkeit, | ||
- | |||
- | Im ZugScript wird dann der zusätzliche Parameter NAME=xxx angegeben, xxx steht hier für das Namensmuster. | ||
- | |||
- | Wichtig: Wird das Namensmuster innerhalb des ZugScripts angegeben, wird $zi bei mehreren ZugScripten nicht zurückgesetzt, | ||
- | |||
- | takt(60, | ||
- | takt(60, | ||
- | |||
- | Hier werden folgende Züge erzeugt: | ||
- | |||
- | RB 21201 | ||
- | RB 21203 | ||
- | RB 21205 | ||
- | | ||
- | RB 21215 | ||
- | RB 21217 | ||
- | RB 21219 | ||
- | |||
- | Möchte man aber eine fortlaufende Nummerierung mit Auslassen eines Zuges, muss man $ti verwenden: | ||
- | |||
- | takt(60, | ||
- | takt(60, | ||
- | |||
- | Dies erzeugt folgende Züge: | ||
- | |||
- | RB 21201 | ||
- | RB 21203 | ||
- | RB 21205 | ||
- | | ||
- | RB 21209 | ||
- | RB 21211 | ||
- | RB 21213 | ||
- | |||
- | ===== Und im nächsten Kapitel... ===== | ||
- | |||
- | ... wird der Fahrplan erstellt. | ||
- | |||
- | Dieses Kapitel wird in Zukunft ergänzt. | ||
- | |||
- | | [[.: |