Witaj na Forum! Zapraszamy do rejestracji lub zalogowania. Stwórz konto  


[OMSI 1 & 2]  Zmienne systemowe i predefiniowane zmienne lokalne w OMSI

#1
(Ten post był ostatnio modyfikowany: 22.02.2015, 12:24 przez skawek.)

Prezentuję listę i objaśnienia wszystkich zmiennych systemowych i predefiniowanych zmiennych lokalnych w systemie skryptowym OMSI.

Poradnik został stworzony wyłącznie dla Strefy-OMSI z pomocą moderatora i technika Strefy ( siwy_Snk dzięki ;) ). Dla niezarejestrowanych dostępna jest wersja "demo" z objaśnieniami jednej tylko kategorii. Jeśli zauważyłeś błąd lub nieścisłość - napisz do mnie Prywatną Wiadomość w tej sprawie.

Zmienne systemowe
Są obecne w pliku <folder OMSI>\program\varlist_system.txt :
  • Timegap - odstęp czasowy od ostatniego przebiegu skryptowego, a dokładniej od wykonania tzw. ramki (w sekundach);
  • GetTime - czas bezwzględny liczony od uruchomienia OMSI (w sekundach);
  • NoSound - deaktywacja dźwięków (0 = dźwięk włączony, 1 = wyłączony);
  • Pause - pauza w grze (0 = symulacja aktywna, 1 = symulacja zatrzymana);
  • Time - czas liczony od północy bieżącego dnia (w sekundach);
  • Day - dzień liczony od początku bieżącego miesiąca (oczywiście wynik jest w dniach);
  • Month - miesiąc (w miesiącach);
  • Year - rok (w latach);
  • DayOfYear - dzień liczony od początku bieżącego roku (w dniach);
  • mouse_x - współrzędna X położenia kursora myszy na ekranie (w pikselach);
  • mouse_y - współrzędna Y położenia kursora myszy na ekranie (w pikselach);
  • PrecipType - typ opadów (0 = brak, 1 = deszcz, 2 = śnieg);
  • PrecipRate - gęstość opadów (0 = brak opadów, 1 = maksymalne opady);
  • coll_pos_x - pozycja kolizyjna, liczona po osi X od środka pojazdu, używana do wywoływania wyzwalacza kolizji (w metrach);
  • coll_pos_y - pozycja kolizyjna, liczona po osi Y od środka pojazdu, używana do wywoływania wyzwalacza kolizji (w metrach);
  • coll_pos_z - pozycja kolizyjna, liczona po osi Z od środka pojazdu, używana do wywoływania wyzwalacza kolizji (w metrach);
  • coll_energy - "energia" kolizji, używana podczas wyzwalania kolizji (w Nm - niutonometrach);
  • Weather_Temperature - temperatura powietrza (zewnętrzna) (w stopniach Celsjusza);
  • Weather_AbsHum - wilgotność powietrza (w gramach na metr sześcienny);
  • AutoClutch - aktywuje opcję automatycznego sprzęgła (dostępne od OMSI w wersji 1.03);
  • wearlifespan - tej zmiennej zdaniem Autorów nie wolno używać (obecne od OMSI 2);
  • SunAlt - kąt wysokości słońca (w stopniach) (dostępne od OMSI 2).


Predefiniowane zmienne lokalne

