Handbuch

STS Handbuch

Stellwerksim Handbuch

Webseiten-Werkzeuge


stellwerksim:erbauer:themascripte:simparam

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
stellwerksim:erbauer:themascripte:simparam [2021/08/14 18:10] – Neuaufnahme langer Beschreibung und Erklärung der einzelnen Simparam-Befehle Wozzapstellwerksim:erbauer:themascripte:simparam [2023/08/08 15:12] (aktuell) – Hinweis dazu dass minstopR auch mit A-Flag funktioniert DevonFrosch
Zeile 1: Zeile 1:
 {{indexmenu_n>47}} {{indexmenu_n>47}}
 ====== Simparam ====== ====== Simparam ======
-Mit Simparams kann das Verhalten eines Zuges im Sim stark verändern.+Mit Simparams kann das Verhalten eines Zuges im Sim stark verändert werden.
  
 <note warnung>Das Setzen eines Wertes ergänzt die bestehenden Werte. Das heißt, dass die Werte NICHT überschrieben werden. Betritt ein Zug ein neues Stellwerk ist der Befehl wieder leer.</note> <note warnung>Das Setzen eines Wertes ergänzt die bestehenden Werte. Das heißt, dass die Werte NICHT überschrieben werden. Betritt ein Zug ein neues Stellwerk ist der Befehl wieder leer.</note>
Zeile 18: Zeile 18:
 Beispiel: Beispiel:
 <code>*:Bahnhof(20,minstop,any,simparam);</code></note> <code>*:Bahnhof(20,minstop,any,simparam);</code></note>
 +
 +<note important>Angegebene Halte beziehen sich immer auf den Halt im Fahrplan. Wird etwa gleisbezogen eine höhere Mindeststandzeit festgelegt, so wirkt diese nicht, wenn ein Zug dieses Gleis nur als Alternative anfährt!</note>
 +
 +===== Gauß-Verteilung =====
 +Die meisten Zeiten haben einen festen Mittelwert - die Standzeit an einem Halt zum Beispiel dauert immer etwa 30 Sekunden. Damit es nicht langweilig wird (und weil die Fahrgäste auch manchmal etwas länger oder kürzer brauchen), schwankt der tatsächliche Wert immer etwas um diesen Mittelwert herum. Je näher die Zeit am Mittelwert ist, desto wahrscheinlicher wird sie auftreten - Züge werden also deutlich häufiger 29 Sekunden stehen als 20 Sekunden, weil das näher am Mittelwert von 30 Sekunden liegt.
 +
 +Mathematisch wird das mit einer Normalverteilung oder Gauß-Verteilung abgebildet, die im STS immer 3 Werte hat: Minimum, Mittelwert und Maximum. Die erzeugten Zufallswerte schwanken immer um den Mittelwert, und mit Minimum und Maximum kann man beeinflussen, wie stark die Werte vom Mittelwert abweichen.
 +
 +Für gleisfalsch (also die Standzeit, wenn ein Zug ohne Gleisänderung am falschen Bahnsteig steht) kann man alle 3 Werte konfigurieren. Bei Standardwerten schwankt der Wert um 300 Sekunden (das sind die bekannten 5 Minuten) mit einer Streuung von 90 bis 600 Sekunden. Das ist sehr breit und damit sind Werte von 260 oder 350 Sekunden durchaus häufig, Werte von 100 oder 540 jedoch nicht (weil sie weit vom Mittelwert weg liegen).
 +
 +Erhöhen wir nun gleisfalschmax auf 900, wird die Abweichung nach oben auch wieder wahrscheinlicher - es ist dann also wahrscheinlicher, dass ein Zug länger als 400 Sekunden steht, als wenn gleisfalschmax auf 600 bleibt. Etwa die Hälfte der Züge werden aber trotzdem nur 300 Sekunden oder kürzer stehen, weil das unser Mittelwert ist. Erhöhen wir aber gleisfalschmitte auch noch auf 350, wird ein Wert von 400 Sekunden plötzlich sehr realistisch, weil es nah am Mittelwert und weit weg vom Maximum ist.
 +
 +Für die Mathematiker: Der Sim verwendet eine beschnittene Gauß-Kurve, dadurch sind auch die Extremwerte deutlich wahrscheinlicher als 0.
  
 ===== Übersicht der Befehle ===== ===== Übersicht der Befehle =====
-<note important>Die aufgeführten Standard-Werte sind für jeden Zug "ab Werk" voreingestellt. Mit ''simparam'' können einzelne und alle Werte überschrieben werden, die weiteren sind trotzdem gültig!</note>+<note important>Die aufgeführten Standard-Werte sind für jeden Zug "ab Werk" voreingestellt. Mit ''simparam'' können einzelne und alle Werte überschrieben werden.</note>
 ^ Befehl ^  Standardwert ^ Einheit ^ Kurzbeschreibung (ausführlicher weiter unten) ^ ^ Befehl ^  Standardwert ^ Einheit ^ Kurzbeschreibung (ausführlicher weiter unten) ^
 | maxrandom | 4 | Minuten | Obergrenze der zufälligen Wartezeit | | maxrandom | 4 | Minuten | Obergrenze der zufälligen Wartezeit |
