Odpowiedź 
Opóźnienie zamykania drzwi
Autor Wiadomość

Ogułem
Zasłużeni
Liczba postów: 394
Dołączył: 01-2013
Podziękowań: 426
Post: #1
Opóźnienie zamykania drzwi
Mógłby mnie ktoś nakierować na opóźnienie zamykania drzwi? Chodzi mi o dokładne wytłumaczenie gdyż męczę się z tym już dłuższy czas i nadal nie rozumiem. Informuję także, że ustawiam to w modelu, w którym nie ma możliwości przełożenie skryptu z Merca Juliana i jakiegokolwiek innego modelu.
Pozdrawiam :)


Udzielam bezpłatnej pomocy na forum, pomoc na PW wyłącznie ODPŁATNIE.
TUF GAMING X570-PLUS + 5800X + RTX3060Ti 12GB + 32GB RAM

Dziękuję za 400 punktów reputacji! :D
11.09.2013 18:07
Szukaj postów Cytat

Administrator
Administratorzy
Liczba postów: 1,327
Dołączył: 12-2012
Podziękowań: 420
Post: #2
RE: Opóźnienie zamykania drzwi
Sama metoda jest dość prosta, o ile ma się jakiekolwiek pojęcie o tych skryptach.

Krok 1.
Odszukujemy macro "door_calc" dla drzwi, w których chcemy zastosować opóźnienie (np. {macro:Door1_Calc}). Pod spodem jeszcze przed całym tym skryptem dodajemy następujący wpis:
Kod:
    (L.L.opoznienie_drzwi) 0 <
    (L.L.doorTarget_x) 1 = ||    <--------- tutaj wpisujemy doortarget dla drzwi, które przerabiamy.
                                                              Jeśli nie wiemy który robimy doortarget, mamy go w skrypcie kilka linijek niżej
    {if}
        (L.L.dzwonek_drzwi) 1 =
        {if}
            0 (S.L.dzwonek_drzwi)
        {endif}
[...]reszta skryptu

A na samym końcu tego makra (przed {end} oczywiście) dodajemy:
Kod:
    {else}
        (L.L.opoznienie_drzwi) (L.S.Timegap) - (S.L.opoznienie drzwi)
    {endif}

Dodam w spoilerze dla jasności jak to całe powinno wyglądać (pogrubiłem zmiany):
{macro:Door1_Calc}
(L.L.opoznienie_drzwi) 0 <
(L.L.doorTarget_1) 1 = ||
{if}
(L.L.dzwonek_drzwi) 1 =
{if}
0 (S.L.dzwonek_drzwi)
{endif}

(C.L.electric_doors)
{if}
(L.L.doorTarget_1)
{if}
(L.L.door_1) (F.L.door_1_opn_speed) (S.L.doorMaxSpeed_1)
{else}
(L.L.door_1) (F.L.door_1_cls_speed) (S.L.doorMaxSpeed_1)
{endif}

(C.L.fdoor_acc) (S.L.doorAcc_1)

