System- und vordefinierte lokalen Variablen

Aus wiki.3d-modell.design
Wechseln zu: Navigation, Suche

Hinweis: Dieser Artikel wurde noch nicht ins Englische übersetzt!

OMSI-Version: 1.0 - 2.0

Beschreibung der System- und der lokalen Scriptvariablen, welche für jedes Objekt vordefiniert werden und im Allgemeinen bestimmte Sonderfunktionen gegenüber frei definierten Scriptvariablen übernehmen.

Systemvariablen

Siehe bitte auch Datei program\varlist_system.txt!

Variablenname Beschreibung Einheit ab OMSI-Vs.
Timegap Zeitschritt seit dem letzten Durchlauf (Frame) Sekunden 1.00
GetTime Enthält eine absolute Zeitangabe, die vom Beginn des Ausführens von OMSI zählt Sekunden 1.00
NoSound Sounds deaktiviert? 0 = Sounds aktiviert, 1 = Sounds deaktiviert 1.00
Pause Simulations-Pause aktiv? 0 = Simulation läuft, 1 = Simulation angehalten 1.00
Time Uhrzeit gerechnet von Mitternacht des aktuellen Tages Sekunden 1.00
Day Tag gezählt ab Monatsbeginn Tage 1.00
Month Monat Monate 1.00
Year Jahr Jahre 1.00
DayOfYear Tag gezählt ab Jahresbeginn Tage 1.00
mouse_x X-Koordinate des Mauszeigers auf dem Bildschirm Pixel 1.00
mouse_y Y-Koordinate des Mauszeigers auf dem Bildschirm Pixel 1.00
PrecipType Niederschlagstyp 0 = keiner, 1 = Regen, 2 = Schnee 1.00
PrecipRate Niederschlagstyp 0 = kein Niederschlag, 1 = maximaler Niederschlag 1.00
coll_pos_x Position der Kollision, x-Richtung relativ zum Fahrzeugursprung (nur bei Auslösung des Kollisions-Triggers) Meter 1.00
coll_pos_y Position der Kollision, y-Richtung relativ zum Fahrzeugursprung (nur bei Auslösung des Kollisions-Triggers) Meter 1.00
coll_pos_z Position der Kollision, z-Richtung relativ zum Fahrzeugursprung (nur bei Auslösung des Kollisions-Triggers) Meter 1.00
coll_energy Energie der Kollision (nur bei Auslösung des Kollisions-Triggers) Nm 1.00
Weather_Temperature Außentemperatur °C 1.00
Weather_AbsHum Absolute Luftfeuchtigkeit g/m³ 1.00
AutoClutch Option "automatische Kupplung" aktiviert 0 = aus, 1 = an 1.03
wearlifespan nicht nutzen! 2.00
SunAlt Höhenwinkel der Sonne ° 2.00

Vordefinierte lokale Variablen

Seit OMSI 2 gibt es eine neue Form vordefinierter Variablen: Diese tauchen nicht in der varlist_*.txt-Datei im program-Verzeichnis auf und müssen daher so wie "normale" lokale Variablen deklariert werden, sie werden aber dennoch (sofern sie deklariert werden) mit internen Variablen verbunden. Diese Variablen werden "on-demand-vordefinierte Variablen" genannt. Bitte beachten Sie hierzu die neue Spalte!

Szenerieobjekte

Siehe bitte auch Datei program\varlist_scenobj.txt!