Zeile 31: Zeile 44:
 | gleisänderung | 1 |  | Legt fest ob Gleisänderungen erlaubt sind. 1 steht für "ja" 0 steht für "nein" | | gleisänderung | 1 |  | Legt fest ob Gleisänderungen erlaubt sind. 1 steht für "ja" 0 steht für "nein" |
 | gleisfalschmin | 90 | Sekunden | Minimale Haltezeit bei unangekündigter Gleisänderung | | gleisfalschmin | 90 | Sekunden | Minimale Haltezeit bei unangekündigter Gleisänderung |
-| gleisfalschmax | 600 | Sekunden | Maximale Haltezeit bei unangekündigter Gleisänderung | 
 | gleisfalschmitte | 300 | Sekunden | Mittlere Haltezeit bei unangekündigter Gleisänderung | | gleisfalschmitte | 300 | Sekunden | Mittlere Haltezeit bei unangekündigter Gleisänderung |
 +| gleisfalschmax | 600 | Sekunden | Maximale Haltezeit bei unangekündigter Gleisänderung |
  
 <note important>Soll ein Wert für alle Bahnsteige gelten, muss als Wert für den Bahnsteig ''any'' eingeben werden.</note> <note important>Soll ein Wert für alle Bahnsteige gelten, muss als Wert für den Bahnsteig ''any'' eingeben werden.</note>
Zeile 39: Zeile 52:
  
 ==== maxrandom ==== ==== maxrandom ====
