Witam,
jako, że większość modeli pojazdów na scene omsi wychodzi głównie z niemiec (i pochodnych) system wsiadania jest zazwyczaj właśnie typowo niemiecki czyli wsiadanie pierwszymi drzwiami tylko i wyłącznie. Przerobienie tego systemu na system wsiadania wszystkimi drzwiami jest dość banalny i aż dziwię się, że do tej pory nie było żadnego poradnika jak to zmienić.
Tak więc zaczynajmy:
1.W interesującym nas modelu autobusu otwieramy interesujący nas plik .bus i sprawdzamy tam dwie rzeczy (Dla pojazdów przegubowych trzy)
a. Jaka jest dokładna nazwa pliku passengercabin.cfg
Kod:
[passengercabin]
model\passengercabin_GN92_main.cfg
b. Jaka jest dokładna nazwa pliku door.osc
Kod:
[script]
[...]
script\door-3.osc
[...]
c1. Jaka jest nazwa pliku .bus odpowiedzialnego za sekcję B (Punkt tylko dla pojazdów przegubowych)
Kod:
[couple_back]
MAN_GN92_trail.bus
false
c2. W pliku .bus przez nas znalezionych w punkcie c1 sprawdzamy nazwę passangerscabin sekcji B.
2.Kolejny krok to otworzenie wszystkich plików przez nas szukanych w dowolnym edytorze tekstu (polecam Notepad ++) oraz wykonanie ich kopii zapasowych.
3.W plikach passangerscabin.cfg szukamy takiej sekcji
Kod:
###################################
[entry]
0
[entry]
2
{noticketsale}
[exit]
10
[exit]
12
[linkToPrevVeh]
16
###################################
Kolejne wpisy [entry] oznaczają ścieżkę wejść a wpisy [exit] ścieżkę wyjść. Należy je liczyć od góry zawsze od 0 (osobno [entry] i osobno [exit])
Pierwszym ważnym krokiem będzie dopisanie pod ostatnim [entry] kolejne takie wpisy ale z numerami ścieżek (tą cyfrą pod spodem) zgodnie z numerami ścieżek jak we wpisach [exit] Zazwyczaj wpisy są dodawane zgodnie z kolejnością drzwi w pojeździe więc nie musimy się martwić o to który numer ścieżki to które drzwi.
Przykład uzupełnionego wpisu passangerscabin:
Kod:
###################################
[entry]
0
[entry]
2
{noticketsale}
[entry]
10
[entry]
12
[exit]
10
[exit]
12
[linkToPrevVeh]
16
###################################
Przy takim wpisaniu pasażerowie będą podchodzili do pierwszych drzwi w sytuacji gdy wszystkie drzwi będą zamknięte a w sytuacji gdy któreś drzwi otwarte to pasażerowie udadzą się do najbliższych otwartych.
Można uzyskać jeszcze inną sytuacje: Pasażerowie przy zamkniętych drzwiach udadzą się do najbliższych im drzwi jednakże nie będą reagowali na inne otwarte drzwi niż te, do których się udali w pierwszej kolejności. Uzyskać to można dodając pod danymi wejściami wpisy {withbutton}:
Kod:
[entry]
0
[entry]
2
{withbutton}
Po wykonaniu przez nas zmian zapisujemy pliki ale ich nie zamykamy, jeszcze się przydadzą.
4. Kolejnym etapem będzie otwarcie szukanego przez nas wcześniej pliku door.osc
W nim szukamy czegoś takiego:
Kod:
(L.L.door_0) 0.9 > (S.L.PAX_Entry0_Open)
(L.L.door_1) 0.9 > (S.L.PAX_Entry1_Open)
(L.L.door_2) 0.9 > (L.L.door_3) 0.9 > && (S.L.PAX_Exit1_Open) (S.L.PAX_Exit2_Open)
(L.L.door_4) 0.9 > (L.L.door_5) 0.9 > && (S.L.PAX_Exit3_Open) (S.L.PAX_Exit4_Open)
Teraz sprawdzamy czy nasze ścieżki się zgadzają, mówię sprawdzamy dlatego, że nieraz skrypt (szczególnie te nowsze oparte już na manie ng czyli z omsi 2) mają już wpisane ścieżki do odpowiednich drzwi. Wytłumaczę jak sprawdzić:
Kod:
(L.L.door_0) 0.9 > (S.L.PAX_Entry0_Open) - Wpis [entry] z passangerscabin o numerze 0 (czyli pierwszy od góry, bo zaczynamy liczenie od 0)
(L.L.door_1) 0.9 > (S.L.PAX_Entry1_Open) - Wpis [entry] o numerze 1
(L.L.door_2) 0.9 > (L.L.door_3) 0.9 > && (S.L.PAX_Exit1_Open) (S.L.PAX_Exit2_Open) (S.L.PAX_Entry2_Open) (S.L.PAX_Entry3_Open) - wpisy [entry] 2 i 3 na drzwiach jak widać o numerach 2 i 3 czyli w tym przypadku na drugiej parze drzwi
(L.L.door_4) 0.9 > (L.L.door_5) 0.9 > && (S.L.PAX_Exit3_Open) (S.L.PAX_Exit4_Open) (S.L.PAX_Entry4_Open) (S.L.PAX_Entry5_Open)
Przy sprawdzaniu musimy zobaczyć po prostu czy dla danych drzwi pasują wpisy z numerami odpowiadającymi im z pliku passangerscabin. Skrzydła drzwi także liczymy od 0 od przodu. W przypadku gdy nasz wpis wygląda podobnie jak w pierwszym [code] należy dopisywać dla danych drzwi kolejne wpisy (S.L.PAX_EntryX_Open) Gdzie X to numer wpisu entry liczonego od góry od zera z pliku passangerscabin. (W przypadku pojazdu przegubowego wpisy entry i exit z sekcji B będą zawsze tak jakby pod wpisami z sekcji A)
Po sprawdzeniu/dopisaniu takich wpisów (S.L.PAX_EntryX_Open) dla drzwi zapisujemy plik i cieszymy się pasażerami wsiadającymi wszystkimi drzwiami.