Variablenname Beschreibung Einheit kein Schreibzugriff ab OMSI-Vs.
NightLightA Ist die Nachtbeleuchtung aktiv? 0 = aus, 1 = an X 1.00
InUse Ist das Objekt "aktiv"? Die Sporthallen sind bspw. nur an Schultagen vormittags "aktiv", sodass die Soundeffekte an diese Variable gekoppelt werden können - auf diese Weise wird verhindert, dass die Soundeffekte auch in den Ferien oder nachts zu hören sind. 0 = inaktiv, 1 = aktiv X 1.00
TrafficLightPhase Hierüber wird Ampelobjekten die anzuzeigende Ampelphase mitgeteilt. 0..2 = rot, 3..5 = rot-gelb, 6..8 = grün, 9..11 = gelb, sonst aus X 1.00
TrafficLightApproach Hierüber kann das Script eine Ampelanforderung erkennen und bspw. eine Kennleuchte aktiviert werden. 0 = keine Anforderung, 1 = Anforderung X 1.00
Colorscheme (veraltet) (-) X 1.00
Signal Hierüber erhalten Signale ihr anzuzeigendes Signalbild individuell X 1.00
NextSignal Hierüber erhalten Signale mit Vorsignalfunktion das anzuzeigende Signalbild des nächsten Signals individuell X 1.00
Refresh_Strings Diese Variable muss auf "1" gesetzt werden, damit die Text-Texturen aktualisiert werden! Wird nach erfolgreicher Abarbeitung von OMSI auf 0 gesetzt. - 1.00
Switch Mit dieser Variable kann die Weiche, die im Objekt eingebaut ist, gestellt werden. Hierfür muss der Wert der Variable auf den mit [switchdir] angegebenen Wert des gewünschten Pfades gesetzt werden. - 2.00

Fahrzeuge

Wichtig: Üblicherweise nutzen Gelenkbusse das Scriptshare-System, bei welchem sich mehrere Fahrzeuge denselben Variablenspeicher teilen. Hierbei ist zu beachten, dass Räder und Türen über alle Fahrzeugteile zählen. Beim NG272 bedeutet dies beispielsweise, dass die dritte Tür auch mit PAX_Entry2_Open angesteuert wird.

Zahlvariablen

Siehe bitte auch Datei program\varlist_roadvehicle.txt!

Variablenname Beschreibung Einheit kein Schreibzugriff "on demand" ab OMSI-Vs.
Refresh_Strings Diese Variable muss auf "1" gesetzt werden, damit die Text-Texturen aktualisiert werden! Wird nach erfolgreicher Abarbeitung von OMSI auf 0 gesetzt. - 1.00
Envir_Brightness Umgebungshelligkeit in Fahrzeugnähe 0 = dunkel, 1 = hell X 1.00
StreetCond Information über die Oberflächenbedingungen 0: Trocken, 0..1: zunehmende Feuchtigkeit, 1: komplett feucht, 1..2: teilweise Pfützen, 2: Fahrzeug komplett in Pfützen X 1.00
Spot_Select Hierüber kann gesteuert werden, welches fürs Fahrzeug vordefinierte Spotlight aktiv sein soll. -1: kein Spotlight, 0: Spotlight Nr. 0, 1: Spotlight Nr. 1 usw. 1.00
Colorscheme Index des gewählten Farbschemas/Anstriches - X 1.00
M_Wheel Hierüber kann das Script ein Drehmoment auf die Räder übertragen. Hierbei die Summe anzugeben, welche auf alle als angetrieben ausgewiesene Achsen wirken

soll.