Obiekty scenerii
Plik zawierający: <folder OMSI>\program\varlist_scenobj.txt
  • NightLightA - światła latarnii ulicznych (0 = wyłączone, 1 = włączone) (X);
  • InUse - zmienna "aktywności" obiektu, przykładowo hale sportowe są "aktywne" tylko podczas dni szkolnych w godzinach porannych, użycie tej zmiennej w połączeniu z efektami dźwiękowymi adekwatnymi do tego miejsca powoduje, że dźwięk nie będzie odtwarzany (dla podanego przykładu hali sportowej) wieczorem i w nocy w dniach powszednich, a także przez dni weekendowe oraz wakacyjne (0 = nieaktywna, 1 = aktywna) (X);
  • TrafficLightPhase - faza świateł sygnalizatorów świetlnych (0..2 = czerwone, 3..5 = czerwone i żółte, 6..8 = zielone, 9..11 = żółte, inny zakres = światła wyłączone) (X);
  • TrafficLightApproach - zmienna używana do świateł "na żądanie", na przykład dla oświetlenia ostrzegawczego na drodze (0 = brak żądania, 1 = żądanie uruchomienia) (X);
  • Colorscheme - aktualnie brak zastosowania (X);
  • Signal - w tej zmiennej przechowywany jest aktualny sygnał wyświetlany na semaforze (X)
  • NextSignal - w tej zmiennej przechowywany jest kolejny sygnał wyświetlany na semaforze (X);
  • Refresh_Strings - ta zmienna musi być ustawiona na "1", w przeciwnym razie nie będą aktualizowane tekstury tekstowe, po pomyślnej realizacji, OMSI przypisuje jej wartość "0";
  • Switch - zmienna zamieniająca wykrywany obiekt, w tym celu należy ustawić ścieżkę docelową, używając słowa [switchdir] (dostępne od OMSI 2).

