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.
Grundsätzlich kann man pro Zugtemplate 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 $:
Hierzu einige Beispiele.
Namensmuster: RB 21002+$zi*2 Zugscript: takt(60,ID=123,GLEIS=A-Dorf,STUNDE=5..8);
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.
Da es doch mal vorkommt, dass Zugnummern im Sim mehrfach vorkommen (z.B. weil ICEs in mehreren Zugtemplates dargestellt werden müssen oder zwei Regionen die gleiche Nummer für ihren Güterzug wählen), gibt es eine Erweiterung: Hinter dem Namen, der für den Spieler sichtbar sein soll, kann man ein Prozentzeichen % setzten. Dieses % und alles, was dahinter folgt, wird dem Spieler nicht mehr angezeigt, ist aber Teil des Zugnames und hilft dem Erbauer beim Unterscheiden der Züge.
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.
Es gibt die Möglichkeit, das Namensmuster statt für das Zugtemplate nur für jedes einzelne Zugscript zu setzten. Das Namensmuster-Feld des Zugtemplates bleibt dann leer. Es kann aber nur eines von beiden gemacht werden.
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, sondern läuft weiter! Normalerweise ist hier $ti die bessere Wahl.
takt(60,ID=123,GLEIS=A-Dorf,STUNDE=5..8,NAME=RB 21201+$zi*2); takt(60,ID=123,GLEIS=A-Dorf,STUNDE=9..12,NAME=RB 21209+$zi*2);
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,ID=123,GLEIS=A-Dorf,STUNDE=5..8,NAME=RB 21201+$ti*2); takt(60,ID=123,GLEIS=A-Dorf,STUNDE=9..12,NAME=RB 21209+$ti*2);
Dies erzeugt folgende Züge:
RB 21201 RB 21203 RB 21205 RB 21209 RB 21211 RB 21213
… wird der Fahrplan erstellt.