User Tools

Site Tools


userpages:entaxi57:scriptesammlung-de

zurück - back

Scriptesammlungen

Blöcke ent-/sperren

Dieses Script ist dazu da, Blöcke, die öfters gesperrt werden sollen (z.B. zum Testen von Fahrstraßen), diese über Ausgänge zu schließen/öffnen. Wobei beim Ausgang "rot" geschlossen und "grün" geöffnet bedeutet. Durch dieses Script wird auch nur eine Aktion benötigt, man muss also nicht für jeden Block/Ausgang eine eigene Aktion erstellen. Hinweis: für jeden Block wird ein Ausgang benötigt.
Voraussetzungen: Aktion "Blöcke schließen/öffnen" in allen Ausgängen einbinden, die zum jeweiligen Block gehören. Achtung: Ausgang und Block müssen den gleichen Namen haben!

Aktion

<ac id="Blöcke schließen/öffnen" prev_id="Blöcke schließen/öffnen" desc="" timed="false" activated="false" random="false" every="false" hour="0" min="0" sec="0" cmd="Bloecke_ent-sperren.xml" oid="" suboid="" actiontime="0" param="" timer="0" doublequote="true" async="true" type="ext" iid="" bus="0" addr="0" port="0"/>

Aktionssteuerungen

<?xml version="1.0" encoding="UTF-8"?>
<item>
   <actionctrl id="Blöcke schließen/öffnen" lcid="" reset="true" allconditions="true" desc="" atcmd="true" atevt="false" auto="true" manual="true" state="off" substate="" duration="0" timer="0" callerid=""/>
   <actionctrl id="Blöcke schließen/öffnen" lcid="" reset="true" allconditions="true" desc="" atcmd="true" atevt="false" auto="true" manual="true" state="on" substate="" duration="0" timer="0" callerid=""/>
</item>

Script

<?xml version="1.0" encoding="UTF-8"?>
<xmlscript desc="Bloecke_ent-sperren.xml">
   <!-- Blöcke sperren -->
   <if state="co %callerid% = off">
      <then>
         <bk id="%callerid%" state="closed"/>
      </then>
      <else>
         <bk id="%callerid%" state="open"/>
      </else>
   </if>
</xmlscript>

Download

Plan und Scripte:
bloecke_ent-sperren.zip

Blöcke ent-/sperren - Teil 2 (mit Substring)

Dieses Script ist dazu da, Blöcke, die bereits ein Signal vom Typ "Blockstatus" haben, komfortabel zu schließen/öffnen (z.B. zum Testen von Fahrstraßen). Wobei beim Signal "red" geschlossen und "green" geöffnet bedeutet.
Durch dieses Script wird auch nur eine Aktion benötigt, man muss also nicht für jeden Block/Signal (Typs "Blockstatus") eine eigene Aktion erstellen.
Hinweis: für jeden Block wird ein Signal des Typs "Blockstatus" benötigt.

Voraussetzungen:
Signale des Typs "Blockstatus" unter "Einzelheiten" das Feld "Begriffe" auf 2 stellen.
Aktion "Blöcke schließen/öffnen" in allen Signalen des Typs "Blockstatus" einbinden, die zum jeweiligen Block gehören.
Achtung: Signal und Block müssen teilweise die gleiche Bezeichnung haben!
Beispiel:
Block: 01
Signal: 01-Info

Aktion

<ac id="Blöcke schließen/öffnen" prev_id="Blöcke schließen/öffnen" desc="" timed="false" activated="false" random="false" every="false" hour="0" min="0" sec="0" cmd="Bloecke_ent-sperren.xml" oid="" suboid="" actiontime="0" param="" timer="0" doublequote="true" async="true" type="ext" iid="" bus="0" addr="0" port="0"/>

Aktionssteuerungen

<?xml version="1.0" encoding="UTF-8"?>
<item>
   <actionctrl id="Blöcke schließen/öffnen" lcid="" reset="true" allconditions="true" desc="" atcmd="true" atevt="false" auto="true" manual="true" state="red" substate="" duration="0" timer="0" callerid=""/>
   <actionctrl id="Blöcke schließen/öffnen" lcid="" reset="true" allconditions="true" desc="" atcmd="true" atevt="false" auto="true" manual="true" state="green" substate="" duration="0" timer="0" callerid=""/>