Pojazdy - zmienne liczbowe
Plik zawierający: <folder OMSI>\program\varlist_roadvehicle.txt
  • Refresh_Strings - ta zmienna musi być ustawiona na "1", w przeciwnym razie nie będą aktualizowane tekstury tekstowe, po pomyślnej realizacji, OMSI przypisuje jej wartość "0";
  • Envir_Brightness - doświetlenie otoczenia pojazdu/elementu pojazdu (0 = ciemno, 1 = jasno) (X);
  • StreetCond - informacja o stanie nawierzchni (0: sucho, 0..1: zwiększona wilgotność, 1: całkowicie mokra, 1..2: występujące kałuże, 2: całkowicie w kałużach) (X);
  • Spot_Select - używana do wskazania, które zdefiniowane dla pojazdu światło punktowe (Spotlight) jest aktywne (-1: żadne, 0: spotlight numer 0, 1: spotlight numer 1 itd.);
  • Colorscheme - wskaźnik (indeks) wybranego malowania/schematu kolorów (X);
  • M_Wheel - dzięki tej zmiennej skrypt symuluje fizyczny moment siły dla kół, należy wskazać sumę tych sił działających na wszystkie koła (w kNm - kiloniutonometrach);
  • n_Wheel - średnia ilość obrotów kół pojazdu (w rpm - obrotach na minutę) (X);
  • Throttle - pozycja pedału przyspieszenia (od 0 do 1) (X);
  • Brake - pozycja pedału hamulca (od 0 do 1) (X);
  • Clutch - pozycja pedału sprzęgła (od 0 do 1) (X);
  • Brakeforce - całkowita siła hamowania działająca na koła pojazdu, nie należy jednocześnie używać zmiennej Axle_Brakeforce (siła podawana w N - niutonach);
  • Velocity - prędkość oparta na pomiarze obrotów kół, jest równa tej, obserwowanej na prędkościomierzu (w km/h - kilometrach na godzinę) (X);
  • Velocity_Ground - prędkość mierzona bezpośrednio względem powierzchni, nie uwzględnia poślizgów czy zablokowania kół, działa adekwatnie do pomiaru GPS i w tym systemie może być użyta (w km/h - kilometrach na godzinę) (X);
  • tank_percent - poziom zatankowania pojazdu, używany do jego wskazywania na czerwonym pasku informacyjnym (Shift+Y), symulacja tankowania lub pustego baku musi być zrealizowana przez wyzwalacz bądź przez implementację odpowiedniego skryptu (skala od 0 do 1);
  • kmcounter_km - licznik całkowitego przebiegu pojazdu (w km) (X);
  • kmcounter_m - pomocniczy licznik przebiegu, podający część w metrach (od 0m do 999m) (X);
  • relrange - przebyta ścieżka względna, wprowadzona dla celów testowych i w tej chwili bezużyteczna (X);
  • Driver_Seat_VertTransl - sprężystość (a właściwie sprężyste odchylenie) siedzenia kierowcy (w metrach) (X);
  • Wheel_Rotation_0_L / ~_R ... ~_3_L / _R - kąt obrotu danego koła, używane np. w celach animacji (w radianach) (X);
  • Wheel_RotationSpeed_0_L / ~_R ... ~_3_L / _R - liczba obrotów danego koła (w rpm - obrotach na minutę) (X);
  • Axle_Suspension_0_L / ~_R ... ~_3_L / _R - zawieszenie osi danego koła (w metrach) (X);
  • Axle_Steering_0_L / ~_R ... ~_3_L / _R - kąt skrętu danego koła (w radianach) (X);
  • Axle_Springfactor_0_L / ~_R ... ~_3_L / _R - dodatkowy współczynnik sprężystości działającej na koło, używany np. w celu symulacji zawieszenia pneumatycznego (0 = nieużywany, 1 = normalny, 2 = podwójna sprężystość);
  • Axle_Brakeforce_0_L / ~_R ... ~_3_L / _R - umożliwia ustawienie siły hamowania dla konkretnego koła, nie mylić z Brakeforce (w niutonach);
  • Axle_SurfaceID_0_L / ~_R ... ~_3_L / _R - umożliwia ustawienie typu powierzchni pod danym kołem, zmienna przyjmuje wartości nazwane jako "Oberflächen-Codes", ale nie zostały one przybliżone przez Autorów gry (dostępne od OMSI 2) (X);
  • Debug_0 ... _5 - zmienne debugowania, mogące wyświetlić informacje w trybie debugowania na czerwonym pasku informacyjnym np. o poprawności wykonania skryptów;
  • A_Trans_X ... _Z - przyspieszenie używane do wyznaczania momentu bezwładności w pojeździe np. przy hamowaniu lub zakręcaniu (w m/s^2 - metrach na sekundę do kwadratu) (X);
  • AI_Blinker_L, ~_R - włączony lewy lub prawy kierunkowskaz (0: wyłączony, 1: włączony) (X*);
  • AI_Light - światła postojowe, mijania, sygnał świetlny/mignięcie światłami (0: światła wyłączone, 0.5: włączone postojowe, 1: włączone mijania, 2: mignięcie światłami drogowymi) (X*);
  • AI_Interiorlight - oświetlenie wewnętrzne pojazdu (0: wyłączone, 1: włączone) (X*);
  • AI_Brakelight - tylko dla AI: skrypt światła stopu (0: wyłączone, 1: włączone) (X);
  • AI_Engine - tylko dla AI: skrypt włączenia i wyłączenia silnika (-1: silnik wyłączony, 0: brak znaczenia/to nie pojazd AI, 1: silnik włączony) (X);
  • AI_target_index - używana do "transferu" ustawionego kierunku na wyświetlacze autobusu, jej wartość jest adekwatna do kolejności w pliku .HOF, gdzie "0" oznacza pierwszy wpis (X);
  • target_index_int - zmienna obserwuje kurs (kierunek i przystanki) i dzięki temu dostosowuje zachowanie pasażerów, kolejność taka jak w zmiennej AI_target_index;
  • AI_Scheduled_AtStation - tylko dla AI: sprawdzenie czy pojazd jest na przystanku oraz otwarcie/zamknięcie drzwi, (wartość "1" oznacza, że autobus jest na przystanku i następuje otwarcie drzwi, gdy pojazd jest gotowy do odjazdu zmienna przyjmuje wartość "-1" i drzwi są zamykane, po czym ustawiana jest na "0", co równoważne jest "normalnemu" trybowi jazdy) (X*);
  • AI_Scheduled_AtStation_Side - wskazanie, po której stronie powinny otworzyć się drzwi na danym przystanku, przydatne np. dla pociągów (0: z prawej, 1: z lewej, 2: po obu stronach) (dostępne od OMSI 2) (X);
  • AI - sprawdzenie, czy pojazd jest "prowadzony" przez AI (0: nie, 1: tak) (X);
  • PAX_Entry0_Open ... ~7_Open - dzięki temu gra jest informowana o otwarciu poszczególnych dróg wejścia do pojazdu (0: zamknięte, 1: otwarte);
  • PAX_Exit0_Open ... ~7_Open - dzięki temu gra jest informowana o otwarciu poszczególnych dróg wyjścia z pojazdu (0: zamknięte, 1: otwarte);
  • PAX_Entry0_Req ... ~7_Open - żądanie wejścia przez co najmniej jednego oczekującego na przystanku przez dany punkt wejścia, czyli innymi słowy zmienna odpowiadająca za CG z zewnątrz (0: bez żądania, 1: żądanie wejścia) (dostępne od OMSI w wersji 1.03);
  • PAX_Exit0_Req ... ~7_Open - żądanie wyjścia przez co najmniej jednego pasażera przez dany punkt wyjścia, czyli innymi słowy zmienna odpowiadająca za CG od wewnątrz (0: bez żądania, 1: żądanie wyjścia) (dostępne od OMSI w wersji 1.03);
  • GivenTicket - informuje o ewentualnym wydaniu przez np. biletomat biletu (-1: bilet niewydany, 0: wydany typ biletu o indeksie 0, 1: o indeksie 1, ...);
  • humans_count - liczba pasażerów w pojeździe (X);
  • FF_Vib_Period - włącza wibracje Force-Feedback na kierownicy;
  • FF_Vib_Amp - ustawia amplitudę drgań Force-Feedback na kierownicy (od 0 do 1);
  • Snd_OutsideVol - ustawienie słyszalności dźwięków zewnętrznych, np. dla zróżnicowania dźwięków spoza pojazdu przy otwartych/zamkniętych drzwiach lub oknach (0: słabo słyszalne, 1: słyszalne tak, jak i na zewnątrz);
  • Snd_Microphone - sprzętowa obecność mikrofonu (0: niepodłączony, 1: podłączony);
  • Snd_Radio - radio internetowe (0: wyłączone, 1: włączone);
  • Cabinair_Temp - temperatura wewnątrz pojazdu (w stopniach Celsjusza);
  • Cabinair_absHum - wilgotność bezwzględna wewnątrz pojazdu (w g/m^3 - gramach na metr sześcienny);
  • Cabinair_relHum - wilgotność względna wewnątrz pojazdu, obliczana automatycznie na podstawie wilgotności bezwzględnej i temperatury wewnętrznej (0 = 0%, 1 = 100%) (X);
  • PrecipRate - intensywność opadów (0 = brak, 1 = maksimum) (X);
  • PrecipType - typ opadów (0 = brak, 1 = deszcz, 2 = śnieg) (X);
  • Dirt_Norm - globalny współczynnik zanieczyszczeń - np. kurz zbierający się na szybach i innych częściach pojazdu może być w zależności od tego ustawienia mniejszy lub większy (0 = czysto, 1 = bardzo brudno) (X);
  • DirtRate - wskaźnik zanieczyszczeń (przykładowo "1" oznacza, że zanieczyszczenie pojazdu jest maksymalne) (X);
  • schedule_active - informuje o aktywnym rozkładzie jazdy - zmienna przydatna m.in. do wyświetlenia "kartki" z rozkładem w pojeździe (0 = brak rozkładu, 1 = rozkład aktywny) (X);
  • train_frontcoupling - czy przednie sprzęgi są połączone? (zmiennej można ewentualnie użyć także do rozprzęgania składów) (0 = nie, 1 = tak) (X);
  • train_backcoupling - czy tylne sprzęgi są połączone? (zmiennej można ewentualnie użyć także do rozprzęgania składów) (0 = nie, 1 = tak) (X);
  • train_me_reverse - czy skierować skład w przeciwną stronę do dotychczasowego kierunku ruchu? (0 = nie, 1 = tak) (X);
  • TrafficPriority - zmienna pozwalająca na ustalenie czy pojazd jest uprzywilejowany na drodze i ma pierwszeństwo przed wszystkimi innymi (0 = nie, 1 = tak) (dostępne od OMSI 2);
  • wearlifespan - czynnik (mnożnik) określający techniczny stan utrzymania pojazdu (10 = bardzo dobry stan, 1 = normalny stan, 0.1 = kiepski stan, 0.01 = bardzo kiepski stan, 1500000 = "nieskończoność"/idealny stan) (dostępne od OMSI 2);
  • articulation_#_alpha / ~_beta - kąt, o który odchylić się może punkt "#" zgięcia pojazdu wieloczłonowego wokół osi pionowej (alpha) i osi poprzecznej (beta) ( wartości w stopniach) (dostępne od OMSI 2) (X);
  • boogie_#_wheel_at_limit - tryb krawędziowania kół pojazdu szynowego wagonu # (0 = bez symulacji krawędziowania - zawsze pośrodku torów, -1 lub 1 = krawędziowanie z piskiem) (dostępne od OMSI 2) (X);
  • boogie_#_invradius - prawdopodobnie określa minimalny, odwrócony promień łuku wagonu # (jednostka 1/m) (dostępne od OMSI 2) (X);
  • contactshoe_#_rail_pos_x / ~_y - położenie szyny prądowej (tzw. trzeciej szyny) (w metrach) (dostępne od OMSI 2) (X);
  • contactshoe_#_rail_index - index trzeciej szyny, wartość -1 , gdy jej nie ma (dostępne od OMSI 2) (X);
  • contactshoe_#_volt_rail - napięcie trzeciej szyny (w woltach) (dostępne od OMSI 2) (X);
  • contactshoe_#_volt_veh - napięcie podawane z trzeciej szyny do pojazdów (w woltach) (dostępne od OMSI 2) (X);
  • contactshoe_#_freq - częstotliwość napięcia trzeciej szyny (w Herzach lub wartość 0 dla prądu stałego) (dostępne od OMSI 2) (X);