(L.L.doorTarget_1) ! (L.L.doorSpeed_1) s0 abs 0.05 > (L.L.door_1) 0 > || &&
{if}
l0 /-/ (L.L.doorMaxSpeed_1) <
{if}
(L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * - (S.L.doorSpeed_1)
{else}
(L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * + (S.L.doorSpeed_1)
{endif}
(L.L.door_1) (L.L.doorSpeed_1) (L.S.Timegap) * + (S.L.door_1)
{else}
(L.L.doorSpeed_1) abs 0.05 > (L.L.door_1) 1 < || (L.L.doorTarget_1) &&
{if}
l0 (L.L.doorMaxSpeed_1) <
{if}
(L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * + (S.L.doorSpeed_1)
{else}
(L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * - (S.L.doorSpeed_1)
{endif}
(L.L.door_1) (L.L.doorSpeed_1) (L.S.Timegap) * + (S.L.door_1)
{else}
0 (S.L.doorSpeed_1)
{endif}
{endif}
{else}
(L.L.doorTarget_1) ! (L.L.doorSpeed_1) s0 abs 0.05 > (L.L.door_1) 0 > || &&
{if}
l0 /-/ (L.L.doorMaxSpeed_1) <
{if}
(L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * - (S.L.doorSpeed_1)
{endif}
(L.L.door_1) (L.L.doorSpeed_1) (L.S.Timegap) * + (S.L.door_1)
{else}
(L.L.doorSpeed_1) abs 0.05 > (L.L.door_1) 1 < || (L.L.doorTarget_1) &&
{if}
l0 (L.L.doorMaxSpeed_1) <
{if}
(L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * + (S.L.doorSpeed_1)
{endif}
(L.L.door_1) (L.L.doorSpeed_1) (L.S.Timegap) * + (S.L.door_1)
{else}
0 (S.L.doorSpeed_1)
{endif}
{endif}
{endif}
(L.L.door_1) 1 >
{if}
(T.L.ev_doorhitopen_1)
1 (S.L.door_1)
(L.L.doorSpeed_1) /-/ (L.L.doorRefl_1) * (S.L.doorSpeed_1)
{else}
(L.L.door_1) 0 <
{if}
(T.L.ev_doorhitclose_1)
0 (S.L.door_1)
(L.L.doorSpeed_1) /-/ (L.L.doorRefl_1) * (S.L.doorSpeed_1)
{endif}
{endif}
{else}
(L.L.opoznienie_drzwi) (L.S.Timegap) - (S.L.opoznienie_drzwi)
{endif}

{end}


Krok 2.
Teraz szukamy makra przełącznika tych drzwi. Najczęściej jest na dole, może to być przykładowo {macro:trg_bus_doorfront1} i definiujemy co ma się dziać z opóźnieniem drzwi i przez jaki czas. Najczęściej to makro zawiera:

zadanie
{if} (czyli co musi być wykonane, by komenda została "niewykonana", czyli wyłączona)
{else} czyli co musi być wykonane, by ta komenda została wykonana, czyli włączona)
Po {endif} pod spodem nieważne pierdoły.

Pod "ifami" i "elsami" są najczęściej dźwięki zamknięcia i otwarcia drzwi, w gołym skrypcie SD202 wygląda to tak:
Kod:
{macro:trg_bus_doorfront0}

    (L.L.doorTarget_0) ! (S.L.doorTarget_0)
    {if}
        (T.L.ev_doortriggeropen_0)
    {else}
        (T.L.ev_doortriggerclose_0)
    {endif}
        (C.L.door_druckluft)
        {if}
        (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
        {endif}
{end}

Teraz pod {if} analogicznie do komendy dźwięku zamykania drzwi dodajemy "x (S.L.opoznienie_drzwi)" (gdzie x to ilość timegap'ów, po których ma zadziałać otwarcie drzwi - dla braku opóźnienia dajemy 0, lub pomijamy cały ten wpis).
Pod {else} dodajemy taki sam wpis jak powyżej - będzie to opóźnienie zamknięcia drzwi. Cały wpis podany wcześniej po tej zmianie powinien wyglądać tak:
Kod:
{macro:trg_bus_doorfront0}

    (L.L.doorTarget_0) ! (S.L.doorTarget_0)
    {if}
        (T.L.ev_doortriggeropen_0)
             0 (S.L.opoznienie_drzwi)
    {else}
        (T.L.ev_doortriggerclose_0)
             7 (S.L.opoznienie_drzwi)
    {endif}
        (C.L.door_druckluft)
        {if}
        (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
        {endif}
{end}

Krok 3.
Na sam koniec do pliku varlist dodajmy dwa wpisy:
opoznienie_drzwi
dzwonek_drzwi

W pliku dźwięku możemy też przypisać dzwonek zamykania drzwi do komendy "dzwonek_drzwi". Działa on przed zamknięciem, wystarczy, by dźwięk dzwonka był długości opóźnienia. UWAGA! 1 Timegap nie jest równy 1 sekundzie. Trzeba to wyczuć na oko.


!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
(Ten post był ostatnio modyfikowany: 11.09.2013 20:11 przez mattez.)
11.09.2013 19:48
Szukaj postów Cytat
 Podziękowania za post: piotr88010

Ogułem
Zasłużeni
Liczba postów: 394
Dołączył: 01-2013
Podziękowań: 426
Post: #3
RE: Opóźnienie zamykania drzwi
Ok, działa, ale musiałem zmienić "opoznienie_drzwi" na "door_warnung" bo miałem błąd " 'drzwi)' ist kein..." :)
Ale jak już przypiszę opóźnienie zamykania do drugiej połówki drugich drzwi (door3) i chcę by było też w pierwszej połówce drugich drzwi (door2), która ma ten sam doortarget co druga połówka drugich drzwi (czyli doorTarget_23) to gra crashuje się (zughfreissen von adresse...).
Jestem już blisko rozwiązania moich udręk, dlatego bardzo proszę o dalszą pomoc :). Jak coś mam dodać to proszę pisać ;)


Udzielam bezpłatnej pomocy na forum, pomoc na PW wyłącznie ODPŁATNIE.
TUF GAMING X570-PLUS + 5800X + RTX3060Ti 12GB + 32GB RAM

Dziękuję za 400 punktów reputacji! :D
12.09.2013 15:11
Szukaj postów Cytat

Administrator
Administratorzy
Liczba postów: 1,327
Dołączył: 12-2012
Podziękowań: 420
Post: #4
RE: Opóźnienie zamykania drzwi
A door2 i door3 to osobne drzwi uruchamiane osobnymi komendami czy jedną? Musisz gdzieś jakąś literówkę robić, bo jak działa normalnie skrypt, to nie ma możliwości, żeby to nie działało.


!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
12.09.2013 18:57
Szukaj postów Cytat

Ogułem
Zasłużeni
Liczba postów: 394
Dołączył: 01-2013
Podziękowań: 426
Post: #5
RE: Opóźnienie zamykania drzwi
door2 i door3 to drzwi uruchamiane jedną komendą (bus doorfront2 na klawiaturze). O literówce nie ma mowy, żywcem kopiowałem z door3 do door2.


Udzielam bezpłatnej pomocy na forum, pomoc na PW wyłącznie ODPŁATNIE.
TUF GAMING X570-PLUS + 5800X + RTX3060Ti 12GB + 32GB RAM

Dziękuję za 400 punktów reputacji! :D
12.09.2013 19:26
Szukaj postów Cytat

Administrator
Administratorzy
Liczba postów: 1,327
Dołączył: 12-2012
Podziękowań: 420
Post: #6
RE: Opóźnienie zamykania drzwi
No to nie mam pojęcia. Poproszę standardowo: skrypt, plik varlist, logfile i treść błędu - popatrzę w to.


!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
12.09.2013 19:54
Szukaj postów Cytat

Ogułem
Zasłużeni
Liczba postów: 394
Dołączył: 01-2013
Podziękowań: 426
Post: #7
RE: Opóźnienie zamykania drzwi
Najważniejsza część skryptu "door.osc" (całość jest strasznie długa)
Kod:
{macro:Door2_Calc}
    (L.L.door_Warncounter) 0 <
    (L.L.doorTarget_23) 1 = ||
    {if}
        (L.L.door_Warnung) 1 =
        {if}
            0 (S.L.door_Warnung)
    {endif}
    (C.L.electric_doors)
    {if}
        (L.L.doorTarget_23)
        {if}
            (L.L.door_2) (F.L.door_2_opn_speed) (S.L.doorMaxSpeed_2)
        {else}
            (L.L.door_2) (F.L.door_2_cls_speed) (S.L.doorMaxSpeed_2)
        {endif}

        (C.L.bdoor_acc) (S.L.doorAcc_2)

        (L.L.doorTarget_23) ! (L.L.doorSpeed_2) s0 abs 0.05 > (L.L.door_2) 0 > || &&
        {if}
            l0 /-/ (L.L.doorMaxSpeed_2) <
            {if}
                (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * - (S.L.doorSpeed_2)
            {else}
                (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * + (S.L.doorSpeed_2)
            {endif}
            (L.L.door_2) (L.L.doorSpeed_2) (L.S.Timegap) * + (S.L.door_2)
        {else}
            (L.L.doorSpeed_2) abs 0.05 > (L.L.door_2) 1 < || (L.L.doorTarget_23) &&
            {if}
                l0 (L.L.doorMaxSpeed_2) <
                {if}
                    (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * + (S.L.doorSpeed_2)
                {else}
                    (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * - (S.L.doorSpeed_2)
                {endif}
                (L.L.door_2) (L.L.doorSpeed_2) (L.S.Timegap) * + (S.L.door_2)
            {else}
                0 (S.L.doorSpeed_2)
            {endif}
        {endif}
    {else}
        (L.L.doorTarget_23) ! (L.L.doorSpeed_2) s0 abs 0.05 > (L.L.door_2) 0 > || &&
        {if}
            l0 /-/ (L.L.doorMaxSpeed_2) <
            {if}
                (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * - (S.L.doorSpeed_2)
            {endif}
            (L.L.door_2) (L.L.doorSpeed_2) (L.S.Timegap) * + (S.L.door_2)
        {else}
            (L.L.doorSpeed_2) abs 0.05 > (L.L.door_2) 1 < || (L.L.doorTarget_23) &&
            {if}
                l0 (L.L.doorMaxSpeed_2) <
                {if}
                    (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * + (S.L.doorSpeed_2)
                {endif}
                (L.L.door_2) (L.L.doorSpeed_2) (L.S.Timegap) * + (S.L.door_2)
            {else}
                0 (S.L.doorSpeed_2)
            {endif}
        {endif}
    {endif}

    (L.L.door_2) 1 >
    {if}
        (T.L.ev_doorhitopen_2)
        1 (S.L.door_2)
        (L.L.doorSpeed_2) /-/ (L.L.doorRefl_2) * (S.L.doorSpeed_2)
    {else}
        (L.L.door_2) 0 <
        {if}
            (T.L.ev_doorhitclose_2)
            0 (S.L.door_2)
            (L.L.doorSpeed_2) /-/ (L.L.doorRefl_2) * (S.L.doorSpeed_2)
        {endif}
    {endif}
    (L.L.door_Warncounter) (L.S.Timegap) - (S.L.door_Warncounter)
{end}

{macro:Door3_Calc}
    (L.L.door_Warncounter) 0 <
    (L.L.doorTarget_23) 1 = ||
    {if}
        (L.L.door_Warnung) 1 =
        {if}
            0 (S.L.door_Warnung)
    {endif}
    (C.L.electric_doors)
    {if}
        (L.L.doorTarget_23)
        {if}
            (L.L.door_3) (F.L.door_3_opn_speed) (S.L.doorMaxSpeed_3)
        {else}
            (L.L.door_3) (F.L.door_3_cls_speed) (S.L.doorMaxSpeed_3)
        {endif}

        (C.L.bdoor_acc) (S.L.doorAcc_3)

        (L.L.doorTarget_23) ! (L.L.doorSpeed_3) s0 abs 0.05 > (L.L.door_3) 0 > || &&
        {if}
            l0 /-/ (L.L.doorMaxSpeed_3) <
            {if}
                (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * - (S.L.doorSpeed_3)
            {else}
                (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * + (S.L.doorSpeed_3)
            {endif}
            (L.L.door_3) (L.L.doorSpeed_3) (L.S.Timegap) * + (S.L.door_3)
        {else}
            (L.L.doorSpeed_3) abs 0.05 > (L.L.door_3) 1 < || (L.L.doorTarget_23) &&
            {if}
                l0 (L.L.doorMaxSpeed_3) <
                {if}
                    (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * + (S.L.doorSpeed_3)
                {else}
                    (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * - (S.L.doorSpeed_3)
                {endif}
                (L.L.door_3) (L.L.doorSpeed_3) (L.S.Timegap) * + (S.L.door_3)
            {else}
                0 (S.L.doorSpeed_3)
            {endif}
        {endif}
    {else}
        (L.L.doorTarget_23) ! (L.L.doorSpeed_3) s0 abs 0.05 > (L.L.door_3) 0 > || &&
        {if}
            l0 /-/ (L.L.doorMaxSpeed_3) <
            {if}
                (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * - (S.L.doorSpeed_3)
            {endif}
            (L.L.door_3) (L.L.doorSpeed_3) (L.S.Timegap) * + (S.L.door_3)
        {else}
            (L.L.doorSpeed_3) abs 0.05 > (L.L.door_3) 1 < || (L.L.doorTarget_23) &&
            {if}
                l0 (L.L.doorMaxSpeed_3) <
                {if}
                    (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * + (S.L.doorSpeed_3)
                {endif}
                (L.L.door_3) (L.L.doorSpeed_3) (L.S.Timegap) * + (S.L.door_3)
            {else}
                0 (S.L.doorSpeed_3)
            {endif}
        {endif}
    {endif}

    (L.L.door_3) 1 >
    {if}
        (T.L.ev_doorhitopen_3)
        1 (S.L.door_3)
        (L.L.doorSpeed_3) /-/ (L.L.doorRefl_3) * (S.L.doorSpeed_3)
    {else}
        (L.L.door_3) 0 <
        {if}
            (T.L.ev_doorhitclose_3)
            0 (S.L.door_3)
            (L.L.doorSpeed_3) /-/ (L.L.doorRefl_3) * (S.L.doorSpeed_3)
        {endif}
    {endif}
    {else}
    (L.L.door_Warncounter) (L.S.Timegap) - (S.L.door_Warncounter)
    {endif}

{end}

{macro:trg_ramp}

    (L.L.rampTarget) ! (S.L.rampTarget)
    {if}
        (T.L.ramp_roll_out)
    {else}
        (T.L.ramp_roll_in)
    {endif}
{end}

{macro:trg_bus_doorfront0}

    (L.L.doorTarget_0) ! (S.L.doorTarget_0)
    {if}
        (T.L.ev_doortriggeropen_0)
    {else}
        (T.L.ev_doortriggerclose_0)
    {endif}
        (C.L.door_druckluft)
        {if}
        (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
        {endif}
{end}

{macro:trg_bus_doorfront1}

    (L.L.doorTarget_1) ! (S.L.doorTarget_1)
    {if}
        (T.L.ev_doortriggeropen_1)
    {else}
        (T.L.ev_doortriggerclose_1)
    {endif}    
        (C.L.door_druckluft)
        {if}
        (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
        {endif}
{end}

{macro:trg_bus_doorback23}

    (L.L.doorTarget_23) ! (S.L.doorTarget_23)
    {if}
        (T.L.ev_doortriggeropen_2)
        0 (S.L.door_Warncounter)
    {else}
        (T.L.ev_doortriggerclose_2)
        7 (S.L.door_Warncounter)
        1 (S.L.door_Warnung)
    {endif}    
        (C.L.door_druckluft)
        {if}
        (L.L.bremse_p_Tank04) 100000 - 0.96 * 100000 + (S.L.bremse_p_Tank04)
        {endif}
{end}

{macro:trg_bus_dooraft}
    (L.L.bremse_halte_sw) ! (S.L.bremse_halte_sw)
    
    (L.L.bremse_halte_sw)
    {if}
        (T.L.ev_haltebremse_sw_an)
    {else}
        (T.L.ev_haltebremse_sw_aus)
    {endif}    
{end}

{macro:trg_bus_20h-switch}
    (L.L.door_20h_sw) ! (S.L.door_20h_sw)
    
    (L.L.door_20h_sw)
    {if}
        (T.L.ev_haltebremse_sw_an)
    {else}
        (T.L.ev_haltebremse_sw_aus)
    {endif}    
{end}

Plik "door_varlist.txt"
Kod:
door_0
door_1
door_2
door_3
doorTarget_0
doorTarget_1
doorTarget_23
doorSpeed_0
doorSpeed_1
doorSpeed_2
doorSpeed_3
doorMaxSpeed_0
doorMaxSpeed_1
doorMaxSpeed_2
doorMaxSpeed_3
doorMaxSpeed_0_norm
doorMaxSpeed_1_norm
doorMaxSpeed_2_norm
doorMaxSpeed_3_norm
doorAcc_0
doorAcc_1
doorAcc_2
doorAcc_3
doorRefl_0
doorRefl_1
doorRefl_2
doorRefl_3
bremse_halte
bremse_halte_sw
doorAftLastOpen
haltewunsch
haltewunschlampe
door_handsteuerung
door_haltewunsch_knopfdruck
door_kinderwagenwunsch
door_AI_timer
door_light_1
door_light_2
door_20h_sw
door_freigabe
door_Warnung
door_warncounter

ramp_button
ramp
cp_ramp_light
rampTarget
rampSpeed
rampAcc
rampMaxSpeed
rampRefl
ramp_rot_angle
cockpit_ramp_sw
rampTarget_in
rampTarget_out
ramp_lastpos

Log:
Kod:
====================
    Start logging
====================

Date: 2013-09-12
Time: 20:58:03

0 20:58:06 -  -     Warning:       Did not find texture file "30er_reihensiedlung01.bmp"!
1 20:58:06 -  -     Warning:       Did not find texture file "SD_Rad_v.bmp"!
2 20:58:06 -  -     Warning:       Did not find texture file "reifen.bmp"!
3 20:58:17 -  -     Warning:       Did not find texture file "path_car_1.bmp"!
4 20:58:19 -  -     Warning:       Did not find texture file "texture.tga"!
5 20:58:19 -  -     Warning:       Did not find texture file "Snow_1.bmp.001"!
6 20:58:22 -  -     Warning:       Cloudtype "-1" could not be found!
7 20:58:27 -  -   Error:           In situation file "maps\test\laststn.osn" there was an error in line 21!
8 20:58:30 -  -     Warning:       Did not find texture file "texture.tga"!
9 20:58:30 -  -     Warning:       Did not find texture file "Snow_1.bmp.001"!
10 20:58:31 -  -     Warning:       Cloudtype "-1" could not be found!
11 20:58:31 -  -     Warning:       Cloudtype "-1" could not be found!
12 20:58:35 -  -     Warning:       Did not find texture file "Kennz.bmp"!
13 20:58:36 -  -     Warning:       Did not find texture file "Kennz.bmp"!
14 20:58:36 -  -     Warning:       Did not find texture file "Kennz.bmp"!
15 20:58:36 -  -     Warning:       Did not find texture file "Kennz.bmp"!

Treść błędu:
[attachment=292]

Pozdtawiam :)


Udzielam bezpłatnej pomocy na forum, pomoc na PW wyłącznie ODPŁATNIE.
TUF GAMING X570-PLUS + 5800X + RTX3060Ti 12GB + 32GB RAM

Dziękuję za 400 punktów reputacji! :D
12.09.2013 20:05
Szukaj postów Cytat

Administrator
Administratorzy
Liczba postów: 1,327
Dołączył: 12-2012
Podziękowań: 420
Post: #8
RE: Opóźnienie zamykania drzwi
Hmmm... dziwne... ale wszystko wygląda pozornie dobrze. Mam pewien pomysł. Może nie będzie to "genialna porada wujka Sama", może już to robiłeś, ale warto sprawdzić. Jedyny błąd jaki znalazłem w logfile, to błąd otwarcia ostatniej sesji. Czasem po zmianach skryptowych nie da się załadować modelu z ostatniej sesji. Spróbuj załadować mapę na pusto, jeżeli wywali inny błąd, to właśnie ten błąd podaj razem z logfile.

Pzdr.


!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
13.09.2013 07:03
Szukaj postów Cytat

Administrator
Administratorzy
Liczba postów: 1,327
Dołączył: 12-2012
Podziękowań: 420
Post: #9
RE: Opóźnienie zamykania drzwi
Znalazłem dodatkowe rozwiązanie dla modeli posiadających osobną komendę otwarcia drzwi. Jesli mamy 3 pary drzwi (przykład Neoplana 4016) to jeden skrypt opóźnienia drzwi dla dwóch różnych komend gryzie się ze sobą podczas wciśnięcia przycisku zamknięcia jednych drzwi, gdy drugie są "w trakcie" zamykania. Jest na to prosta rada, wystarczy rozgraniczyć skrypt opóźnienia dla każdej pary.
Jeśli mamy door_calc0, door_calc1, door_calc2, door_calc3, door_calc4 i door_calc5, to znaczy, że 0 i 1 to pierwsza para, 2 i 3 druga, a 4 i 5 to trzecia para. Dla każdej pary zmieniamy:
Kod:
(L.L.opoznienie_drzwi) 0 <
    (L.L.doorTarget_x) 1 = ||
    {if}
        (L.L.dzwonek_drzwi) 1 =
        {if}
            0 (S.L.dzwonek_drzwi)
        {endif}
na
Kod:
(L.L.opoznienie_drzwiY) 0 <
    (L.L.doorTarget_x) 1 = ||
    {if}
        (L.L.dzwonek_drzwiY) 1 =
        {if}
            0 (S.L.dzwonek_drzwiY)
        {endif}
oraz
Kod:
{else}
        (L.L.opoznienie_drzwi) (L.S.Timegap) - (S.L.opoznienie drzwi)
    {endif}
na
Kod:
{else}
        (L.L.opoznienie_drzwiY) (L.S.Timegap) - (S.L.opoznienie drzwiY)
    {endif}
Gdzie Y to numer pary drzwi.

Odpowiednie nazwy zmiennych również musimy przypisać w triggerach przełącznika, które są na dole całego skryptu. Tu zależnie od modelu może ich być dwa, a może być sześć. Musimy dobrze przeanalizować skrypt analogicznie do powyższej części i wprowadzić odpowiednie zmiany, czyli przykładowo w:
Kod:
{macro:trg_bus_doorfront0}

    (L.L.doorTarget_0) ! (S.L.doorTarget_0)
    {if}
        (T.L.ev_doortriggeropen_0)
             0 (S.L.opoznienie_drzwi)
    {else}
        (T.L.ev_doortriggerclose_0)
             7 (S.L.opoznienie_drzwi)
    {endif}
        (C.L.door_druckluft)
        {if}
        (L.L.bremse_p_Tank04) 100000 - 0.98 * 100000 + (S.L.bremse_p_Tank04)
        {endif}
{end}
Zmieniamy 0 (S.L.opoznienie_drzwi) na 0 (S.L.opoznienie_drzwi1) i tak dalej.

Oczywiście pamiętamy, by te zmiany również zaktualizować w pliku varlist.


!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
(Ten post był ostatnio modyfikowany: 25.09.2013 07:16 przez mattez.)
14.09.2013 08:58
Szukaj postów Cytat

Ogułem
Zasłużeni
Liczba postów: 394
Dołączył: 01-2013
Podziękowań: 426
Post: #10
RE: Opóźnienie zamykania drzwi
Ok, odkryłem nowy błąd, jeśli mamy dwie pary drzwi i w dwóch zrobimy taki myk (mowa o SU10), to jeśli są otwarte drugie i trzecie i będziemy chcieli zamknąć drugie to będzie dłuższa przerwa zanim się zamkną, jeżeli klikniemy by zamykały się na raz nie występuje taki problem i nie występuje on też jak otwieramy same drugie drzwi. W czym problem?
PS. Zrobiłem tak jak w powyższym poście i to samo


Udzielam bezpłatnej pomocy na forum, pomoc na PW wyłącznie ODPŁATNIE.
TUF GAMING X570-PLUS + 5800X + RTX3060Ti 12GB + 32GB RAM

Dziękuję za 400 punktów reputacji! :D
(Ten post był ostatnio modyfikowany: 24.09.2013 16:58 przez piotr88010.)
24.09.2013 16:35
Szukaj postów Cytat
Odpowiedź 




Użytkownicy przeglądający ten wątek: 1 gości

Forum Strefa-OMSI.pl

Tematyczne Forum dotyczące najpopularniejszego symulatora autobusu - OMSI. Zapraszamy do rejestracji i aktywnego udziału w Społeczności.

Strona wykorzystuje pliki cookies. Korzystanie z witryny oznacza zgodę na ich zapis lub odczyt wg ustawień przeglądarki.

Współpracujemy z:

Polecamy także: