Strefa OMSI

Pełna wersja: DRL (Day running lights/Światła do jazdy dziennej)
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Modyfikacja: DRL (Day running lights/Światła do jazdy dziennej)
Autor: Mattez


Opis:
Witam,

Poniższa modyfikacja daje możliwość wyposażenia pojazdu w światła do jazdy dziennej, czyli świateł, które włączają się po uruchomieniu silnika, a wyłączają po włączeniu świateł pozycyjnych lub mijania.

Jak to zrobić?
1. Po pierwsze, otwieramy plik .bus interesującego nas pojazdu i odszukujemy skrypt świateł oraz odpowiadający mu plik varlist:
[Obrazek: ny7HI7M.jpg]

2. Otwieramy z folderu Script skrypt świateł, w tym przypadku lights.osc i przed ostatnim {end} dopisujemy poniższy wpis:
Kod:
(L.L.engine_on)
    {if}
    (L.L.lights_stand) 0 =
        {if}
        1 (S.L.DRL)
        {else}
        0 (S.L.DRL)
    {endif}
    {else}
    0 (S.L.DRL)
{endif}
[Obrazek: J92I3Dr.jpg]

3. Otwieramy z folderu Script plik varlist odpowiadający skryptowi świateł, w tym przypadku lights_varlist.txt i na dole dopisujemy DRL
[Obrazek: mIHnyok.jpg]

W tym momencie nasz model obsługuje już funkcję DRL. Jedyne, co pozostaje, to zaimplementować tą modyfikację do odpowiednich świateł. Można to zrobić na kilka sposobów, na przykład w światłach drogowych, lub w miejscu halogenów. Najprostszym sposobem jest podłączenie DRL pod światła drogowe, więc opiszę jak to zrobić.

4. Zaglądamy w plik .bus jeszcze raz, by odszukać jak nazywa się plik konfiguracyjny model naszego autobusu:
[Obrazek: bV3mEyv.jpg]

5. Otwieramy z folderu Model plik konfiguracyjny, w tym przypadku model_O530 G 4 Doors_RB_CG.cfg oraz za pomocą wyszukiwarki systemowej (CTRL+F) szukamy wartości lights_fern i klikamy kilka razy ponowne wyszukiwanie aż znajdzie nam lokalizację punktu świateł drogowych, która wygląda mniej więcej tak:
[Obrazek: ckJZP78.jpg]

6. Powinny być dwa takie same wpisy (lewy i prawy reflektor) różniące się pierwszą wartością o znak "-". W obydwu wpisach zmieniamy wartość pod lights_fern (moc świateł) na "3", zaznaczamy obydwa wpisy, kopiujemy i wklejamy pod spodem.

7. We wklejonych dwóch wpisach zmieniamy wartość pod lights_fern na "1" oraz obydwa lights_fern zamieniamy na drl


Efekt (oczywiście w zależności od modelu) może wyglądać następująco:
Włączony silnik i zgaszone światła
[Obrazek: VrBliUj.jpg]

Włączony silnik i włączone światła mijania
[Obrazek: vcWSSBT.jpg]

Włączony silnik i włączone światła drogowe
[Obrazek: 9gX1CTJ.jpg]


Modyfikacja: DRL (Day running lights/Światła do jazdy dziennej z przygaszaniem dodatkowo kierunkowskazów)
Autor: Mattez


Rożnica polega na tym, że włączenie dowolnego kierunkowskazu przygasza nam odpowiednią żarówkę w DRL. Oto jak to zrobić:
1. przejść cały powyższy poradnik tworzenia świateł DRL, z tą róznicą, że:
- w pliku model_xxxxx.cfg nie dajemy komendy DRL dla lewej i prawej lampki, tylko DRL_L dla lewej i DRL_R dla prawej
- w pliku xxxxxx_valist.txt od świateł zamist stałej DRL dodajemy dwie: DRL_L i DRL_R
- a sam skrypt w pliku osc świateł powinien wygądać następująco:

BEZ PRZYGASANIA PRZY WŁĄCZONYCH AWARYJNYCH:

Kod:
(L.L.engine_on)
    {if}
    (L.L.lights_sw_blinker) 2 = (L.L.lights_stand) 1 = ||
        {if}
        0 (S.L.DRL_R)
        {else}
        1 (S.L.DRL_R)
    {endif}
    {else}
    0 (S.L.DRL_R)
{endif}

(L.L.engine_on)
    {if}
    (L.L.lights_sw_blinker) 1 = (L.L.lights_stand) 1 = ||
        {if}
        0 (S.L.DRL_L)
        {else}
        1 (S.L.DRL_L)
    {endif}
    {else}
    0 (S.L.DRL_L)
{endif}

Z PRZYGASANIEM PRZY WŁĄCZONYCH AWARYJNYCH:

Kod:
(L.L.engine_on)
    {if}
    (L.L.lights_sw_blinker) 2 = (L.L.lights_stand) 1 = (L.L.lights_sw_warnblinker) 1 = || ||
        {if}
        0 (S.L.DRL_R)
        {else}
        1 (S.L.DRL_R)
    {endif}
    {else}
    0 (S.L.DRL_R)
{endif}