Pojazdy - zmienne łańcuchowe
Plik zawierający: <folder OMSI>\program\stringvarlist_roadvehicle.txt
  • ident - zawiera rejestrację pojazdu, np. WB 5786 (X);
  • number - nr boczny/taborowy pojazdu, np. 3503 (X);
  • act_route - aktualnie brak zastosowania;
  • act_busstop - zmienna używana wraz z wyzwalaczem ai_scheduled_setbusstop, przechowuje nazwę aktualnego przystanku (X);
  • SetLineTo - zmienna używana wraz z wyzwalaczem ai_scheduled_settarget, przechowuje numer linii (ewentualnie inne symbole w miejscu numeru linii), stosowana zarówno przy manualnym wyborze linii jak i dla wyświetlaczy autobusów AI (X);
  • yard - nazwa pliku .HOF dla danego pojazdu, używanego np. w celu utworzenia wewnętrznej tabeli kierunków i linii (X);
  • file_schedule - nazwa pliku przechowującego bitmapę rozkładu jazdy (X);

Ludzie i pasażerowie
Plik zawierający: <folder OMSI>\program\varlist_human.txt
  • LastMovedDist - odległość przebyta przez człowieka od rozpoczęcia ostatniego ruchu, zmienna była używana do starych animacji (w metrach) (X);
  • PAX_State - stan/pozycja człowieka, również używana do starych animacji (0: stojąca, 1: "idąca", 2: siedząca) (X);
  • PAX_State - stan/pozycja człowieka, również używana do starych animacji (0: stojąca, 1: "idąca", 2: siedząca) (X);
  • Colorscheme - indeks tekstur (schematu kolorów) ludzi (X);


