-
strefa-omsi.pl
-
-
Liczba postów: 1,483
Liczba wątków: 207
Dołączył: 12-2012
Reputacja:
559
17.05.2013, 12:19
(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.
|