kNm = 1000 Nm 1.00
n_Wheel Mittlere Raddrehzahl des Fahrzeuges Umdrehungen pro Minute X 1.00
Throttle Stellung des Gaspedals 0..1 X 1.00
Brake Stellung des Bremspedals 0..1 X 1.00
Clutch Stellung des Kupplungspedals 0..1 X 1.00
Brakeforce Hierüber kann das Script die Gesamtbremskraft des Fahrzeuges vorgeben, welche auf die Räder wirkt. Sollte nicht gleichzeitig mit Axle_Brakeforce... verwendet werden. N 1.00
Velocity Geschwindigkeit, welche sich über die Raddrehung ergibt, entspricht der Tachoanzeige km/h X 1.00
Velocity_Ground Geschwindigkeit, welche direkt relativ zum Grund gemessen wird, berücksichtigt kein Radschleudern oder -blockieren, entspricht der Anzeige auf einem GPS km/h X 1.00
tank_percent Tankinhalt, nur für die Anzeige auf der roten Informationsleiste. Die Betankung und Simulation eines leeren Tanks geschieht über einen Trigger bzw. muss im Script programmiert werden. 0..1 1.00
kmcounter_km Stand des Kilometerzählers (nur ganze km) km X 1.00
kmcounter_m Stand des Kilometerzählers (zusätzliche Meter, läuft stets nur von 0m bis 999m; hinzu kommen die Kilometer von kmcounter_km) m X 1.00
relrange Zurückgelegte, relative Strecke. Wurde nur testweise für pfadfixierte Fahrzeuge eingeführt. Nicht benutzen! --- X 1.00
Driver_Seat_VertTransl Einfederung des federnden Fahrersitzes m X 1.00
Wheel_Rotation_0_L / ~_R ... ~_3_L / _R Drehwinkel des jeweiligen Rades, z.B. für die Animation rad X 1.00
Wheel_RotationSpeed_0_L / ~_R ... ~_3_L / _R Drehzahl des jeweiligen Rades Umdrehungen pro Minute X 1.00
Axle_Suspension_0_L / ~_R ... ~_3_L / _R Einfederungsweg des jeweiligen Rades m X 1.00
Axle_Steering_0_L / ~_R ... ~_3_L / _R Lenkwinkel des jeweiligen Rades rad X 1.00
Axle_Springfactor_0_L / ~_R ... ~_3_L / _R Faktor, mit dem radweise die Federstärke angepasst werden kann, z.B. um Luftfederungen zu simulieren. 0 = keine, 1 = normale, 2 = doppelte Federkraft 1.00
Axle_Brakeforce_0_L / ~_R ... ~_3_L / _R Ermöglicht Setzen der Bremskraft pro Rad. Sollte nicht gleichzeitig mit Brakeforce verwendet werden! N 1.00
Axle_SurfaceID_0_L / ~_R ... ~_3_L / _R Oberflächenbeschaffenheit unter dem Rad Oberflächen-Codes X X 2.00
Debug_0 ... _5 Debug-Variablen. Können im Debug-Modus in der Informationsleiste angezeigt werden, um auf diese Weise die Scripts zu testen. bliebig 1.00
A_Trans_X ... _Z Beschleunigungen im Fahrzeug, die durch die Fahrzeugbewegungen ausgelöst werden (beim Bremsen oder bei Kurvenfahrten usw.) m/s² X 1.00
AI_Blinker_L, ~_R Linker oder rechter Blinker aktiv 0: aus, 1: ein (X)* 1.00
AI_Light Fahrlicht, Standlicht, Lichthupe 0: Licht aus, 0.5: Standlicht an, 1: Fahrlicht an, 2: Fernlicht/Lichthupe an (X)* 1.00
AI_Interiorlight Innenbeleuchtung. Hierüber erfahren die einsteigenden Fahrgäste auch, ob es im Bus zu dunkel ist (sodass sie meckern dürfen). 0: aus, 1: an (X)* 1.00
AI_Brakelight Nur für KI-Fahrzeuge: Script soll Bremslicht einschalten 0: aus, 1: an X 1.00
AI_Engine Nur für KI-Fahrzeuge: Aufforderung zum Ein- oder Ausschalten des Motors -1: Motor ausschalten!, 0: egal/nicht-KI, 1: Motor einschalten! X 1.00
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; erster Eintrag = 0 - X 1.00
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. - 1.00
AI_Scheduled_AtStation Nur KI-Fahrzeuge, bidirektionale Kommunikation: Bei Erreichen einer Station setzt OMSI den Wert auf 1, sodass das Script mitgeteilt bekommt, dass die Türen geöffnet werden sollen. Wenn sich der Bus abfahrbereit machen soll, setzt OMSI den Wert auf -1. Wenn der Bus abfahrbereit ist (Türen geschlossen usw.), dann setzt das Script den Wert auf 0, sodass die KI den Bus weiterfahren lassen kann. -1: Bus abfahrbereit machen, 0: Bus ist abfahrbereit, 1: Türen freigeben/öffnen (X) 1.00
AI_Scheduled_AtStation_Side Gibt dem Script an, auf welcher Seite die Türen geöffnet werden können/sollen (insbesondere bei Schienenfahrzeugen) 0: rechts, 1: links, 2: beidseitig X X 2.00
AI Hierüber erfährt das Script, ob das Fahrzeug von der AI gesteuert wird. 0: nein, 1: ja X 1.00
PAX_Entry0_Open ... ~7_Open Teilt OMSI mit, ob die jeweiligen Eingänge offen oder geschlossen sind. 0: geschlossen, 1: offen 1.00
PAX_Exit0_Open Teilt OMSI mit, ob die jeweiligen Ausgänge offen oder geschlossen sind. 0: geschlossen, 1: offen 1.00
PAX_Entry0_Req ... ~7_Open Mindestens ein Fahrgast fordert den Einstieg durch diesen Eingang an. 0: keine Anforderung, 1: Anforderung 1.03
PAX_Exit0_Req Mindestens ein Fahrgast fordert den Ausstieg durch diesen Ausgang an ("Haltewunsch"). 0: keine Anforderung, 1: Anforderung 1.03
GivenTicket Teilt OMSI mit, ob der ggf. vorhandene Fahrscheinautomat ein Ticket ausgegeben hat. -1: kein Ticket, 0: Tickettyp 0, 1: Tickettyp 1, ... 1.00
humans_count Anzahl der Fahrgäste im Fahrzeug - X 1.00
FF_Vib_Period Setzt die Force-Feedback-Vibrationsperiode im Lenkrad s 1.00
FF_Vib_Amp Setzt die Force-Feedback-Vibrationsamplitude im Lenkrad 0...1 1.00
Snd_OutsideVol Teilt OMSI mit, wie stark der Außensound im Innenraum hörbar ist; verändert sich bspw. wenn eine Tür geöffnet wird. 0: kaum hörbar, 1: wie draußen 1.00
Snd_Microphone Soll das (Hardware-)Mikrofon aktiv sein? 0: aus, 1: an 1.00
Snd_Radio Soll das (Internet-)Radio laufen? 0: aus, 1: an 1.00
Cabinair_Temp Innenraumtemperatur für die Beurteilung durch die Fahrgäste °C 1.00
Cabinair_absHum Absolute Luftfeuchtigkeit im Innenraum für die Beurteilung durch die Fahrgäste g/m³ 1.00
Cabinair_relHum Relative Luftfeuchtigkeit im Innenraum, wird durch OMSI automatisch über die absolute Feuchtigkeit und die Innentemperatur berechnet. 0 = 0%, 1 = 100% X 1.00
PrecipRate Niederschlagsrate 0 = kein, 1 = maximal X 1.00
PrecipType Niederschlagstyp 0 = kein, 1 = Regen, 2 = Schnee X 1.00
Dirt_Norm allgemeiner Verdreckungszustand (Windschutzscheiben können sauberer sein und werden nur vom Script simuliert) 0 = sauber, 1 = total verdreckt X 1.00
DirtRate aktuelle Verdreckungsrate Verdreckung / s, wobei eine Verdreckung = 1 bedeutet, dass die Verdreckung maximal ist. X 1.00
schedule_active Ist gerade ein Fahrplan aktiv? (Bspw. für Einblendung der Fahrplankarte) 0: nein, 1: ja X 1.00
train_frontcoupling Ist an der vorderen Kupplung etwas angekuppelt? (Eventuell spätere Benutzung zum Abkuppeln) 0: nein, 1: ja X 1.00
train_backcoupling Ist an der hinteren Kupplung etwas angekuppelt? (Eventuell spätere Benutzung zum Abkuppeln) 0: nein, 1: ja X 1.00
train_me_reverse Steht dieses Fahrzeug rückwärts zum gesamten Fahrzeugverband? 0: nein, 1: ja X 1.00
TrafficPriority Diese Variable wird vom Fahrzeug gesetzt, wenn dieses Fahrzeug (z.B. Feuerwehr oder Polizei) im Einsatz ist und Vorrang vor allen anderen Verkehrsteilnehmern genießt. 0: nein, 1: ja 2.00
wearlifespan Faktor, welcher beim Initialisieren von Verschleißteil-Lebensdauern über den Durchschnittswert multipliziert wird. Hierrüber wirkt sich die Einstellung in den Optionen über dem Wartungszustand auf die Lebensdauern aus. 10: sehr gute Wartung, 1: normale Wartung, 0.1: schlechte Wartung, 0.01: sehr schlechte Wartung, 1500000: "unendlich" X 2.00
articulation_#_alpha / ~_beta Winkel, um den das #. Gelenk um die Hochachse (alpha) bzw. Querachse (beta) geknickt ist ° X X 2.00
boogie_#_wheel_at_limit Wie weit läuft das Drehgestell an der Kante? 0 = genau mittig auf dem Gleis, -1/1: ganz an einer der beiden Kanten - Quietschen ist das Resultat X X 2.00
boogie_#_invradius Welchen inversen Kurvenradius hat die Kurve am Drehgestell? 1/m X X 2.00
contactshoe_#_rail_pos_x / ~_y An welcher Position befindet sich die Stromschiene am Gleis? m X X 2.00
contactshoe_#_rail_index Index der Stromschiene, -1, falls keine vorhanden ist index X X 2.00
contactshoe_#_volt_rail Spannung an der Stromschiene V X X 2.00
contactshoe_#_volt_veh Der durch diese Stromschiene ins Fahrzeug gelangte Spannung V X X 2.00
contactshoe_#_freq Die Frequenz der an dieser Stromschiene liegenden Spannung Hz, 0: Gleichspannung X X 2.00