</item>

Script

<?xml version="1.0" encoding="UTF-8"?>
<xmlscript desc="Bloecke_ent-sperren.xml">
   <!-- Blöcke sperren -->
   <if state="sg %callerid% = red">
      <then>
         <vr id="callerid" text="%callerid%" start="0" length="2"/>
         <bk id="@callerid BL" state="closed"/>
      </then>
      <else>
         <vr id="callerid" text="%callerid%" start="0" length="2"/>
         <bk id="@callerid BL" state="open"/>
      </else>
   </if>
</xmlscript>

Download

Plan und Scripte:
bloecke_ent-sperren-2.zip

Mindestbesetzung per Textfeld und xml-Script steuern

Dieses Script ist dazu da, in Ortschaften die Mindestbesetzung (z.B. bei Aufstell-Blöcken (AB), Rangierbahnhof (RHb) die über eine Ortschaft definiert wurden) über Ausgänge und Textfeldern anzupassen. Wobei beim Ausgang "grün" die Mindestbesetzung gemäß dem dazugehörigen Textfeld mit Eingabefeld gesetzt wird und bei "rot" auf 0 (keine Mindest-Besetzung) gesetzt wird. Durch dieses Script wird auch nur eine Aktion benötigt, man muss also nicht für jede Ortschaft/jeden Ausgang, bei denen man die Mindest-Besetzung variieren will eine eigene Aktion erstellen. Hinweis: für jede Ortschaft wird ein Ausgang, sowie ein Textfeld mit Eingabefeld benötigt.

Voraussetzungen:

1. Aktion "Mindestbesetzung" in allen Ausgängen einbinden, die zur jeweiligen Ortschaft gehören. Außerdem werden je Ortschaft Textfelder mit Eingabefeld benötigt.

2. Ausgänge, Textfelder und Script-Befehl '<case val="xxx">' müssen den gleichen Name haben.

Aktion

<ac id="Mindestbesetzung" prev_id="Mindestbesetzung" desc="Mindestbesetzung setzen" timed="false" activated="false" random="false" every="false" hour="0" min="0" sec="0" cmd="Mindestbesetzung.xml" oid="" suboid="" actiontime="0" param="" timer="0" doublequote="true" async="true" type="ext" iid="" bus="0" addr="0" port="0"/>

Aktionssteuerungen

<?xml version="1.0" encoding="UTF-8"?>
<item>
   <actionctrl id="Mindestbesetzung" lcid="" reset="true" desc="" auto="true" manual="true" state="on" duration="0" callerid="" allconditions="true" atcmd="true" atevt="false" substate="" timer="0"/>
   <actionctrl id="Mindestbesetzung" lcid="" reset="true" desc="" auto="true" manual="true" state="off" duration="0" callerid="" allconditions="true" atcmd="true" atevt="false" substate="" timer="0"/>
</item>

Script

<?xml version="1.0" encoding="UTF-8"?>
<xmlscript desc="Mindestbesetzung.xml">
   <!-- Mindestbesetzung setzen -->
   <switch var="%callerid%">
      <!-- RBh-Mindestbesetzung setzen -->
      <case val="RBh-Mindestbesetzung">
         <if condition="%state% # on">
            <then>
               <location id="Rangierbahnhof" cmd="minocc" value="$RBh-Mindestbesetzung"/>
               <trace text="%callerid%: $RBh-Mindestbesetzung"/>
            </then>
            <else>
               <location id="Rangierbahnhof" cmd="minocc" value="0"/>
               <trace text="%callerid%: 0"/>
            </else>
         </if>
      </case>
   </switch>
</xmlscript>

