Prezentuję długo oczekiwane na polskiej scenie OMSI objaśnienia dotyczące skryptów w symulatorze. System skryptowy został opisany na bazie informacji od Autorów gry, własnych doświadczeń oraz poparty unikalnymi przykładami.
Poradnik z pewnością będzie udoskonalany i uzupełniany o kolejne fragmenty. Jako główny Autor dołożyłem wszelkich starań, żeby jego treść była rzetelna i jednocześnie łatwo przystępna. W opracowaniu pomagał mi Ekspert Strefy-OMSI
kacper_IK160P. Jeśli zauważyłeś błąd, nieścisłość lub masz pomysły o co uzupełnić poradnik (a co nie zostało w międzyczasie wymienione, że będzie dołączone) - napisz do mnie Prywatną Wiadomość w tej sprawie.
Dla użytkowników niezarejestrowanych dostępny jest tylko pierwszy rozdział, ot, taka wersja demo
Pliki systemu skryptowego
- Pliki *.osc - zawierają właściwy kod wykonywalny skryptów;
- Pliki Varlist i Stringvarlist w katalogu OMSI\program - definiują ogólne zmienne systemu skryptowego;
- Pliki Varlist i Stringvarlist w katalogach dodatków - definiują zmienne użytkownika (mówiąc jaśniej - zmienne dodatku);
- Pliki Constfile - definiują stałe użytkownika i ewentualnie tabele prawd.
To jednak nie wszystko. Aby dany plik był "podpięty" do modelu lub innego dodatku, jego wpis musi być obecny w odpowiednim pliku konfiguracyjnym. Dla pojazdów będzie to *.bus (przykład poniżej):
Kod:
////////////////////////////////////////////////////////
Scripts
////////////////////////////////////////////////////////
[varnamelist]
23
script\AI_varlist.txt
script\Collision_varlist.txt
script\antrieb_varlist.txt
script\engine_varlist.txt
script\elec_varlist.txt
script\bremse_varlist.txt
script\auspuff_varlist.txt
script\lights_varlist.txt
script\door_varlist.txt
script\wiper1_varlist.txt
script\cockpit_varlist.txt
script\klappern_varlist.txt
script\rollband_varlist.txt
script\heizung_varlist.txt
script\rain_varlist.txt
script\dirt_varlist.txt
script\IBIS_varlist.txt
script\Matrix_varlist.txt
script\wimpel_varlist.txt
script\visual_varlist.txt
script\cashdesk_varlist.txt
script\ticketprinter_varlist.txt
script\wiper2_varlist.txt
[stringvarnamelist]
4
script\IBIS_stringvarlist.txt
script\Matrix_stringvarlist.txt
script\ticketprinter_stringvarlist.txt
script\cockpit_stringvarlist.txt
[script]
24
script\man_D92_main.osc
script\man_D86_main_AI.osc
script\collision.osc
script\cockpit.osc
script\antrieb.osc
script\engine.osc
script\elec.osc
script\bremse.osc
script\auspuff.osc
script\lights.osc
script\doordar.osc
script\wiper1.osc
script\klappern.osc
script\forcefeedback.osc
script\rain.osc
script\dirt.osc
script\sound_volume.osc
script\heizung.osc
script\IBIS.osc
script\matrix_D.osc
script\wimpel.osc
script\cashdesk.osc
script\ticketprinter.osc
script\wiper2.osc
[constfile]
19
script\AI_constfile.txt
script\collision_constfile.txt
script\antrieb_constfile_D86.txt
script\engine_constfile_D86.txt
script\elec_constfile.txt
script\bremse_constfile_D86.txt
script\lights_constfile.txt
script\door_constfile_D92.txt
script\auspuff_constfile.txt
script\cockpit_constfile.txt
script\klappern_constfile.txt
script\rollband_constfile.txt
script\forcefeedback_constfile.txt
script\wiper1_constfile.txt
script\dirt_constfile.txt
script\heizung_constfile.txt
script\IBIS_constfile.txt
script\matrix_constfile.txt
script\wiper2_constfile.txt
a np. dla dodatków w postaci scenerii: *.sco:
Kod:
[stringvarnamelist]
1
script\busstopdisplay_stringvarlist.txt
[varnamelist]
1
script\busstopdisplay_varlist.txt
[script]
1
script\busstopdisplay.osc
Łatwo na powyższych przykładach zauważyć, że słowa kluczowe wywołujące deklarację danego pliku to odpowiednio:
[script] - dla *.osc;
[varnamelist] i
[stringvarnamelist] - dla zmiennych
[constfile] - dla stałych
Cyfra po tychże słowach kluczowych to po prostu liczba wpisów.
Podstawy języka skryptowego
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Stos i rejestry
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Liczby zmiennoprzecinkowe i łańcuchy
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Słowa kluczowe w skryptach
Komentarze
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Punkty wejścia/wyjścia, makra i wyzwalacze
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Wywołanie makra
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Podział skryptów na pliki
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Wyzwalacze
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Operacje i operatory
Operacje związane ze stosami
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Operatory logiczne
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Operatory porównania
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Operatory matematyczne
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Operacje na łańcuchach
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Dostęp do zmiennych
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Stałe i funkcje
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Wyzwalacze dźwięku
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Makra systemowe
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
Wyrażenia warunkowe IF
Zarejestruj się bądź zaloguj by zobaczyć zawartość. Please register or login to show this content.
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.