Strefa OMSI

Pełna wersja: System skryptowy OMSI w teorii
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
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.
Przekierowanie