Hinweis: Bei zusätzlichen Ortschaften, bei denen die Mindestbesetzung ebenfalls angepasst werden soll, muss im Script jeweils ein weiterer "case"-Befehl eingebunden werden.

      <!-- Ortschaft-Mindestbesetzung setzen -->
      <case val="Ortschaft-Mindestbesetzung">
         <if condition="%state% # on">
            <then>
               <location id="Ortschaft" cmd="minocc" value="$Ortschaft-Mindestbesetzung"/>
               <trace text="%callerid%: $Ortschaft-Mindestbesetzung"/>
            </then>
            <else>
               <location id="Ortschaft" cmd="minocc" value="0"/>
               <trace text="%callerid%: 0"/>
            </else>
         </if>
      </case>

Anmerkung: Die "trace"-Zeile kann gelöscht werden (XmlScript-Traces werden in Rocview in grüner Farbe angezeigt.)

Download

Plan und Scripte:
mindestbesetzung.zip

Alternative ohne Ausgang

Dieses Script ist dazu da, in Ortschaften die Mindestbesetzung (z.B. bei Aufstell-Blöcken, Rangierbahnhof die über eine Ortschaft definiert wurden) über Textfeldern mit Eingabefeld anzupassen. Wobei beim Ändern des Textfeldes die Mindestbesetzung gesetzt wird. Durch dieses Script wird auch nur eine Aktion benötigt, man muss also nicht für jede Ortschaft, bei denen man die Mindestbesetzung variieren will, eine eigene Aktion erstellen. Hinweis: für jede Ortschaft wird ein Textfeld mit Eingabefeld benötigt.


Voraussetzungen:

1. Aktion “Mindestbesetzung” in allen Textfeldern mit Eingabefeld einbinden, die zur jeweiligen Ortschaft gehören.

2. Textfelder und Script-Befehl '<case val="xxx">' müssen den gleichen Name haben.

Aktionssteuerungen

<?xml version="1.0" encoding="UTF-8"?>
<item>
   <actionctrl id="Mindestbesetzung" lcid="" reset="true" desc="" auto="true" manual="true" state="" duration="0" callerid="" allconditions="true" atcmd="true" atevt="false" substate="" timer="0"/>
</item>

Script

<?xml version="1.0" encoding="UTF-8"?>
<xmlscript desc="Mindestbesetzung.xml">
   <!-- Mindestbesetzung setzen -->
   <switch var="%callerid%">
      <!-- RBh-Mindestbesetzung setzen -->
      <case val="RBh-Mindestbesetzung">
         <location id="E0_Rangierbahnhof" cmd="minocc" value="$RBh-Mindestbesetzung"/>
         <trace text="%callerid%: $RBh-Mindestbesetzung"/>
      </case>
   </switch>
</xmlscript>

Hinweis: Bei zusätzlichen Ortschaften, bei denen die Mindestbesetzung ebenfalls angepasst werden soll, muss im Script jeweils ein weiterer “case”-Befehl eingebunden werden.

   <!-- Ortschaft-Mindestbesetzung setzen -->
   <case val="Ortschaft-Mindestbesetzung">
      <location id="Ortschaft" cmd="minocc" value="$Ortschaft-Mindestbesetzung"/>
      <trace text="%callerid%: $Ortschaft-Mindestbesetzung"/>
   </case>

Anmerkung: Die “trace”-Zeile kann gelöscht werden (XmlScript-Traces werden in Rocview in grüner Farbe angezeigt.)

Download

Plan und Scripte:
mindestbesetzung_ohne.zip

Lokbilder im Aufstellblock anzeigen

Dieses Script ist dazu da, Lokbilder in Textfeldern anzuzeigen, da in Aufstell-Blöcken die Lokbilder nicht, wie in den normalen Blöcken, angezeigt werden können. Hinweis: Für jeden Abschnitt wird ein Textfelder benötigt.

Voraussetzungen: Aktion "AB-Lokbilder" in allen Abstellblöcken einbinden, bei dem ein Lokbild angezeigt werden soll. Achtung: Textfelder müssen die gleiche Namenskonvention haben, wie die Abschnitts-Kennungen, ggf. mit einem Zusatz, z.B. "Lok-":

Aktion

<ac id="AB-Lokbilder" prev_id="AB-Lokbilder" desc="Lokbilder im Abstellblock anzeigen" timed="false" random="false" every="false" hour="0" min="0" sec="0" cmd="AB-Lokbilder.xml" oid="" actiontime="0" param="" timer="0" doublequote="true" type="ext" iid="" bus="0" addr="0" port="0" suboid="" activated="false" async="false"/>

