Handbuch

STS Handbuch

Stellwerksim Handbuch

Webseiten-Werkzeuge


Seitenleiste



JavaScript ist deaktiviert!

stellwerksim:erbauer:themascripte:beispiele

Beispiele

Grundsätzlich ist ThemaScript sehr einfach, man muss es nur einmal verstanden haben. Um das Verständnis zu fördern gibt es auf dieser Seite einige Beispiele.

Einfache Beispiele

Beispiel 1 - Verspätung setzen

winter:start(5,verspätung);

Der Klassiker. Im Winter hat der Zug direkt am ersten Bahnhof 5 Minuten Verspätung.

Beispiel 2 - Tempo setzen

herbst:start(4,tempo);

Im Herbst fährt der Zug mit Tempo 4. Dieser Befehl wird auch sehr häufig verwendet.

Beispiel 3 - Zwei Werte kombiniert

winter:start(5,verspätung,6,tempo);
herbst:start(3,verspätung,5,tempo);

Im Winter hat dieser Zug 5 Minuten Verspätung und Tempo 6. Im Herbst dagegen nur 3 Minuten Verspätung und ein Tempo von 5.

Beispiel 4 - Nochmal was Kombiniertes

winter:start(8,verspätung,3,tempo)
herbst:start(4,verspätung,8,länge);

Im Winter hat dieser Zug 8 Minuten Verspätung und Tempo 3. Im Herbst dagegen 4 Minuten Verspätung und eine Zuglänge von 8.

Beispiel 5 - Einbinden mit Sub

winter:start(23,sub,10,verspätung)
herbst:*(23,sub);

Im Winter hat der Zug 10 Minuten Verspätung. Ausserdem wird ThemaScript 23 eingebunden. Im Herbst gilt dagegen nur die Regel vom Script 23.

Zu Beachten ist hier folgendes: Sollte im Script 23 schon eine Verspätung gesetzt sein wird sie im ersten Teil durch die 10 wieder überschrieben. Daneben gelten in beiden Fällen die Regeln des Themas. Dies heisst, dass auch im Winter die Herbstregel von Script 23 gilt.

Beispiel 6 - Zufälle gibt’s: rnd

winter:start(3,10,rnd,verspätung);

Im Winter gibt es hier eine zufällige Verspätung zwischen 3 und 10 Minuten.

Beispiel 7 - Nochmal Zufall rnd

winter:bahnhof($tempo,0,3,rnd,-,tempo);

Im Winter wird sobald der Zug das nächste Stellwerk erreicht das aktuelle Standardtempo des Zuges genommen, davon ein Zufallswert zwischen 0 und 3 abgezogen, und dieser Wert als neues Standardtempo im Thema Winter gesetzt.

Beispiel 8 - Werteauswahl mit oneof

winter:start(5,7,10,3,oneof,länge);

Hier wird einer der 3 Werte 5, 7 oder 10 zufällig ausgewählt und als neue Länge gesetzt.

Beispiel 9 - Multiplikation

winter:start(2,sub,$verspätung,2,*,verspätung);

Hier wird zuerst das winterscript von ThemaScript 2 übernommen und danach die entstandene Verspätung verdoppelt.

Beispiel 10 - Deaktivieren von Zügen

winter:start(N,aktiv);

Dieser Zug fährt im Winter nicht.

Beispiel 11 - Einbinden mit tsub

winter:start(sommer,2,tsub);

Mit diesem Befehl nimmt man die Sommerwerte von Script 2 anstelle des Themas Winter.

Beispiel 12 - Einbinden mit tsub kombiniert

winter:start(sommer,2,tsub,$verspätung,2,*,verspätung);

Zusätzlich zum vorhergehenden Beispiel verdoppelt man hier noch die Verspätung

kompliziertere Beispiele

Beispiel 13 - Eine Zeile aus dem Standardscript

herbst:start($verspaetung,0,$abstunde,4,/,rnd,+,verspaetung,$tempo,0,2,rnd,-,tempo);

Im Herbst wird zuerst die Verspätung des Zuges ausgelesen und danach durch einen zufälligen Wert zwischen 0 und einem Viertel der Abfahrtsstunde des letzten Bahnhofs im Zuglauf erhöht. Hiermit haben spät fahrende Züge mehr Verspätung als frühe. Zusätzlich wird dann noch das Tempo ausgelesen und um einen zufälligen Wert zwischen 0 und 2 reduziert.

Beispiel 14 - Einbinden von Script-Teilen mit Hooks

herbst:start(starthook,hook,8,tempo,winter,endhook,thook);

Im Herbst wird nach einem Script mit dem Namen „ZH-<REGION>-starthook“ gesucht, <REGION> wird dabei durch das Regionskürzel der Zugregion ersetzt. Sollte ein Script gefunden werden, wird dessen Inhalt ausgeführt. Ist kein passendes Script vorhanden passiert nichts. Anschliessend wird das Tempo auf 8 gesetzt. Zum Schluss wird nach einem Script mit dem Namen „ZH-<REGION>-endhook“ gesucht und - sofern vorhanden - dessen Winter-Teil ausgeführt.

stellwerksim/erbauer/themascripte/beispiele.txt · Zuletzt geändert: 2019/01/20 12:40 von petero