(L.L.engine_on)
    {if}
    (L.L.lights_sw_blinker) 1 = (L.L.lights_stand) 1 = (L.L.lights_sw_warnblinker) 1 = || ||
        {if}
        0 (S.L.DRL_L)
        {else}
        1 (S.L.DRL_L)
    {endif}
    {else}
    0 (S.L.DRL_L)
{endif}

Efekt w Video:





Modyfikację udostępniam na zasadzie licencji GNU/GPL3, czyli wolna amerykanka, jednak podczas publikacji na innych forach, czy w Waszych modelach z zaznaczeniem twórcy.
Na razie przetestowałem moda na jednym modelu (Jelcz M125M) i muszę przyznać, że wszystko śmiga jak trzeba. Co prawda, zaimplementowanie tych świateł wymaga jednak minimalnego myślenia, to jednak, według mnie, wszystko zostało wytłumaczone w sposób dostateczny. Prawdę mówiąc, tego właśnie mi brakowało w wielu modelach. Będzie z tym trochę zabawy, ale na pewno wrzucę dzięki temu światła dziennie do innych pojazdów. Polecam spróbować u siebie, bardzo trudne do zrobienia to nie jest.
Ja to zrobiłem trochę inaczej z pomocą kolegi mateusza612. Mianowicie w miejsce przeciwmgielnych są ledy:
Zapalone:
[Obrazek: QfOas7xl.jpg]

Zgaszone
[Obrazek: OzM50hnl.jpg]
Ponieważ w naszych wrocławskich Solarisach są światła do jazdy dziennej w miejscu drogowych postanowiłem skorzystać z poradnika.
Efekt jest jednak trochę średni (świała świecą troche bardzo za słabo)
[Obrazek: 13071679933355419918_thumb.jpg]
Czy mogę to zmodyfikować tak żeby jedno światło gasło gdy wbijam migacz jak np. w nowych Audicach? Chodzi o to żeby światło dzienne pokrywało się z kierunkowskazem
Jak najbardziej. Wystarczy parametr else i trzeba pod niego podpiąć trigger kierunkowskazu. Trochę zabawy i wiedzy i da się to zrobić.

@EDIT: W pierwszym poście pojawił się poradnik jak to zrobić.
Drobna luka w skrypcie na DRL w kierunkowskazach. DRL nie ustępuje światłom awaryjnym. Pewnie trzeba dopisać trigger awaryjnych. Próbowałem, lecz z marnym skutkiem.
(19.03.2016 08:28)pietrucha132 napisał(a): [ -> ]Drobna luka w skrypcie na DRL w kierunkowskazach. DRL nie ustępuje światłom awaryjnym. Pewnie trzeba dopisać trigger awaryjnych. Próbowałem, lecz z marnym skutkiem.

Hmm... po prostu nie brałem awaryjnych pod uwagę, ale zrobienie tego z awaryjnymi jest bardzo proste, wystarczy dodać w skrypcie świateł (L.L.lights_sw_warnblinker) w odpowiednim miejscu jako jeden z wyjątków

Kod:
(L.L.engine_on)
    {if}
    (L.L.lights_sw_blinker) 2 = (L.L.lights_stand) 1 = (L.L.lights_sw_warnblinker) 1 = || ||
        {if}
        0 (S.L.DRL_R)
        {else}
        1 (S.L.DRL_R)
    {endif}
    {else}
    0 (S.L.DRL_R)
{endif}

(L.L.engine_on)
    {if}
    (L.L.lights_sw_blinker) 1 = (L.L.lights_stand) 1 = (L.L.lights_sw_warnblinker) 1 = || ||
        {if}
        0 (S.L.DRL_L)
        {else}
        1 (S.L.DRL_L)
    {endif}
    {else}
    0 (S.L.DRL_L)
{endif}

Dodaję do pierwszego posta.
Jedna uwaga odnośnie skryptu. Ledy zapalają się natychmiastowo, bo w filmie wygląda to jak by tam była żarówka rtęciowa, zbyt długo się zapala i wygasza. Poza tym skrypt super, świetna robota:).
(19.03.2016 20:00)SanJose napisał(a): [ -> ]Jedna uwaga odnośnie skryptu. Ledy zapalają się natychmiastowo(...)

Nie zawsze. Porównywane to było do Audi, a niektóre modele własnie stopniowo przygasają światła dzienne po włączeniu kierunkowskazu, w niektórych po prostu natychmiast one gasną, zależy od wizji. Wyregulować to można w ostatnim wpisie punktu światła DRL w pliku model.cfg - to wartość w sekundach od całkowitego zgaszenia do całkowitego rozświetlenia. U mnie to 0.5 sekundy, ustawienie wartości np. 0.000001 spowoduje, że będą zapalać się natychmiast.

[Obrazek: 4r5qBAy.png]
Przekierowanie