Aktionssteuerungen

<?xml version="1.0" encoding="UTF-8"?>
<item>
   <actionctrl id="AB-Lokbilder" lcid="" reset="true" allconditions="true" desc="" atcmd="true" atevt="false" auto="true" manual="true" state="section" substate="*" duration="0" timer="0"/>
</item>

Script

<?xml version="1.0" encoding="UTF-8"?>
<xmlscript desc="AB-Lokbilder.xml">
   <!-- Lokbilder im Aufstellblock anzeigen -->
   <if condition="%lcimg% # %lcimg%">
      <then>
         <tx id="Lok-%substate%" format="%lcimg%"/>
      </then>
      <else>
         <tx id="Lok-%substate%" format="keinelok.png"/>
      </else>
   </if>
</xmlscript>

Download

Plan und Scripte:
lokbilder_im_aufstellblock.zip

Aktuellen Lok-Standort und Blockseite/Richtung ermitteln und wiederherstellen

Diese Scripte sind dazu da, den aktuellen Lok-Standort und Blockseite/Richtung sowie ggf. den Zug der Lok zu ermitteln und wieder herzustellen (ab Version 11.761+). z.B. nach dem "virtuell" getestet wurde und den Originalzustand gemäß Modellanlage wieder hergestellt werden soll - Loks in den richtigen Blöcke usw. stetzen.

Hinweis: Andere Parameter werden nicht gesichert/wiederhergestellt.

Achtung: Bitte vor den ersten Tests immer eine Sicherung der eigenen xml-Files erzeugen!!!!


Voraussetzungen:

1. Bei allen Loks muss die "Kurz-Kennung" (ohne Leerzeichen) eingetragen sein
	-  Loks ohne "Kurz-Kennung" werden nicht berücksichtigt
2. Bei den folgenden Objekten dürfen bei der Kennung keine Leerzeichen vorhanden sein:
	a. Blöcke
	b. Aufstellblöcke
	c. Züge (Fahrdienstleiter und Züge: Steuerung - Name)
	d. Drehscheiben (nicht getestet)
	e. Fiddle Yards (nicht getestet)
3. Es werde je Lok-Kurz-Kennung 3 Variablen automatisch erzeugt:
	a. vr-Loco-Standort-{Lok-Kurz-Kennung}
	b. vr-Loco-Standort-{Lok-Kurz-Kennung}-lccurtrack
	c. vr-Loco-Standort-{Lok-Kurz-Kennung}-train
4. Aktion "Lok-Standort-Original" unter Menu Aktionen... erzeugen:

Aktion

<ac id="Lok-Standort-Original" prev_id="Lok-Standort-Original" desc="" timed="false" activated="false" random="false" every="false" hour="0" min="0" sec="0" cmd="Lok-Standort-Original.xml" oid="" suboid="" actiontime="0" param="" timer="0" doublequote="true" async="true" type="ext" iid="" bus="0" addr="0" port="0"/>
5. Aktion "Lok-Standort-Original" unter System Aktionen... einbinden:
**Hinweis:** Script wird automatisch ausgeführt, sobald die Gleisspannung über Rocrail ausgeschaltet wird!!!
**Anmerkung:** Das Script kann ggf. auch in einem Ausgang eingebunden werden. Hierbei nur der Status (state) anpassen, dann wird aber das Script nicht automatisch ausgeführt.

Aktionssteuerungen

<?xml version="1.0" encoding="UTF-8"?>
<item>
	<actionctrl id="Lok-Standort-Original" lcid="" reset="true" allconditions="true" desc="" atcmd="true" atevt="false" auto="true" manual="true" state="stop-cmd" substate="" duration="0" timer="0"/>
</item>

Script "Lok-Standort-Original"

