Jak samodzielnie zrobić skrypt przełączania przystanków |
Witam!
Postanowiłem przedstawić Wam pełen opis jak zrobić automatyczne przełączanie przystanków w praktycznie każdym modelu. Poniższa modyfikacja wymaga co najmniej podstawowej wiedzy co znajduje się w plikach .osc Poradnik na bazie MAN'a SD202 D92 Proszę koniecznie wykonać kopię zapasową plików cockpit.osc i door.osc Autorem samego skryptu jest qbasob Aby automatyczna zmiana przystanków działała w autobusach ze skrzynią automatyczną: 1) wchodzimy w plik door.osc interesującego nas modelu i szukamy za pomocą CTRL+F, czy ma zawartą wartość (S.L.door_ClosedLast), jeśli tak, idziemy do pkt. 2), jeśli nie: a) odszukujemy makra odpowiedzialne za otwieranie drzwi. W MANach SD są to odpowiednio dla trzech funkcji drzwi: {macro:trg_bus_doorfront0} {macro:trg_bus_doorfront1} {macro:DoorAft_Open} jeżeli nazwy są inne, zależnie od modelu, wystarczy poszukać haseł "doortarget", "ev_doortriggerclose" i odnaleźć odpowiednie makro. Jeśli je znajdziemy, powinny wyglądać mniej więcej tak (przykład dla pierwszych drzwi): Kod: {macro:trg_bus_doorfront0} b) tuż pod (T.L.ev_doortriggerclose_0) dodajemy wartość 1 (S.L.door_ClosedLast), która będzie informowała, że są to jedne z drzwi, które się zamykają, a skrypt, który zaraz dodamy cockpit.osc wyszuka, które zamknęły się ostatnie. Po zmianie powinno to wyglądać tak: Kod: {macro:trg_bus_doorfront0} (T.L.ev_doortriggeropen_0) jest wykonywany, jeśli (L.L.doorTarget_0) i (S.L.doorTarget_0), a (T.L.ev_doortriggerclose_0) nie jest wykonywany jeśli (L.L.doorTarget_0) i (S.L.doorTarget_0) dając wartość 1 (TAK) dla (S.L.door_ClosedLast) c) tą samą czynność powtarzamy w makrach pozostałych drzwi d) zamykamy door.osc e) aby powyższe wpisy były obsługiwane, otwieramy door_varlist.txt i dopisujemy na dole Cytat:door_closedLast f) zamykamy door_varlist.txt 2) wchodzimy w plik cockpit.osc interesującego nas modelu a) odszukujemy poniższy ciąg makr (w zależności od modelu może wyglądać nieco inaczej): Kod: '---------------------- b) pod ostatnią wartością dopisujemy (M.L.IBIS_autoNext) c) na samym dole pliku wklejamy poniższy kod Kod: {macro:IBIS_autoNext} {macro:IBIS_autoNext} jest wykonywany, jeśli (L.L.door_ClosedLast) 1 =, czyli ostatnie ze wszystkich drzwi zostały zamknięte, a (L.L.Velocity) 20 >, czyli prędkość większa niż 20 km/h (tą wartość można sobie zmienić) d) zamykamy cockpit.osc Dzięki tej modyfikacji po zamknięciu ostatnich drzwi i przekroczeniu prędkości 20 km/h aktualny przystanek zmieni się automatycznie. Można go zmienić również ręcznie (domyślnie chyba TAB oraz Q). Aby automatyczna zmiana przystanków działała w autobusach ze skrzynią manualną (dodatkowo): 1) wchodzimy w plik cockpit.osc interesującego nas modelu a) z uwagi na to, że sprzęgła będziemy używać w skrzyni manualnej w innym celu niż ręczna zmiana przystanków - odszukujemy poniższy wpis: Kod: {macro:microphone_frame} b) kasujemy wartość (L.L.Clutch) 0.2 > (nie wiem po kiego grzyba autorzy modelu wstawili sprzęgło tutaj), powinno to wyglądać tak: Kod: {macro:microphone_frame} c) zamykamy cockpit.osc Jeśli będą występowały błędy, bądź nie będziecie mogli znaleźć makr, piszcie jaki model, postaram się pomóc ![]() Pozdrawiam, M.
!NIE POMAGAM NA PW - OD POMOCY JEST FORUM!
PCB: Gigabyte GA-970A-DS3 CPU: AMD FX-8350 @ 8x4.4GHz + Raijintek EreBoss RAM: 8GB RAM DDR3 GPU: Sapphire Radeon RX480 Nitro+ 8GB PSU: Corsair TX850M OS: Windows 10 Pro x64 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 Find me on: fb.me/mattezpl
|
Użytkownicy przeglądający ten wątek: |