-| Funktion | ''maxrandom'' ist Teil einer zufälligen Wartezeit-Berechnung. Die Einheit Minuten wird vom System auf Sekunden umgerechnet. | +| Funktion               | ''maxrandom'' ist Teil einer zufälligen Wartezeit-Berechnung nach dem Gauß-Verfahren. Die Einheit Minuten wird vom System auf Sekunden umgerechnet.                   
-Standardwerte | Die zufällige Wartezeit beträgt meistens etwa 30 Sekunden. Die Extremwerte sind auf 10 Sek. nach unten und 240 Sek. nach oben festgelegt. | +Standardwert           | Die mittlere zufällige Wartezeit beträgt um die 30 Sekunden. Die Extremwerte sind auf 10 Sek. nach unten und 4 Min. (= 240 Sek.nach oben festgelegt.                
-| Einstellmöglichkeiten | ''maxrandom'' ermöglicht das Einstellen eines abweichenden Extremwertes nach oben. Kleinster einstellbarer Extremwert nach oben ist ''1'' und ergibt damit 60 Sekunden. | +| Einstellmöglichkeiten  | ''maxrandom'' ermöglicht das Einstellen eines abweichenden Extremwertes nach oben. Kleinster einstellbarer oberer Extremwert ist ''1'' und ergibt damit 60 Sekunden.  
-| Auswirkungen | Es kann erreicht werden, dass der Zufall auch sehr lange zufällige Wartezeiten ergibt. |+| Auswirkungen           | Es kann erreicht werden, dass der Zufall auch sehr lange zufällige Wartezeiten ergibt.                                                                                |
  
 <note>__Anwendungsbeispiel__ <note>__Anwendungsbeispiel__
Zeile 48: Zeile 61:
 Angenommen in der fiktiven Anlage Kleinstadt (AID 987) verkehrt das Template 23456, welches einen Zug mit Fahrradwagen darstellt. Möchte man im Sommer einen großen Andrang simulieren an allen Halten in der Anlage könnte man diese Zeile z.B. in den Regionshook schreiben: Angenommen in der fiktiven Anlage Kleinstadt (AID 987) verkehrt das Template 23456, welches einen Zug mit Fahrradwagen darstellt. Möchte man im Sommer einen großen Andrang simulieren an allen Halten in der Anlage könnte man diese Zeile z.B. in den Regionshook schreiben:
 <code>sommer:bahnhof:987:23456(5,maxrandom,any,simparam);</code> <code>sommer:bahnhof:987:23456(5,maxrandom,any,simparam);</code>
-Das würde dazu führen, dass der Zug zwar im Schnitt weiterhin etwa 30 Sekunden zufälliger Wartezeit bekommt an den Halten, es aber auch mal bis zu 5 Minuten werden können.</note>+Das würde dazu führen, dass der Zug zwar im Schnitt weiterhin um die 30 Sekunden zufälliger Wartezeit bekommt an den Halten, es aber auch mal bis zu 5 Minuten werden können und die Wahrscheinlichkeit dafür auch größer wird.</note>
 ==== randomdevisor ==== ==== randomdevisor ====
-| Funktion | ''randomdevisor'' ist Teil der Wartezeit-Berechnung auf Basis der im Fahrplan hinterlegten Standzeit. | +| Funktion               | ''randomdevisor'' ist Teil der Wartezeit-Berechnung auf Basis der im Fahrplan hinterlegten Standzeit.                                                                                                                                      
-Standardwerte Der voreingestellte Wert ist ''2''. Da es nur ein Devisor für eine mathematische Rechnung ist, gibt es keine Einheit. | +Standardwert           | ''2''. Da es nur ein Devisor für eine mathematische Rechnung ist, gibt es keine Einheit.                                                                                                                                                   
-| Einstellmöglichkeiten | ''randomdevisor'' ermöglicht die Einkürzung der Haltezeit. Der Wert bildet die Mitte einer Zufallsberechnung ab zwischen den Extremwerten 2 und 5 ab. Daher können auch nur die Werte 2, 3, 4 oder 5 eingestellt werden. | +| Einstellmöglichkeiten  | ''randomdevisor'' ermöglicht die Einkürzung der Haltezeit. Der Wert bildet die Mitte einer Zufallsberechnung (Gauß lässt grüßen) zwischen den Extremwerten 2 und 5 ab. Daher können auch nur die Werte 2, 3, 4 oder 5 eingestellt werden.  
-| Auswirkungen | Je höher der Zufallsdevisor gesetzt wird, desto kürzer wird die Wartezeit auf Basis der Standzeit laut Fahrplan, da eine Standzeit von 10 Minuten durch geteilt wesentlich kleiner ist als durch 2. |+| Auswirkungen           | Je höher der Zufallsdevisor gesetzt wird, desto kürzer wird die Wartezeit auf Basis der Standzeit laut Fahrplan, da eine Standzeit von 10 Min / = 2 min wesentlich kleiner ist als 10 Min / = 5 Min                                  |
  
 <note>__Anwendungsbeispiel__ <note>__Anwendungsbeispiel__
Zeile 59: Zeile 72:
 Angenommen in der fiktiven Anlage Kleinstadt (AID 987) sollen alle Templates der Region ABC am Bahnsteig ''Innenreinigung 1'' nur eine ganz schnelle Reinigung bekommen und die betrieblich notwendige Standzeit kann deswegen auch deutlich eingekürzt werden. Dann könnte man im Zughook der Region ABC schreiben: Angenommen in der fiktiven Anlage Kleinstadt (AID 987) sollen alle Templates der Region ABC am Bahnsteig ''Innenreinigung 1'' nur eine ganz schnelle Reinigung bekommen und die betrieblich notwendige Standzeit kann deswegen auch deutlich eingekürzt werden. Dann könnte man im Zughook der Region ABC schreiben:
 <code>*:bahnhof:987(4,randomdevisor,Innenreinigung 1,simparam);</code> <code>*:bahnhof:987(4,randomdevisor,Innenreinigung 1,simparam);</code>
-Das würde dazu führen, dass z.B. ein Zug mit geplanten 40 Minuten Standzeit dort durchschnittlich bei Verspätung etwa 10 Minuten steht. Der Standardwert würde hier mehrheitlich 20 Minuten ergeben.</note>+Das würde dazu führen, dass z.B. ein Zug mit geplanten 40 Minuten Standzeit dort durchschnittlich bei Verspätung etwa 40 / 4 = 10 Minuten steht. Der Standardwert würde hier mehrheitlich 40 / 2 = 20 Minuten ergeben.</note>
 ==== minstop ==== ==== minstop ====
 | Funktion | ''minstop'' ist Teil der allgemeinen Wartezeit-Berechnung und stellt das absolute Minimum dar. | | Funktion | ''minstop'' ist Teil der allgemeinen Wartezeit-Berechnung und stellt das absolute Minimum dar. |
-Standardwerte Der voreingestellte Wert ist ''0'', die Einheit Sekunden|+Standardwert | ''0'' Sekunden |
 | Einstellmöglichkeiten | ''minstop'' ermöglicht das Einstellen einer absoluten Mindesthaltezeit. Dabei muss die Angabe immer in Sekunden angegeben werden. | | Einstellmöglichkeiten | ''minstop'' ermöglicht das Einstellen einer absoluten Mindesthaltezeit. Dabei muss die Angabe immer in Sekunden angegeben werden. |
 | Auswirkungen | Wenn alle anderen Berechnungen zur Wartezeit eines Zuges bereits die Abfahrt erlauben würden, kann dieser Wert sie noch verzögern. | | Auswirkungen | Wenn alle anderen Berechnungen zur Wartezeit eines Zuges bereits die Abfahrt erlauben würden, kann dieser Wert sie noch verzögern. |
Zeile 70: Zeile 83:
 Angenommen für eine besondere Zuggattung gibt es ein extra ThemaScript. Um die notwendige Standzeit bei einem Personalwechsel zu simulieren, der immer auf Gleis 5 in Anlage 987 stattfindet, könnte im ThemaScript stehen: Angenommen für eine besondere Zuggattung gibt es ein extra ThemaScript. Um die notwendige Standzeit bei einem Personalwechsel zu simulieren, der immer auf Gleis 5 in Anlage 987 stattfindet, könnte im ThemaScript stehen:
 <code>*:bahnhof:987(90,150,rnd,minstop,5,simparam);</code> <code>*:bahnhof:987(90,150,rnd,minstop,5,simparam);</code>
-Das würde dazu führen, dass alle Züge, denen das ThemaScript zugewiesen ist, in der Anlage 987 auf Gleis 5 stets eine absolute Mindeststandzeit haben. In diesem Beispiel wurde sogar noch eine Zufallsberechnung eingebaut, die einen Wert zwischen 90 und 150 Sekunden ausgibt, sich also an 120 Sekunden orientiert. Schließlich gibt es flotte und gemütliche Lokführer.</note> +Das würde dazu führen, dass alle Züge, denen das ThemaScript zugewiesen ist, in der Anlage 987 auf Gleis 5 stets eine absolute Mindeststandzeit haben. In diesem Beispiel wurde sogar noch eine Zufallsberechnung (ohne Gauß, d.h. für alle Halte in der Anlage gleich) eingebaut, die einen Wert zwischen 90 und 150 Sekunden ausgibt, im Mittel also 120 Sekunden. Schließlich gibt es flotte und gemütliche Lokführer.</note> 
-<note warning>''minstop'' ist wirkungslos, wenn am Fahrplanhalt ein **A-Flag** gesetzt ist!</note>+ 
 +<note warning>''minstop'' ist wirkungslos, wenn am Fahrplanhalt ein **A-Flag** gesetzt ist! ''minstopR'' funktioniert hingegen.</note>
 <note important>Soll ein Wert größer ''300'' gesetzt werden, muss auch ''maxstop'' überschrieben werden!</note> <note important>Soll ein Wert größer ''300'' gesetzt werden, muss auch ''maxstop'' überschrieben werden!</note>
 ==== minstopR ==== ==== minstopR ====
-| Funktion | ''minstopR'' ist Teil der allgemeinen Wartezeit-Berechnung und stellt das absolute Minimum dar an Bahnsteigen mit gesetztem **R-Flag**. | +| Funktion               | ''minstopR'' ist Teil der allgemeinen Wartezeit-Berechnung und stellt das absolute Minimum dar an Bahnsteigen mit gesetztem **R-Flag**.                                                              
-Standardwerte Der voreingestellte Wert ist ''30'', die Einheit Sekunden+Standardwert           | ''30'' Sekunden                                                                                                                                                                                      
-| Einstellmöglichkeiten | ''minstopR'' ermöglicht das Einstellen einer absoluten Mindest__wende__zeit. Dabei muss die Angabe immer in Sekunden angegeben werden. | +| Einstellmöglichkeiten  | ''minstopR'' ermöglicht das Einstellen einer absoluten Mindest__wende__zeit. Dabei muss die Angabe immer in Sekunden angegeben werden und mindestens ''30'' betragen                               
-| Auswirkungen | Wenn alle anderen Berechnungen zur Wartezeit eines Zuges bereits die Abfahrt erlauben würden, kann dieser Wert sie noch verzögern. Analog zu ''minstop'' aber eben für Richtungswechsel per R-Flag. |+| Auswirkungen           Dieser Wert verzögert die Ausführung des R-Flags. Andere Flags können, wenn vorhanden, zusätzlich Zeit brauchen - etwa E-Flags. |
  
 <note>__Anwendungsbeispiel__ <note>__Anwendungsbeispiel__
Zeile 87: Zeile 101:
 <note important>Soll ein Wert größer ''300'' gesetzt werden, muss auch ''maxstop'' überschrieben werden!</note> <note important>Soll ein Wert größer ''300'' gesetzt werden, muss auch ''maxstop'' überschrieben werden!</note>
 ==== maxstop ==== ==== maxstop ====
-| Funktion | ''maxstop'' ist Teil der allgemeinen Wartezeit-Berechnung und stellt das absolute Maximum dar. | +| Funktion               | ''maxstop'' ist Teil der allgemeinen Wartezeit-Berechnung und stellt das absolute Maximum dar.                                                                                                   
-Standardwerte Der voreingestellte Wert ist ''5'', die Einheit Minuten+Standardwert           | ''5'' Minuten                                                                                                                                                                                    
-| Einstellmöglichkeiten | ''maxstop'' ermöglicht das Einstellen einer absoluten Höchstwartezeit an einem Halt, sofern die Abfahrtszeit bereits erreicht ist. Dabei muss die Angabe immer in Minuten angegeben werden. | +| Einstellmöglichkeiten  | ''maxstop'' ermöglicht das Einstellen einer absoluten Höchstwartezeit an einem Halt, sofern die Abfahrtszeit bereits erreicht ist. Dabei muss die Angabe immer in Minuten angegeben werden.      
-| Auswirkungen | Es kann erreicht werden, dass der Zug bereit ist zur Abfahrt, wenn alle anderen Berechnungen, es noch nicht erlauben würde. ''maxstop'' begrenzt die anderen Wartezeitberechnungen. |+| Auswirkungen           | Es kann erreicht werden, dass der Zug bereit ist zur Abfahrt, wenn alle anderen Berechnungen, es noch nicht erlauben würden. ''maxstop'' begrenzt alle anderen Wartezeitberechnungen nach oben |
  
 <note>__Anwendungsbeispiel__ <note>__Anwendungsbeispiel__
  
-Angenommen in einer Anlage wird eine Baustelle simuliert und dieser Bauzug (Template 12345) fährt immer wieder ein Stück weiter, soll aber auch bei Verspätung nicht immer sofort wieder abfahren, damit etwa das Abladen von Material simuliert werden kann. Um nicht für alle Halte ''Bauzughalt 1'' bis ''Bauzughalt 6'' Scriptzeilen schreiben zu müssenweil eine pauschale Angabe dazu führen würde, dass die Ankunft am Halt der Zuführung zur Baustelle (''AB 21'') auch verlängert würde, kann man es andersrum angehen und in den Regionshook etwa schreiben:+Angenommen in einer Anlage wird eine Baustelle simuliert und dieser Bauzug (Template 12345) fährt immer wieder ein Stück weiter, soll aber auch bei Verspätung nicht immer sofort wieder abfahren, damit etwa das Abladen von Material simuliert werden kann. Um nicht für alle Halte ''Bauzughalt 1'' bis ''Bauzughalt 6'' Scriptzeilen schreiben zu müssen und weil eine pauschale Angabe dazu führt, dass die Ankunft am Halt der Zuführung zur Baustelle (''AB 21'') auch verlängert würde, kann man es andersrum angehen und in den Regionshook etwa schreiben:
 <code>*:bahnhof:*:12345(500,700,rnd,minstop,any,simparam); <code>*:bahnhof:*:12345(500,700,rnd,minstop,any,simparam);
 *:bahnhof:*:12345(2,maxstop,AB 21,simparam);</code> *:bahnhof:*:12345(2,maxstop,AB 21,simparam);</code>
 Das würde dazu führen, dass alle Züge des Templates 12345 in jeder Anlage an jedem Halt 500-700 Sekunden Mindeststandzeit haben, am Halt ''AB 21'' aber maximal 2 Minuten.</note> Das würde dazu führen, dass alle Züge des Templates 12345 in jeder Anlage an jedem Halt 500-700 Sekunden Mindeststandzeit haben, am Halt ''AB 21'' aber maximal 2 Minuten.</note>
 ==== soll_tempo ==== ==== soll_tempo ====
-| Funktion | ''soll_tempo'' setzt eine manuelle, absolute Geschwindigkeit eines Zuges. | +| Funktion               | ''soll_tempo'' setzt eine manuelle, absolute Geschwindigkeit eines Zuges.                                                                                                                                                                                                                                                                           
-Standardwerte | - | +Standardwert           | -                                                                                                                                                                                                                                                                                                                                                   
-| Einstellmöglichkeiten | ''soll_tempo'' ermöglicht das Einstellen eines Geschwindigkeitswertes für Züge. Keine Einheit, Werte analog zu allen anderen Tempo-Angaben. | +| Einstellmöglichkeiten  | ''soll_tempo'' ermöglicht das Einstellen eines Geschwindigkeitswertes für Züge. Keine Einheit, Werte analog zu allen anderen Tempo-Angaben.                                                                                                                                                                                                         
-| Auswirkungen | Es kann erreicht werden, dass ein Zug in seiner Geschwindigkeit begrenzt oder sogar beschleunigt wird. Der Wert greift dann, wenn der angegebene Bahnsteig im Fahrplan des Spielers (also der nächste abzuarbeitende Eintrag) ganz steht. Wird ''any'' verwendet gilt das angegebene Tempo von der Einfahrt des Zuges bis zu seiner Ausfahrt. | +| Auswirkungen           | Es kann erreicht werden, dass ein Zug in seiner Geschwindigkeit begrenzt oder sogar beschleunigt wird. Der Wert greift dann, wenn der angegebene Bahnsteig im Fahrplan des Spielers (also der nächste abzuarbeitende Eintrag) ganz oben steht. Wird ''any'' verwendet gilt das angegebene Tempo von der Einfahrt des Zuges bis zu seiner Ausfahrt.  
-<note important>''soll_tempo'' überschreibt __alle__ anderen Geschwindigkeitsvorgaben. Abweichende Tempo-Werte aus dem Template, der Anlagen-Vmax, vmax-setzen-Elemente oder ''tempo'' eines ThemaScripts werden ignoriert!</note>+<note important>''soll_tempo'' überschreibt Geschwindigkeitsvorgaben. Abweichende Tempo-Werte aus dem Template, ''tempo'' eines ThemaScripts oder der Anlagen-Vmax werden ignoriert!</note>
  
 <note>__Anwendungsbeispiel 1: relative Verringerung__ <note>__Anwendungsbeispiel 1: relative Verringerung__
Zeile 109: Zeile 123:
 Angenommen wir wollen im schweren Winter in der Anlage 987 alle Züge etwas langsamer fahren lassen, dann könnte im Regionshook stehen: Angenommen wir wollen im schweren Winter in der Anlage 987 alle Züge etwas langsamer fahren lassen, dann könnte im Regionshook stehen:
 <code>schwerer_winter:bahnhof:987($tempo,1,-,soll_tempo,any,simparam);</code> <code>schwerer_winter:bahnhof:987($tempo,1,-,soll_tempo,any,simparam);</code>
-Das würde dazu führen, dass alle Züge in der Anlage 987 im schweren Winter eine Stufe langsamer fahren als es ihr eigentliches Tempo vorsieht. Die Änderung per ''soll_tempo'' wird bei Ausfahrt aus dem Stellwerk wieder zurückgesetzt!</note>+Das würde dazu führen, dass alle Züge in der Anlage 987 im schweren Winter eine Stufe langsamer fahren als es ihr eigentliches Tempo vorsieht. Die Änderung per ''soll_tempo'' gilt höchstens bis zur Ausfahrt des Stellwerks.</note>
 <note>__Anwendungsbeispiel 2: relative Erhöhung__ <note>__Anwendungsbeispiel 2: relative Erhöhung__
  
 Angenommen es gibt Züge, die mit GNT ausgestattet (Templates 12345 und 23456) sind und diese sollen in diversen Anlagen (987, 876 und 765) schneller fahren, als die übrigen Züge. So könnte man im Regionshook schreiben: Angenommen es gibt Züge, die mit GNT ausgestattet (Templates 12345 und 23456) sind und diese sollen in diversen Anlagen (987, 876 und 765) schneller fahren, als die übrigen Züge. So könnte man im Regionshook schreiben:
 <code>*:bahnhof:987,876,765:12345,23456($tempo,1,+,soll_tempo,any,simparam);</code> <code>*:bahnhof:987,876,765:12345,23456($tempo,1,+,soll_tempo,any,simparam);</code>
-Das würde dazu führen, dass alle Züge dieser Templates in den genannten Anlagen eine Stufe schneller fahren als es ihr eigentliches Tempo vorsieht. Die Änderung per ''soll_tempo'' wird bei Ausfahrt aus dem Stellwerk wieder zurückgesetzt!</note>+Das würde dazu führen, dass alle Züge dieser Templates in den genannten Anlagen eine Stufe schneller fahren als es ihr eigentliches Tempo vorsieht. Die Änderung per ''soll_tempo'' gilt höchstens bis zur Ausfahrt des Stellwerks.</note>
 <note>__Anwendungsbeispiel 3: absolute Begrenzung zwischen zwei Betriebsstellen__ <note>__Anwendungsbeispiel 3: absolute Begrenzung zwischen zwei Betriebsstellen__
  
Zeile 120: Zeile 134:
  
 Angenommen in der Anlage 987 wird bei Thema ''baustelle'' (Bauarbeiten in einigen Regionen) zwischen den Bahnhöfen ''EFG'' und ''KLM'' ein Streckengleis gesperrt anlagenseitig. Zum Schutz der Arbeiten auf der Baustelle wird dann auf dem anderen Gleis langsamer gefahren, weil dort eine fiktive Langsamfahrstelle eingerichtet ist. So könnte es im Regionshook lauten: Angenommen in der Anlage 987 wird bei Thema ''baustelle'' (Bauarbeiten in einigen Regionen) zwischen den Bahnhöfen ''EFG'' und ''KLM'' ein Streckengleis gesperrt anlagenseitig. Zum Schutz der Arbeiten auf der Baustelle wird dann auf dem anderen Gleis langsamer gefahren, weil dort eine fiktive Langsamfahrstelle eingerichtet ist. So könnte es im Regionshook lauten:
-<code>baustelle:bahnhof:987(($tempo,4,>),(4,soll_tempo,EFG 1,simparam),(nop),if); +<code>baustelle:bahnhof:987($tempo,4,>,(4,soll_tempo,EFG 1,simparam),(nop),if); 
-baustelle:bahnhof:987(($tempo,4,>),(4,soll_tempo,KLM 2,simparam),(nop),if);</code> +baustelle:bahnhof:987($tempo,4,>,(4,soll_tempo,KLM 2,simparam),(nop),if);</code> 
-Das führt dann dazu, dass wenn der bei Durchfahrt des ersten Bahnhofs vor der Sperrung ein Tempo über 4 hat dieses bis zum nächsten Bahnhof auf 4 begrenzt wird und im Anschluss der Zug wieder normal weiter fährt.</note>+Das führt dann dazu, dass wenn der Zug bei Durchfahrt des ersten Bahnhofs vor der Sperrung ein Tempo über 4 hat dieses bis zum nächsten Bahnhof auf 4 begrenzt wird und im Anschluss der Zug wieder normal weiter fährt.</note>
 ==== anrufwartezeit ==== ==== anrufwartezeit ====
 | Funktion | ''anrufwartezeit'' ist die Zeit, die ein Zug abwartet, bis er sich beim Spieler über eine fehlende Zustimmung zur Fahrt beschwert. | | Funktion | ''anrufwartezeit'' ist die Zeit, die ein Zug abwartet, bis er sich beim Spieler über eine fehlende Zustimmung zur Fahrt beschwert. |
-Standardwerte Der voreingestellte Wert ist ''3'', die Einheit Minuten|+Standardwert | ''3'' Minuten |
 | Einstellmöglichkeiten | ''anrufwartezeit'' ermöglicht das händische Einstellen der Wartezeit, bis sich der Zug bei einem Spieler beschwert über den außerplanmäßigen Halt oder die fehlende Zustimmung zur Abfahrt. | | Einstellmöglichkeiten | ''anrufwartezeit'' ermöglicht das händische Einstellen der Wartezeit, bis sich der Zug bei einem Spieler beschwert über den außerplanmäßigen Halt oder die fehlende Zustimmung zur Abfahrt. |
 | Auswirkungen | Es kann erreicht werden, dass der Zug erst nach langer Zeit meckert oder sehr schnell. | | Auswirkungen | Es kann erreicht werden, dass der Zug erst nach langer Zeit meckert oder sehr schnell. |
Zeile 135: Zeile 149:
 ==== gleisänderung ==== ==== gleisänderung ====
 | Funktion | ''gleisänderung'' ermöglicht die Ankündigung an den Zug über ein anderes Gleis durch den Spieler. | | Funktion | ''gleisänderung'' ermöglicht die Ankündigung an den Zug über ein anderes Gleis durch den Spieler. |
-Standardwerte Der voreingestellte Wert ist ''1'', keine Einheit|+Standardwert | ''1'', keine Einheit |
 | Einstellmöglichkeiten | ''gleisänderung'' kann mit ''0'' deaktiviert werden bzw. mit ''1'' aktiviert werden. | | Einstellmöglichkeiten | ''gleisänderung'' kann mit ''0'' deaktiviert werden bzw. mit ''1'' aktiviert werden. |
 | Auswirkungen | Wird ''gleisänderung'' auf ''0'' gesetzt, so können die Spielenden keine Gleisänderung mehr im Funkmenü vornehmen. Es erscheint lediglich der Hinweis ''lt. Fahrplan, keine Gleisänderung möglich''. | | Auswirkungen | Wird ''gleisänderung'' auf ''0'' gesetzt, so können die Spielenden keine Gleisänderung mehr im Funkmenü vornehmen. Es erscheint lediglich der Hinweis ''lt. Fahrplan, keine Gleisänderung möglich''. |
Zeile 146: Zeile 160:
 <code>*:bahnhof:987(0,gleisänderung,Ladestraße 1,simparam); <code>*:bahnhof:987(0,gleisänderung,Ladestraße 1,simparam);
 *:bahnhof:987(0,gleisänderung,Ladestraße 2,simparam);</code> *:bahnhof:987(0,gleisänderung,Ladestraße 2,simparam);</code>
-Das würde dazu führen, dass an den beiden Bahnsteigen keine Gleisänderung erlaubt ist, obwohl anlagentechnisch Alternativen zueinander sind. Für alle anderen Halte sind dann Wechsel noch zulässig.</note>+Das würde dazu führen, dass an den beiden Bahnsteigen keine Gleisänderung erlaubt ist, obwohl beide Gleise anlagentechnisch Alternativen zueinander sind. Für alle anderen Halte sind dann Wechsel noch zulässig.</note>
 ==== gleisfalschmin, gleisfalschmitte & gleisfalschmax ==== ==== gleisfalschmin, gleisfalschmitte & gleisfalschmax ====
 | Funktion | Die drei Werte erlauben die "Strafzeit" zu bestimmen, wenn ein Zug unangekündigt auf ein falsches Gleis geleitet wird. | | Funktion | Die drei Werte erlauben die "Strafzeit" zu bestimmen, wenn ein Zug unangekündigt auf ein falsches Gleis geleitet wird. |
-| Standardwerte | Die voreingestellten Werte sind ''90'' für ''gleisfalschmin''''300'' für ''gleisfalschmitte'' und ''900'' für ''gleisfalschmax'', Einheit sind Sekunden. | +| Standardwerte | ''gleisfalschmin''''90'' Sekunden \\ ''gleisfalschmitte''''300'' Sekunden \\ ''gleisfalschmax''''600'' Sekunden. | 
-| Einstellmöglichkeiten | ''gleisänderung'' kann mit ''0'' deaktiviert werden bzw. mit ''1'' aktiviert werden. +| Einstellmöglichkeiten | Alle drei Werte für Berechnung nach dem Gauß-Verfahren 
-| Auswirkungen | Mit diesen Werten wird die Strafzeit berechnet bei unangekündigten Gleiswechseln. Mit ''gleisfalschmin'' und ''gleisfalschmax'' werden dabei die Extremwerte nach unten und oben gesetzt. Mit ''gleisfalschmitte'' wird angegeben, welchen Tendenzwert die Zufallsberechnung haben soll. | +| Auswirkungen | Mit diesen Werten wird die Strafzeit berechnet bei unangekündigten Gleiswechseln. Mit ''gleisfalschmin'' und ''gleisfalschmax'' werden dabei die Extremwerte nach unten und oben gesetzt. Mit ''gleisfalschmitte'' wird angegeben, welchen Tendenzwert die Zufallsberechnung haben soll. (Gauß-Verfahren) 
-<note important>Wenn Werte über ''300'' gesetzt sind, empfiehlt es sich auch ''maxstop'' zu setzen, da letzterer Wert immer Vorrang hat.</note>+<note important>Wenn Werte über ''300'' gesetzt sind, empfiehlt es sich auch ''maxstop'' zu setzen, da ''maxstop'' immer Vorrang hat.</note>
  
 <note>__Anwendungsbeispiel__ <note>__Anwendungsbeispiel__
Zeile 160: Zeile 174:
 *:bahnhof(90,gleisfalschmitte,any,simparam); *:bahnhof(90,gleisfalschmitte,any,simparam);
 *:bahnhof(180,gleisfalschmax,any,simparam);</code> *:bahnhof(180,gleisfalschmax,any,simparam);</code>
-Das würde dazu führen, dass Züge bei unangekündigten Gleiswechseln meistens etwa 90 Sekunden Strafstandzeit bekommen, mindestens jedoch 60, höchstens aber 180 Sekunden.</note>+Das würde dazu führen, dass Züge bei unangekündigten Gleiswechseln meistens um die 90 Sekunden Standzeit bekommen, mindestens jedoch 60, höchstens aber 180 Sekunden.</note>
  
 ===== So werden simparam berechnet ===== ===== So werden simparam berechnet =====
Zeile 167: Zeile 181:
  
 ==== maxStop() ==== ==== maxStop() ====
-<code>(aktzeit - warankunft) > VAR_MINUTEN_maxstop(zielgleis)</code>+<code>(aktzeit - warankunft) > maxstop(zielgleis)</code>
  
 ==== minStopRandom() ==== ==== minStopRandom() ====
-<code>aktzeit - warankunft > gauss(-10 sec, 30 sec, VAR_MINUTEN_maxrandom(zielgleis))</code>+<code>aktzeit - warankunft > gauss(-10 sec, 30 sec, maxrandom(zielgleis))</code>
  
 ==== minStopANAB() ==== ==== minStopANAB() ====
-<code>(aktzeit - warankunft) > (ab - an) / gauss(2, VAR_randomdevisor(zielgleis), 5)</code>+<code>(aktzeit - warankunft) > (ab - an) / gauss(2, randomdevisor(zielgleis), 5)</code>
  
 ==== minStopTime() ==== ==== minStopTime() ====
 Wenn Halt am richtigen Bahnsteig (bzw. mit Ankündigung) Wenn Halt am richtigen Bahnsteig (bzw. mit Ankündigung)
-<code>(aktzeit - warankunft) > VAR_SEKUNDEN_minstop(zielgleis)</code>+<code>(aktzeit - warankunft) > minstop(zielgleis)</code>
 Sonst Sonst
-<code>(aktzeit - warankunft) > gauss(VAR_SEKUNDEN_gleisfalschminVAR_SEKUNDEN_gleisfalschmitteVAR_SEKUNDEN_gleisfalschmax)</code>+<code>(aktzeit - warankunft) > gauss(gleisfalschmingleisfalschmittegleisfalschmax)</code>
  
 ==== Legende ==== ==== Legende ====
Zeile 188: Zeile 202:
 | ab | Abfahrt laut Fahrplan | | ab | Abfahrt laut Fahrplan |
 | gauss(a,b,c) | Zufallszahl zwischen a und c, wobei b die Mitte darstellt | | gauss(a,b,c) | Zufallszahl zwischen a und c, wobei b die Mitte darstellt |
-| VAR_SEKUNDEN | simparam Variable, Wert in Sekunden | 
  
 {{tag>Zugbau ThemaScript}} {{tag>Zugbau ThemaScript}}
stellwerksim/erbauer/themascripte/simparam.1628957424.txt.gz · Zuletzt geändert: 2021/08/14 18:10 von Wozzap