<?xml version="1.0" encoding="UTF-8"?>
<xmlscript desc="Lok-Standort-Original.xml">
	<!-- Aktuellen Lok-Standort und Blockseite/Richtung sowie ggf. den Zug ermitteln -->
	<if state="sys system = stop|co %callerid% = off" alltrue="false">
		<then>
			<!-- Aktuellen Lok-Standort und Blockseite/Richtung ermitteln -->
			<foreach table="lclist" condition="%lcshortid% # %lcshortid%">
				<vr id="vr-Loco-Standort-%lcshortid%" value="100" text="Unbekannt"/>
				<vr id="vr-Loco-Standort-%lcshortid%-lccurtrack" value="0" text=""/>
				<vr id="vr-Loco-Standort-%lcshortid%-train" value="0" text="%operatorid%"/>
				<if condition="%lcplacing% # norm|%lcdir% # fwd" state="lc %lcshortid% = +">
					<then>
						<vr id="vr-Loco-Standort-%lcshortid%" value="0" text="%lccur%"/>
					</then>
				</if>
				<if condition="%lcplacing% # norm|%lcdir% # rev" state="lc %lcshortid% = +">
					<then>
						<vr id="vr-Loco-Standort-%lcshortid%" value="1" text="%lccur%"/>
					</then>
				</if>
				<if condition="%lcplacing% # swap|%lcdir% # fwd" state="lc %lcshortid% = +">
					<then>
						<vr id="vr-Loco-Standort-%lcshortid%" value="2" text="%lccur%"/>
					</then>
				</if>
				<if condition="%lcplacing% # swap|%lcdir% # rev" state="lc %lcshortid% = +">
					<then>
						<vr id="vr-Loco-Standort-%lcshortid%" value="3" text="%lccur%"/>
					</then>
				</if>
				<if condition="%lcplacing% # norm|%lcdir% # fwd" state="lc %lcshortid% = -">
					<then>
						<vr id="vr-Loco-Standort-%lcshortid%" value="4" text="%lccur%"/>
					</then>
				</if>
				<if condition="%lcplacing% # swap|%lcdir% # fwd" state="lc %lcshortid% = -">
					<then>
						<vr id="vr-Loco-Standort-%lcshortid%" value="5" text="%lccur%"/>
					</then>
				</if>
				<if condition="%lcplacing% # swap|%lcdir% # rev" state="lc %lcshortid% = -">
					<then>
						<vr id="vr-Loco-Standort-%lcshortid%" value="6" text="%lccur%"/>
					</then>
				</if>
				<!-- Ermitteln, ob die Lok in einem Aufstellblock steht -->
				<foreach table="sblist" condition="@vr-Loco-Standort-%lcshortid% = %oid%">
					<vr id="vr-Loco-Standort-%lcshortid%-lccurtrack" value="0" text="%lccurtrack%"/>
					<sleep time="100"/>
				</foreach>
				<sleep time="100"/>
			</foreach>
			<trace text="Aktuellen Lok-Standort incl. Blockseite/Richtung sowie ggf. den Zug ermittelt."/>
		</then>
	</if>
</xmlscript>
6. Aktion "Lok-Standort-wiederherstellen" unter Menu Aktionen... erzeugen:

Aktion

<ac id="Lok-Standort-wiederherstellen" prev_id="Lok-Standort-wiederherstellen" desc="" timed="false" activated="false" random="false" every="false" hour="0" min="0" sec="0" cmd="Lok-Standort-wiederherstellen.xml" oid="" suboid="" actiontime="0" param="" timer="0" doublequote="true" async="true" type="ext" iid="" bus="0" addr="0" port="0"/>
7. Aktion "Lok-Standort-wiederherstellen" in den Ausgang einbinden, der den Lokstandort und Blockseite/Richtung wiederherstellen soll:

Aktionssteuerungen

<?xml version="1.0" encoding="UTF-8"?>
<item>
	<actionctrl id="Lok-Standort-wiederherstellen" lcid="" reset="true" allconditions="true" desc="" atcmd="true" atevt="false" auto="true" manual="true" state="off" substate="" duration="0" timer="0"/>
</item>

Script "Lok-Standort-wiederherstellen"