Legenda:
Każdy podpunkt zaczyna się nazwą zmiennej, następnie podane jest słowne wyjaśnienie i opcjonalnie w nawiasie jednostka lub dozwolone stany, oraz:
(X) - brak dostępu do zapisu;
(X*) - zmienne dwukierunkowe - jeśli pojazdem kieruje gracz, skrypt może odczytać np. stan świateł czy kierunkowskazów, jeśli natomiast jest to pojazd AI, stany muszą być ustawiane.


Poradnik został napisany wyłącznie dla Forum http://strefa-omsi.pl i nie może być rozpowszechniany we fragmentach lub w całości na innych stronach bez zezwolenia głównego Autora. Potencjalnym "złodziejom treści" mogę powiedzieć: "jak Kuba Bogu, tak Bóg Kubie", poza oczywiście konsekwencjami prawnymi.
♪ "Nie pytaj mnie, wiem tyle co i ty" ♪

Zanim cokolwiek napiszesz, przeczytaj koniecznie REGULAMIN
Jeśli masz problem techniczny, zapoznaj się z ZASADAMI DZIAŁÓW TECHNICZNYCH
Jeśli chcesz podzielić się dodatkiem, zapoznaj się z REGULAMINEM DZIAŁU POBIERALNIA

 Podziękowania za post: mattez(+1) , KaJotT3D(+1)
Odpowiedz




Użytkownicy przeglądający ten wątek:
1 gości