System- und vordefinierte lokalen Variablen

Bald ist es soweit: Unsere nächste Leitstellenfahrt findet statt. Weitere Informationen findet ihr hier.

  • Übersicht über alle verfügbaren System- und vordefinierte, lokale Variablen.

    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_busstopaktuelle 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

Teilen

CC BY-SA 4.0

Sämtliche Inhalte unseres OMSI-Wiki sind unter Creative Commons Namensnennung & Weitergabe unter gleichen Bedingungen (CC BY-SA 4.0) lizensiert.