Nachfolgend eine Auflistung aller bekannten System- und vordefinierten, lokalen Variablen. Diese übernehmen Sonderfunktionen wie das Übertragen der Wetterdaten oder die Übermittlung scriptseitig berechneter Werte an die OMSI-Physik.
Wird in den unten gezeigten Tabellen von "bool"gesprochen, hat eine Variable nur zwei Zustände - 1 und 0 bzw. true und false.
Wird in den unten gezeigten Tabellen von "integer"gesprochen, hat eine Variable nur ganzzahlige Zustände (1, 2, 3 etc).
Wird in den unten gezeigten Tabellen von "float" gesprochen, kann die Variable gleitende Werte annehmen.
1. Systemvariablen
Wie in Scriptsystem beschrieben, können nachfolgende Variablen mit dem Code (L.S.Variable) in den Stack geladen werden. ein Schreiben von Systemvariablen ist nicht möglich!
Name der Variable | Beschreibung | Einheit | OMSI-Version |
Timegap | Gibt als Wert aus, wie lange ein Frame gedauert hat (Bei 30 FPS -> Timegap = 1/30s = 0.034s) (float) | Sekunden | 1.0 |
GetTime | Enthält Absolute Zeitangabe seit OMSI Start (Spielzeit) (float) | Sekunden | 1.0 |
NoSound | Sind Sounds deaktiviert? (bool) | 1 = Ja; 0 = Nein | 1.0 |
Pause | Wurde die Simulation pausiert? (bool) | 1 = Ja; 0 = Nein | 1.0 |
Time | Vergangene Spielsekunden seit Mitternacht (float) | Sekunden | 1.0 |
Day | Tag gezählt ab Monatsbeginn (integer) | Tage | 1.0 |
Month | Monat gezählt ab Jahresbeginn (integer) | Monate | 1.0 |
Year | Jahr (integer) | Jahr | 1.0 |
DayOfYear | Tag gezählt ab Jahresbeginn (integer) | Tage | 1.0 |
mouse_x | X-Koordinate des Mauszeigers auf dem Bildschirm (integer) | Pixel | 1.0 |
mouse_y | Y-Koordinate des Mauszeigers auf dem Bildschirm (integer) | Pixel | 1.0 |
PrecipType | Art des Niederschlages (integer) | 0 = keiner, 1 = Regen, 2 = Schnee | 1.0 |
PrecipRate | Menge des Niederschlages (float) | 0 = kein Niederschlag, 1 = maximaler Niederschlag | 1.0 |
coll_pos_x | Position der Kollision in x-Richtung relativ zum Fahrzeugursprung* (float) | Meter | 1.0 |
coll_pos_y | Position der Kollision in y-Richtung relativ zum Fahrzeugursprung* (float) |
Meter
|
1.0 |
coll_pos_z | Position der Kollision in z-Richtung relativ zum Fahrzeugursprung* (float) |
Meter | 1.0 |
coll_energy | Energie der Kollision* (float) | Newton-meter | 1.0 |
Weather_Temperature | Außentemperatur (float) | Grad Celsius | 1.0 |
Weather_AbsHum | Absolute Luftfeuchtigkeit (float) | Gramm pro Kubikmeter | 1.0 |
AutoClutch | Automatische Kupplung (float) | 1 = an; 0 = aus | 1.03 |
wearlifespan | deprecated, bitte lokale, vordefinierte Variable nutzen! | 2.00 | |
SunAlt | Höhenwinkel der Sonne (float) | Grad | 2.00 |
*Nur im Rahmen des Kollisionstriggers verwendbar!
2. Vordefinierte lokale Variablen für Fahrzeuge
Wie in Scriptsystem beschrieben, können nachfolgende Variablen mit dem Code (L.L.Variable) in den Stack geladen werden.
Weiterhin können die folgenden Variablenohne Deklarierung in einer eigenen Varlist genutzt werden. Ausnahmen sind hier die in OMSI 2 eingeführten "on-demand" Variablen (siehe Tabelle) - diese müssen in einer eigenen Varlist auftauchen, damit sie von OMSI mit Internen variablen verbunden werden.
Achtung: Bei der Verwendung von LINK SCRIPTSHARE teilen sich alle Fahrzeugteile den gleichen Variablenspeicher. Hat ein Fahrzeug mit zwei Fahrzeugteilen beispielsweise vorn zwei Eingänge und hinten nur einen, wird der hintere Eingang trotzdem mit PAX_Entry2_Open geöffnet.
Variable | Beschreibung | Einheit | Schreibzugriff | on-demand | OMSI-Version |
Refresh_Strings | muss vom Script auf 1 gesetzt werden, um Textfelder zu aktualisieren. Wird von OMSI nach erfolgreicher Ausführung automatisch wieder auf 0 gesetzt. (bool) | - | X | 1.0 | |
Envir_Brightness | Umgebungshelligkeit in Fahrzeugnähe (float) |
0 = dunkel; 1 = hell |
1.0 | ||
StreetCond | Oberflächeneigenschaften (integer) | 0 = trocken; 1 = feucht; 2 = komplett in Pfützen |
1.0 | ||
Spot_Select | welcher der Spotlights ist aktiv? (integer) | -1 = keines; 0 = erstes Spotlight; 1 = zweites Spotlight; ... |
X | 1.0 | |
Colorscheme | Index des gewählten Farbschemas/Anstriches (integer) | Zahl | (X)* | 1.0 | |
M_Wheel | Über diese Variable kann das Fahrzeugscript das berechnete Drehmoment auf die Fahrzeugphysik übertragen. (Summe aller angetriebenen Achsen) (float) | Kilonewton-Meter | X | 1.0 | |
n_Wheel | mittlere Raddrehzahl des Fahrzeuges (float) | Umdrehungen pro Minute | 1.0 | ||
Throttle | Stellung des Gaspedals (float) | 0 = kein Gas; 1 = Vollgas |
1.0 | ||
Brake | Stellung des Bremspedals (float) | 0 = keine Bremswirkung; 1 = volle Bremswirkung |
1.0 | ||
Clutch | Stellung des Kupplungspedals (float) | 0 = voller Kraftschluss; 1 = kein Kraftschluss |
1.0 | ||
Brakeforce | Gesamtbremskraft aller Achsen - sollte nicht in Kombination mit Axle_Brakeforce_... verwendet werden. (float) | Newton | X | 1.0 | |
Velocity | berechnete Geschwindigkeit des Fahrzeuges (entspricht der Tachoanzeige) (float) | Kilometer pro Stunde | 1.0 | ||
Velocity_Ground | Geschwindigkeit relativ zur Umgebung ("echte" Geschwindigkeit) (float) | Kilometer pro Stunde | 1.0 | ||
tank_percent | Tankinhalt, welcher in der Debug-Zeile von OMSI angezeigt wird (float) | 0 = 0%; 1 = 100% |
X | 1.0 | |
kmcounter_km | Stand des Kilometerzählers (Kilometer) (integer) | Kilometer | 1.0 | ||
kmcounter_m | Stand des Kilometerzählers (Meter) (float) | Meter | 1.0 | ||
relrange | Zurückgelegte, relative Strecke. veraltet, nicht Nutzen! | ? | 1.0 | ||
Driver_Seat_VertTransl | Einfederung des federnden Fahrersitzes (float) | Meter | 1.0 | ||
Wheel_Rotation_0_L / ~_R ... ~_3_L / _R | Drehwinkel des jeweiligen Rades (float) | Rad | 1.0 | ||
Wheel_RotationSpeed_0_L / ~_R ... ~_3_L / _R | Drehzahl des jeweiligen Rades (float) | Umdrehungen pro Minute | 1.0 | ||
Axle_Suspension_0_L / ~_R ... ~_3_L / _R | Einfederungsweg des jeweiligen Rades (float) | Meter | 1.0 | ||
Axle_Steering_0_L / ~_R ... ~_3_L / _R | Lenkwinkel des jeweiligen Rades (float) | Rad | 1.0 | ||
Axle_Springfactor_0_L / ~_R ... ~_3_L / _R | Faktor, mit dem die Federstärke der einzelnen Räder angepasst werden kann. (float) | Zahl | X | 1.0 | |
Axle_Brakeforce_0_L / ~_R ... ~_3_L / _R |
Ermöglicht Setzen der Bremskraft pro Rad. Sollte nicht gleichzeitig mit Brakeforce verwendet werden! (float) | Newton | 1.0 | ||
Axle_SurfaceID_0_L / ~_R ... ~_3_L / _R | Oberflächenbeschaffenheit unter dem Rad | Oberflächencodes | 2.0 | ||
Debug_0 ... _5 | Debug-Variablen für den Debug-Modus (float) | Zahl | X | 1.0 | |
A_Trans_X ... _Z | Beschleunigung im Fahrzeug (float) | m/s² | 1.0 | ||
AI_Blinker_L, ~_R | Blinker aktiv? (bool) | 0 = aus; 1 = an |
(X)** | 1.0 | |
AI_Light | Fahrlicht, Standlicht, Lichthupe (float) | 0 = Licht aus; 0.5 = Standlicht an; 1 = Fahrlicht an; 2 = Fernlicht an |
(X)** | 1.0 | |
AI_Interiorlight | Innenbeleuchtung aktiv? Außerdem notwendig für die Lichterkennung der Paxes (bool) | 1 = an; 0 = aus |
(X)** | 1.0 | |
AI_Brakelight | Nur KI: Bremslicht aktiv? (bool) | 1 = an; 0 = aus |
1.0 | ||
AI_Engine | Nur KI: Motor an/aus? (integer) | -1 = Motor aus; 0 = egal; 1 = Motor an |
1.0 | ||
AI_target_index | Dient der Übergabe des Sollwertes des einzustellenden Zielschildes bei Aufruf des Menüs oder beim Umschildern der KI-Busse. Entspricht der Reihenfolge in der Hof-Datei. Nullbasiert. (integer) | Zahl | 1.0 | ||
target_index_int | Über diese Variable setzt das Script, welches Zielschild am Bus zusehen ist und steuert hierüber insbesondere die Fahrgäste. Entspricht wie AI_target_index dem Index der Reihenfolge in der Hof-Datei. (integer) | Zahl | X | 1.0 | |
AI_Scheduled_AtStation | KI Ablauf: Wenn ein Fahrzeug bei einer Haltestelle ankommt, setzt OMSI die Variable auf 1. Sobald der Fahrgastwechsel abgeschlossen oder die Abfahrszeit erreicht ist, setzt OMSI die Variable auf -1. Das Script setzt nach der abarbeitung der Scriptroutinen (Türen schließen etc.) die Variable auf 0, das Fahrzeug setzt sich dann wieder in Bewegung. (integer) | -1 = abfahrbereit machen; 0 = Bus ist abfahrbereit; 1 = Fahrgastwechsel einleiten |
(X)** | 1.0 | |
AI_Scheduled_AtStation_Side | Teilt dem Script mit, auf welcher Seite die Türen geöffnet werden sollen. dies hat i.d.R. nur bei Schienenfahrzeugen Relevanz. (integer) | 0 = rechts; 1 = links; 2 = beidseitig |
X | 2.0 | |
AI | Ist das Fahrzeug KI-gesteuert? (bool) | 0 = nein; 1 = ja |
1.0 | ||
PAX_Entry0_Open ... ~7_Open | Teilt OMSI mit, ob der Eingang mit dem jeweiligen Index (0-7) geöffnet ist, also Fahrgäste einsteigen können oder nicht. (bool) | 0 = geschlossen; 1 = offen |
X | 1.0 | |
PAX_Exit0_Open ... ~7_Open | Teilt OMSI mit, ob der Ausgang mit dem jeweiligen Index (0-7) geöffnet ist, also Fahrgäste aussteigen können oder nicht. (bool) | 0 = geschlossen; 1 = offen |
X | 1.0 | |
PAX_Entry0_Req ... ~7_Req |
Teilt dem Script mit, ob der Eingang mit dem jeweiligen Index (0-7) von den Fahrgästen angefordert wurde oder nicht. (Türtaster außen) (bool) | 0 = keine Anforderung; 1 = Angefordert |
X | 1.03 | |
PAX_Exit0_Req ... ~7_Req | Teilt dem Script mit, ob der Ausgang mit dem jeweiligen Index (0-7) von den Fahrgästen angefordert wurde oder nicht. (Türtaster innen) (bool) | 0 = keine Anforderung; 1 = Angefordert |
X | 1.03 | |
GivenTicket | Teilt OMSI mit, ob der (optionale) Fahrkartenautomat eine Karte an den Fahrgast gegeben hat. (integer) | -1 = kein Ticket; 0 = Tickettyp mit Index 0; 1 = Tickettyp mit Index 1 etc. |
X | 1.0 | |
humans_count | Anzahl der Fahrgäste im Fahrzeug (integer) | - | 1.0 | ||
FF_Vib_Period | Setzt die Force-Feedback Vibrationsperiode im Lenkrad (float) | Sekunden | X | 1.0 | |
FF_Vib_Amp | Setzt die Force-Feedback Vibrationsamplitude im Lenkrad (float) | 0 = 0%; 1 = 100% |
X | 1.0 | |
Snd_OutsideVol | Teilt OMSI mit, wie stark die Außengeräusche innerhalb des Fahrzeuges zu hören sind. (float) | 0 = 0%; 1 = 100% |
X | 1.0 | |
Snd_Microphone | Teilt OMSI mit, ob das (Hardware)-Mikrofon aktiv sein soll. (bool) | 0 = aus; 1 = an |
X | 1.0 | |
Snd_Radio | Teilt OMSI mit, ob das (Internet)-Radio aktiv sein soll. (bool) | 0 = aus; 1 = an |
X | 1.0 | |
Cabinair_Temp | Innenraumtemperatur des Fahrzeuges in Grad Celsius (float) | - | X | 1.0 | |
Cabinair_absHum | absolute Luftfeuchtigkeit im Innenraum des Fahrzeuges (float) | g/m³ | X | 1.0 | |
Cabinair_relHum | relative Luftfeuchtigkeit im Innenraum des Fahrzeuges (float) | 0 = 0%; 1 = 100% |
1.0 | ||
PrecipRate | Niederschlagsrate (float) | 0 = 0%; 1 = 100% |
1.0 | ||
PrecipType | Niederschlagstyp (integer) | 0 = kein Niederschlag; 1 = Regen; 2 = Schnee |
1.0 | ||
Dirt_Norm | Verdreckungszustand des Fahrzeuges (float) | 0 = 0%; 1 = 100% |
|||
DirtRate | aktuelle Verdreckungsrate (float) | Verdreckung/Sekunde; 1 = maximale Verdreckung |
1.0 | ||
schedule_active | wurde der Fahrplan des Fahrzeuges aktiviert? (bool) | 0 = nein; 1 = ja |
1.0 | ||
train_frontcoupling | Ist an der vorderen Kupplung etwas angekuppelt? (bool) | 0 = nein; 1 = ja |
1.0 | ||
train_backcoupling | Ist an der hinteren Kupplung etwas angekuppelt? (bool) | 0 = nein; 1 = ja |
1.0 | ||
train_me_reverse | Ist das Fahrzeug "verdreht" eingekuppelt? (z.bsp. Frontkupplung an Frontkupplung) (bool) | 0 = nein; 1 = ja |
1.0 | ||
TrafficPriority | genießt das Fahrzeug Vorrang gegenüber anderen Fahrzeugen? (z.bsp. Krankenwagen, Polizei etc.) (bool) | 0 = nein; 1 = ja |
X | 2.0 | |
wearlifespan | Faktor für die Berechnung des Fahrzeugverschleißes. (float) | 0.01 = kaum Wartung; 0.1 = schlechte Wartung; 1 = normale Wartung; 10 = sehr gute Wartung; 1500000 = kein Verschleiß |
2.0 | ||
articulation_%_alpha / ~_beta | Winkel des Gelenkes mit dem Index % um die Gierachse (alpha) und die Nickachse (beta). (float) | Grad (Winkel) | X | 2.0 | |
boogie_%_wheel_at_limit | Drehgestellposition von Drehgestell % auf dem Gleis (float) | 0 = mittig auf Gleis; -1 = ganz Links auf Gleis; 1 = ganz Rechts auf Gleis |
X | 2.0 | |
boogie_%_invradius | Inverser Kurvenradius von Drehgestell % (float) | 1/m | X | 2.0 | |
contactshoe_%_rail_pos_x / ~_y | Stromschienenposition relativ zum Gleis des Stromabnehmers # (float) | m | X | 2.0 | |
contactshoe_%_rail_index | Index der Stromschiene. (integer) | -1 = keine Stromführende Schiene; 0 = Stromschiene 1; 1 = Stromschiene 2 etc. |
X | 2.0 | |
contactshoe_%_volt_rail | Spannung, welche an der Stromschiene anliegt (float) | Volt | X | 2.0 | |
contactshoe_%_volt_veh | Spannung, welche nach Verlusten im Fahrzeug ankommt (float) | Volt | X | 2.0 | |
contactshoe_%_freq | Frequenz der anliegenden Spannung (float) | Hertz 0 = Gleichspannung |
X | 2.0 |
*Nur bei mehrteiligen Fahrzeugen in allen Teilen außer dem ersten Nutzbar
** Bidirektionale Variablen - damit kann das KI Script den Blinker eines KI-Fahrzeuges setzen, ebenso kann das Spielerfahrzeug darüber mitteilen, dass der Blinker gesetzt ist.
3. Vordefinierte lokale Stringvariablen für Fahrzeuge
Wie in Scriptsystem beschrieben, können nachfolgende Variablen mit dem Code (L.$.Variable) in den Stack geladen werden.
Variable | Beschreibung | Schreibzugriff | OMSI-Version |
ident | Kraftfahrzeugkennzeichen des aktiven Fahrzeuges | 1.0 | |
number | Fahrzeugnummer des aktiven Fahrzeuges | 1.0 | |
act_route | aktuelle Route des aktiven Fahrzeuges (wird nicht verwendet) | X | 1.0 |
act_busstop | aktuelle Haltestelle des aktiven Fahrzeuges (Verwendung mit Trigger ai_scheduled_busstop) | 1.0 | |
SetLineTo | einzustellende Liniennummer des Fahrzeuges (Verwendung mit Trigger ai_scheduled_settarget) | 1.0 | |
yard | Name der Hofdatei, welche beim Fahrzeugspawn ausgewählt wurde | 1.0 | |
file_schedule | Name der Fahrplan-Bitmap der aktuellen Strecke | 1.0 |
4. Vordefinierte lokale Variablen für Szenerieobjekte
Wie in Scriptsystem beschrieben, können nachfolgende Variablen mit dem Code (L.L.Variable) in den Stack geladen werden.
Variable | Beschreibung | Einheit | Schreibzugriff | on-demand | OMSI-Version |
NightLightA | Nachtbeleuchtung des Szenerieobjektes (bool) | 0 = aus; 1 = an |
1.0 | ||
InUse | Aktivität des Szenerieobjektes (z.bsp. für Tag- oder Zeitabhängige Soundeffekte) (bool) | 0 = inaktiv; 1 = aktiv |
1.0 | ||
TrafficLightPhase | aktuelle Ampelphase (integer) | 0-2 = rot; 3-5 = rot-gelb; 6-8 = grün; 9-11 = gelb; <0 oder >11 = aus |
1.0 | ||
TrafficLightApproach | Ist eine Ampelanforderung aktiv? (bool) | 0 = Nein 1 = Ja |
1.0 | ||
Colorscheme | (obsolet) | - | 1.0 | ||
Signal | anzuzeigendes Signalbild (wird über den Editor festgelegt) (integer) | individuell | 1.0 | ||
NextSignal | nächstes, anzuzeigendes Signalbild für Vorsignale (wird über den Editor festgelegt) (integer) | individuell | 1.0 | ||
Refresh_Strings | muss vom Script auf 1 gesetzt werden, um Textfelder zu aktualisieren. Wird von OMSI nach erfolgreicher Ausführung automatisch wieder auf 0 gesetzt. (bool) | - | X | 1.0 | |
Switch | Stellt die Richtung der Weiche ein. Weichenstellung muss dem integer aus [switchdir] entsprechen. (integer) | - | X | 2.0 |
5. Vordefinierte lokale Variablen für Menschen
Wie in Scriptsystem beschrieben, können nachfolgende Variablen mit dem Code (L.L.Variable) in den Stack geladen werden.
Variable | Beschreibung | Einheit | Schreibzugriff | on-demand | OMSI-Version |
LastMovedDist | Entfernung, die der Mensch in einem Durchlauf zurückgelegt hat. (float) | m | 1.0 | ||
PAX_State | aktueller Animationszustand des Menschen (integer) | 0 = stehen; 1 = gehen; 2 = sitzen |
1.0 | ||
HeightOfSeat | Höhe des Sitzes, auf dem der Mensch aktuell sitzt (float) | m | 1.0 | ||
Colorscheme | Tauschtextur-Index des Menschen (integer) | - | 1.0 |