Grundbefehle

Grundbefehle sind in der Mehrheit Rechenbefehle. Rechenbefehle berechnen etwas aus 2 oder mehr Werten (theoretisch auch nur aus einem Wert, aber da gibts im Moment keinen Befehl). Das Ergebnis ersetzt dann den Befehl samt seiner Parameter, so daß der nächste Befehl nur noch das Ergebnis sieht.

Die Befehle:

Mathematische
• rnd 2 Parameter: Zufallszahl zwischen Parametern inklusive Parametern, größerer Wert muß näher am Befehl stehen
• oneof mindestens 1 Parameter: Zufallswert aus Liste von Werten, 1. Parameter am Befehl gibt Anzahl an Werten an, die dann folgen
• + 2 Parameter: Addition
• - 2 Parameter: Subtraktion
• * 2 Parameter: Multiplikation
• / 2 Parameter: Division

Kommentare

• # Hiermit können Kommentare in das Script eingebaut werden, die nicht ausgegeben werden. Nach dem #(Hash) ist dann ein Leerzeichen zu setzen. Somit können eingebaute Funktionen für andere Erbauer, die ein ThemaScript bearbeiten, erklärt werden. Beachte die Sim-spezifischen Kommentarfunktion unter "StellwerkSim-Befehle".

Programmfluß
• sub 1 Parameter: ruft ThemaScript eines anderen ThemaScript-Lib Eintrags, dessen ID man übergibt, für diesen Zug auf - Unterprogramm
• tsub 2 Parameter: ruft ThemaScript eines anderen ThemaScript-Lib Eintrags, dessen ID man übergibt (1. Parameter am Befehl), für diesen Zug auf, außerdem gibt man noch ein Thema mit (muß kein freigeschaltetes Thema sein), so daß nicht der Code des aktuellen Themas sondern des übergebenen ausgeführt wird - Unterprogramm
• hook 1 Parameter: ruft ThemaScript eines anderen ThemaScript-Lib Eintrags für diesen Zug auf (vgl. sub), es wird dabei in der ThemaScript-Lib nach einem Eintrag gesucht, der aus "ZH-", dem Nameskürzel der Zugregion und dem Prefix aus dem 1. Parameter am Befehl entspricht, also z.B. "starthook,hook" sucht einen Lib-Eintrag "ZH-MSB-starthook" für Züge mit dem Namen "MSB_...."
• thook 2 Parameter: ruft ThemaScript eines anderen ThemaScript-Lib Eintrags für diesen Zug auf, außerdem gibt man noch ein Thema mit (muß kein freigeschaltetes Thema sein), so daß nicht der Code des aktuellen Themas sondern des übergebenen ausgeführt wird (vgl. tsub), es wird dabei in der ThemaScript-Lib nach einem Eintrag gesucht, der aus "ZH-", dem Nameskürzel der Zugregion und dem Prefix aus dem 1. Parameter am Befehl entspricht, also z.B. "starthook,hook" sucht einen Lib-Eintrag "ZH-MSB-starthook" für Züge mit dem Namen "MSB_...."
• regionhook 1 Parameter: ruft ThemaScript eines anderen ThemaScript-Lib Eintrags für diesen Zug auf (vgl. sub), es wird dabei in der ThemaScript-Lib nach einem Eintrag gesucht, der aus "RH-", dem Nameskürzel der Region des aktuellen Stellwerks und dem Prefix aus dem 1. Parameter am Befehl entspricht, also z.B. "starthook,hook" sucht einen Lib-Eintrag "ZH-MSB-starthook" für Züge wenn sie in ein Stellwerk der Regio mit dem Kürzel "MSB" fahren
• tregionhook 2 Parameter: ruft ThemaScript eines anderen ThemaScript-Lib Eintrags für diesen Zug auf, außerdem gibt man noch ein Thema mit (muß kein freigeschaltetes Thema sein), so daß nicht der Code des aktuellen Themas sondern des übergebenen ausgeführt wird (vgl. tsub), es wird dabei in der ThemaScript-Lib nach einem Eintrag gesucht, der aus "RH-", dem Nameskürzel der Region des aktuellen Stellwerks und dem Prefix aus dem 1. Parameter am Befehl entspricht, also z.B. "starthook,hook" sucht einen Lib-Eintrag "ZH-MSB-starthook" für Züge wenn sie in ein Stellwerk der Regio mit dem Kürzel "MSB" fahren
• if 3 Parameter: führt je nach Bool-Wert (True/False - 1. Parameter) den Subcode im 2. (true) oder 3. (false) Parameter (3. Parameter ist der direkt am Befehl) aus
• nop kein Parameter: tut nichts, nötig für leere IF-Subcodes

Ausgabe/Debug
• print 1 Parameter: gibt den Wert aus - für Testzwecke
• spy 1 Parameter: gibt den Wert aus und macht ihn für den nächsten Befehl wieder verfügbar - für Testzwecke

Boolsche Operationen
• = 2 Parameter: vergleichen
• < 2 Parameter: kleiner als, größerer Wert muß näher am Befehl stehen
• > 2 Parameter: größer als
• <= 2 Parameter: kleiner oder gleich
• >= 2 Parameter: größer oder gleich
• and 2 Parameter: logisches Und
• or 2 Parameter: logisches Oder
• not 1 Parameter: logisches Nicht

Powered by Drupal - Design by BR 89