*) Bidirektionale KI-Variablen: Handelt es sich um ein Userfahrzeug, kann das Script dem Hauptprogramm mitteilen, wie Licht, Blinker usw. gesetzt wurden. Handelt es sich aber um ein KI-Fahrzeug, teilt OMSI dem Script mit, wie die entsprechenden Zustände gesetzt werden müssen.

Stringvariablen

Siehe bitte auch Datei program\stringvarlist_roadvehicle.txt!

Variablenname Beschreibung kein Schreibzugriff
ident Enthält das Kraftfahrzeugkennzeichen dieses Fahrzeugs (z.B. "B-V 3503") X
number Enthält die Fahrzeugnummer (z.B. "3503") X
act_route (keine Verwendung)
act_busstop Wird zusammen mit dem internen Trigger ai_scheduled_setbusstop verwendet: Enthält dann den Namen der im Fahrplansystem aktiven Haltestelle. X
SetLineTo Wird zusammen mit dem internen Trigger ai_scheduled_settarget verwendet: Enthält die einzustellende Liniennummer (oder Symbol) (bei Verwendung vom Zielschild-Menü oder beim Umschildern von KI-Bussen) X
yard Name der Hofdatei des Fahrzeuges, bspw. damit das Scriptsystem den Dateinamen der Zielcode-Tabelle generieren kann. X
file_schedule Enthält den Dateinamen der Fahrplan-Bitmap, die zu der von diesem Fahrzeug gefahrenen Strecke gehört. X

Menschen

Siehe bitte auch Datei program\varlist_human.txt!

Variablenname Beschreibung Einheit kein Schreibzugriff
LastMovedDist Entfernung, die der Mensch seit dem letzten Durchlauf zurückgelegt hat. Wurde für die alten Animationen gebraucht. m X
PAX_State Zustand des Menschens. Wurde für die alten Animationen gebraucht. 0: stehen, 1: gehen, 2: sitzen X
HeightOfSeat Höhe des Sitzes. Diese Eigenschaft wird in der Sitzposition gebraucht, um die Höhe der Füße korrekt gesetzt. Wurde für die alten Animationen gebraucht. m X
Colorscheme Tauschtextur-Index ("Farbschema") des Menschens. - X