Das Script läuft in 4 Teilabschnitten:
a. Lokstandorte incl. Züge zurücksetzen
b. Lokstandorte incl. Züge wiederherstellten
c. Platzierung wiederherstellten
d. Blockseite/Richtung wiederherstellten
Zum Abschluss wird der Ausgang wieder auf "grün" gestellt.

<?xml version="1.0" encoding="UTF-8"?>
<xmlscript desc="Lok-Standort-wiederherstellen.xml">
	<if state="co %callerid% = off">
		<then>
			<!-- Automatikmodus ggf. ausschalten -->
			<if state="auto auto = on|co %callerid% = off">
				<then>
					<auto cmd="off"/>
				</then>
			</if>
			<!-- Lokstandort resetten -->
			<foreach table="lclist" condition="%lcshortid% # %lcshortid%">
				<lc id="%lcid%" cmd="reset"/>
				<lc id="%lcid%" cmd="releasetrain"/>
				<sleep time="500"/>
			</foreach>
			<trace text="Lokstandorte incl. Züge zurückgesetzt."/>
			<sleep time="1000"/>
			<!-- Lokstandort wiederherstellen sowie ggf. den Zug -->
			<foreach table="lclist" condition="%lcshortid% # %lcshortid%">
				<!-- Lok ggf. den Originalzug zuweisen -->
				<foreach table="operatorlist" condition="@vr-Loco-Standort-%lcshortid%-train = %oid%">
					<lc id="%lcid%" cmd="assigntrain" train="@vr-Loco-Standort-%lcshortid%-train"/>
					<sleep time="500"/>
				</foreach>
				<vr id="vr-sb" value="0" text=""/>
				<!-- Ermitteln, ob der Block ein Aufstellblock ist und setzen der Lok in den Abschnitt gemäß Variablen -->
				<foreach table="sblist" condition="@vr-Loco-Standort-%lcshortid% = %oid%">
					<vr id="vr-sb" value="0" text="%lcshortid%"/>
					<!-- Lok in Abschnitt wiederherstellen -->
					<sb id="@vr-Loco-Standort-%lcshortid%" cmd="setloco" locid="%lcid%" secid="@vr-Loco-Standort-%lcshortid%-lccurtrack"/>
					<sleep time="500"/>
				</foreach>
				<!-- Lok ggf. dem Originalblock zuweisen -->
				<if condition="@vr-sb ! %lcshortid%" >
					<then>
						<lc id="%lcid%" cmd="block" blockid="@vr-Loco-Standort-%lcshortid%"/>
					</then>
				</if>
				<sleep time="500"/>
			</foreach>
			<trace text="Lokstandorte und Zug wiederhergestellt."/>
			<sleep time="1000"/>
			<!-- Blockseite/Richtung für die Lok wiederherstellen -->
			<foreach table="lclist" condition="%lcshortid% # %lcshortid%">
				<if condition="#vr-Loco-Standort-%lcshortid% = 0">
					<then>
						<if condition="%lcplacing% # swap">
							<then>
								<lc id="%lcid%" cmd="swap"/>
							</then>
						</if>
					</then>
				</if>
				<if condition="#vr-Loco-Standort-%lcshortid% = 1">
					<then>
						<if condition="%lcplacing% # swap">
							<then>
								<lc id="%lcid%" cmd="swap"/>
							</then>
						</if>
					</then>
				</if>
				<if condition="#vr-Loco-Standort-%lcshortid% = 2">
					<then>
						<if condition="%lcplacing% # norm">
							<then>
								<lc id="%lcid%" cmd="swap"/>
							</then>
						</if>
					</then>
				</if>
				<if condition="#vr-Loco-Standort-%lcshortid% = 3">
					<then>
						<if condition="%lcplacing% # norm">
							<then>
								<lc id="%lcid%" cmd="swap"/>
							</then>
						</if>
					</then>
				</if>
				<if condition="#vr-Loco-Standort-%lcshortid% = 4">
					<then>
						<if condition="%lcplacing% # swap">
							<then>
								<lc id="%lcid%" cmd="swap"/>
							</then>
						</if>
					</then>
				</if>
				<if condition="#vr-Loco-Standort-%lcshortid% = 5">
					<then>
						<if condition="%lcplacing% # norm">
							<then>
								<lc id="%lcid%" cmd="swap"/>
							</then>
						</if>
					</then>
				</if>
				<if condition="#vr-Loco-Standort-%lcshortid% = 6">
					<then>
						<if condition="%lcplacing% # norm">
							<then>
								<lc id="%lcid%" cmd="swap"/>
							</then>
						</if>
					</then>
				</if>
				<!-- Lok hat unbefinierte Blockseite/Richtung -->
				<if condition="#vr-Loco-Standort-%lcshortid% = 100">
					<then>
						<trace text="Blockseite/Richtung der Lok %lcid% konnten nicht wiederhergestellt."/>
					</then>
				</if>
				<sleep time="500"/>
			</foreach>
			<trace text="Platzierung wiederhergestellt."/>
			<sleep time="1000"/>
			<foreach table="lclist" condition="%lcshortid% # %lcshortid%">
				<if condition="#vr-Loco-Standort-%lcshortid% = 0">
					<then>
						<if condition="%lcdir% # rev">
							<then>
								<lc id="%lcid%" dir="true"/>
							</then>
						</if>
						<if state="lc %lcshortid% = -">
							<then>
								<lc id="%lcid%" cmd="blockside" blockenterside="true"/>
							</then>
						</if>
					</then>
				</if>
				<if condition="#vr-Loco-Standort-%lcshortid% = 1">
					<then>
						<if condition="%lcdir% # fwd">
							<then>
								<lc id="%lcid%" dir="false"/>
							</then>
						</if>
						<if state="lc %lcshortid% = -">
							<then>
								<lc id="%lcid%" cmd="blockside" blockenterside="true"/>
							</then>
						</if>
					</then>
				</if>
				<if condition="#vr-Loco-Standort-%lcshortid% = 2">
					<then>
						<if condition="%lcdir% # rev">
							<then>
								<lc id="%lcid%" dir="true"/>
							</then>
						</if>
						<if state="lc %lcshortid% = -">
							<then>
								<lc id="%lcid%" cmd="blockside" blockenterside="true"/>
							</then>
						</if>
					</then>
				</if>
				<if condition="#vr-Loco-Standort-%lcshortid% = 3">
					<then>
						<if condition="%lcdir% # fwd">
							<then>
								<lc id="%lcid%" dir="false"/>
							</then>
						</if>
						<if state="lc %lcshortid% = -">
							<then>
								<lc id="%lcid%" cmd="blockside" blockenterside="true"/>
							</then>
						</if>
					</then>
				</if>
				<if condition="#vr-Loco-Standort-%lcshortid% = 4">
					<then>
						<if condition="%lcdir% # rev">
							<then>
								<lc id="%lcid%" dir="true"/>
							</then>
						</if>
						<if state="lc %lcshortid% = +">
							<then>
								<lc id="%lcid%" cmd="blockside" blockenterside="false"/>
							</then>
						</if>
					</then>
				</if>
				<if condition="#vr-Loco-Standort-%lcshortid% = 5">
					<then>
						<if condition="%lcdir% # rev">
							<then>
								<lc id="%lcid%" dir="true"/>
							</then>
						</if>
						<if state="lc %lcshortid% = +">
							<then>
								<lc id="%lcid%" cmd="blockside" blockenterside="false"/>
							</then>
						</if>
					</then>
				</if>
				<if condition="#vr-Loco-Standort-%lcshortid% = 6">
					<then>
						<if condition="%lcdir% # fwd">
							<then>
								<lc id="%lcid%" dir="false"/>
							</then>
						</if>
						<if state="lc %lcshortid% = +">
							<then>
								<lc id="%lcid%" cmd="blockside" blockenterside="false"/>
							</then>
						</if>
					</then>
				</if>
			</foreach>
			<trace text="Blockseite/Richtung wiederhergestellt."/>
			<co id="%callerid%" cmd="on"/>
		</then>
	</if>
</xmlscript>

Download

Plan und Scripte:
lok-standort.zip

userpages/entaxi57/scriptesammlung-de.txt · Last modified: 2018/11/12 08:56 by 127.0.0.1