Wysłany: 05-10-2011, 05:41 Próba tworzenia nowych skryptów dla kabiny EU07
Od jakiegoś czasu tworzę sobie nowy skrypt dla kabiny EU07 (bazując na skryptach EN57 od joxara). Skrypt będzie zawierał (a w zasadzie już zawiera) nową fizykę silników (zaczerpniętą z Maszyny)*. Dodałem również obsługę oświetlenia kabiny. Niestety mam problem z obsługą dźwięków.
- Nie odpalają mi się dźwięki zdefiniowane przez Soundscript - komenda PlaySoundScriptEvent("trigger_z_configu") nie daje żadnego efektu. Przez moment się odzywały, ale zapętlały się, po zmianie parametrów repeat-delay w configu zamilkły całkowicie, nawet te których nie ruszałem i które wcześniej działały (hasler i czuwak). Powrót do poprzednich ustawień również nie pomógł
- Do skryptu samego pojazdu ("LSC.gs" w siódemce zgreda) dopisałem thread "sprezarka_manager" z kibla, odpowiednio modyfikując wartości. Działa bezproblemowo, sprężarka załącza i wyłącza się stosownie do ciśnienia w ZG oraz pozycji przełącznika, dźwięki również się odtwarzają. Próbowałem to samo zrobić dla przetwornicy, więc utworzyłem analogiczny wątek, który jednak pomimo takiej samej struktury nie chce działać - w najlepszym wypadku nic nie robi, a w najgorszym wysypuje skrypt (z błędem timeout). Sama informacja z kabiny o załączeniu przetwornicy jest przez system komunikatów (PostMessage) przesyłana prawidłowo. Jak sobie z tym poradzić? Po południu, jak wrócę do domu, wkleję problematyczny kod.
* Parę słów o tej nowej fizyce:
Utworzony został specjalny enginespec, który służy do zadawania wybranej siły trakcyjnej niezależnie od prędkości - w tym celu ma zdefiniowane w kontenerze "throttle-power" dla kolejnych pozycji wartości 0,50,100,150,200,250,300,350,400 kN w całym zakresie prędkości. "Throttle-notches" wynosi 400, dzięki czemu z poziomu skryptu możemy sobie ustawić siłę trakcyjną z dokładnością do 1kN.
Siła jaką należy zadać jest wyliczana przez skrypt w następujący sposób:
- odczytywana jest bieżąca prędkość pojazdu i przeliczana na obroty silnika
- na podstawie aktualnych ustawień nastawnika i bocznika wybierane są odpowiednie parametry obwodu (dłuuuuuuuga drabinka if-ów )
- wyliczany jest prąd na silnikach trakcyjnych
- na podstawie prądu wyliczana jest aktualna siła trakcyjna
- wyliczona siła jest przekazywana do pojazdu - SetEngineSetting("throttle",sila)
Do zrobienia pozostaje jeszcze rozbieganie się silników w momencie poślizgu oraz ogarnięcie tych nieszczęsnych dźwięków.
Co do podświetlenia:
Kiedy włączy się obsługę oświetlenia kabiny, to podświetlenie w formie wyświetlenia mesha obwódek nie wystarcza, bo jak jest ciemno to nic nie widać. Zaimplementowałem zatem podświetlenie poprzez nadawanie odpowiedniego SelfIllum teksturom tarcz - komenda SetTextureSelfIllumination("tesktura",r,g,b). Hasler i manomentry ślicznie się podświetlają natomiast woltomierze i amperomierze cały czas pozostają ciemne, pomimo podania prawidłowych parametrów. Czyżby był jakiś ukryty haczyk w modelu?
Wysłany: 05-10-2011, 17:30 Re: Próba tworzenia nowych skryptów dla kabiny EU07
adamstan napisał/a:
Utworzony został specjalny enginespec, który służy do zadawania wybranej siły trakcyjnej niezależnie od prędkości - w tym celu ma zdefiniowane w kontenerze "throttle-power" dla kolejnych pozycji wartości 0,50,100,150,200,250,300,350,400 kN w całym zakresie prędkości. "Throttle-notches" wynosi 400, dzięki czemu z poziomu skryptu możemy sobie ustawić siłę trakcyjną z dokładnością do 1kN.
Siła jaką należy zadać jest wyliczana przez skrypt w następujący sposób:
- odczytywana jest bieżąca prędkość pojazdu i przeliczana na obroty silnika
- na podstawie aktualnych ustawień nastawnika i bocznika wybierane są odpowiednie parametry obwodu (dłuuuuuuuga drabinka if-ów ;-) )
- wyliczany jest prąd na silnikach trakcyjnych
- na podstawie prądu wyliczana jest aktualna siła trakcyjna
- wyliczona siła jest przekazywana do pojazdu - SetEngineSetting("throttle",sila)
Maksymalna siła pociągowa EU07 (rozruch) wynosi 280kN, więc trochę przesadziłeś.
Siła trakcyjna ZALEŻY od prędkości i w miarę wzrostu prędkości, wartość siły trakcyjnej maleje.
Wysłany: 05-10-2011, 18:11 Re: Próba tworzenia nowych skryptów dla kabiny EU07
rysztur napisał/a:
Maksymalna siła pociągowa EU07 (rozruch) wynosi 280kN, więc trochę przesadziłeś.
Siła trakcyjna ZALEŻY od prędkości i w miarę wzrostu prędkości, wartość siły trakcyjnej maleje.
Wiem, zostawiłem sobie zapas, aby maszyna miała szansę wpaść w poślizg
U mnie również siła trakcyjna zależy od prędkości i w miarę wzrostu prędkości maleje - tyle że nie jest to zapisane w configu silnika, a obliczane przez skrypt na postawie prądu silników (również zależnego od prędkości i pozycji nastawnika). Ten algorytm który podałem, wykonuje się w kółko w pętli w funkcji Update.
Krótko mówiąc - nastawnik w kabinie nie jest podpięty bezpośrednio do parametru "throttle". Pozycja nastawnika ustala jedynie wartości oporów rozruchowych. Dzięki temu można dokładnie odwzorować charakterystykę dla każdej pozycji - podczas gdy config silnika pozwala na określenie jedynie ośmiu poziomów, a jeżeli nastawnik ma więcej pozycji to TRS interpoluje sobie pomiędzy tymi ośmioma.
Postaram się wrzucić filmik, może wtedy będzie jaśniejsze o co mi chodzi.
Komentarz:
Youtube niestety zmasakrowało mi rozdzielczość, więc słabo widać napisy, ale można zauważyć, że wskaźnik "throttle" na bocznym panelu ciągle się zmienia - bo nie pokazuje on pozycji nastawnika w kabinie, ale pozycję "przepustnicy" mojego configu silnika, która bezpośrednio odpowiada sile trakcyjnej.
Proszę również zwrócić uwagę na działanie PSR - na piątą pozycję styczniki wskakują dopiero po opadnięciu prądu poniżej 350A.
Mam nadzieję, że teraz m/w widać o co mi chodzi.
Ostatnio zmieniony przez adamstan 05-10-2011, 19:01, w całości zmieniany 2 razy
Ty akurat przedstawiasz na tym filmie lokomotywę która nie posiada przekaźnika samoczynnego rozruchu. Brakuje najważniejszego elementu jakim był potencjometr PSR który znajdował się między przyciskiem "czuwaka" a przyciskiem "luzowania lokomotywy". Za pomocą tego potencjometru (w powiązaniu z ustawieniem przełączników "Wysoki rozruch" i "Przełącznik kompensacji" - różne kombinacje) można było uzyskiwać prąd opadania przekaźnika w zakresie 275A - 700A.
Tak że opracowanie pełnorealistycznych parametrów jest raczej mało realne.
Cytat"Wiem, zostawiłem sobie zapas, aby maszyna miała szansę wpaść w poślizg"
Po takim wpadnięciu w poślizg przy jeździe na PSR musi zadziałać przekaźnik różnicowy a nie przekaźnik nadmiarowy ponieważ "spadający" prąd w silnikach trakcyjnych - (wraz ze wzrostem obrotów) będzie powodował że PSR nie podciągnie i styczniki oporowe będą zamykały się po kolei i będą eliminować opory rozruchowe.
Wniosek z tego wynika że jazda na lokomotywie przy działającym PSR nie jest taka prosta i wymaga większej obserwacji przyrządów pomiarowych niż bez PSR.
Na EZT-ach jest to o wiele prostsze bo tam jest mało pozycji oporowych i pociąg złożony z EZT jest o wiele lżejszy. W warunkach jesiennych (deszcz, opadające liście) bywa że nawet EZT-em jest trudno ruszyć z przystanku.
Już doczytałem, że obecnie na siódemkach nie ma PSR, więc wywalę go ze skryptu. Ale przyda się na przyszłość do EN57, którym też mam zamiar się zająć.
Co do poślizgu - istotnie, nadmiarowy nie wybije, czy to z PSR czy bez, bo prąd będzie bardzo mały. Obecnie jeszcze "rozbieganie" się silników nie jest w moim skrypcie wykonane, więc po wpadnięciu w poślizg (gdy zadana siła trakcyjna będzie większa niż "maximum tractive effort" z configu lokomotywy) zadziałają tylko wbudowane mechanizmy TRS-owe, czyli ustawi się flaga "wheelslip" (podpięta pod lampkę poślizgu), maszyna straci przyspieszenie i będzie słychać odgłos ślizgających się kół. Aby zrobić "pełny" efekt poślizgu w kabinie, trzeba w momencie wykrycia utraty przyczepności uzależnić wskazanie haslera i prąd na silnikach nie od prędkości pojazdu, a od prędkości obrotowej silnika liczonej na podstawie przyspieszenia kątowego (moment silnika * moment bezwładności zestawów kołowych). Powinno dać się zrobić, ale to na dalszy etap sobie zostawiam, najpierw chcę opanować dźwięki (problem opisany w pierwszym poście) i spróbować zrobić również coś z hamulcami, choć może być z tym ciężko bo zdaje się że TRS symuluje system Westinghouse, w którym nie ma (?) hamowania i luzowania stopniowego.
Dzięki za pouczające informacje
Ostatnio zmieniony przez adamstan 06-10-2011, 09:45, w całości zmieniany 2 razy
Udało mi się opanować problem dotyczący dźwięków w skrypcie lokomotywy, tak więc mam już zrobiony słyszalny także na zewnątrz loka dźwięk przetwornicy, sprężarki i wentylatorów oporów. Dorobić jeszcze można by pisk hamulców.
Niestety nadal nie wiem co za amba zeżarła mi dźwięk haslera i czuwaka - w tej części skryptu nic nie zmieniałem, a po prostu po którymś-tam uruchomieniu przestały grać. Sam czuwak działa, tzn. odpalają się lampki, a potem załącza nagłe - tylko brzęczyka nie słychać.
Zachodzi również jeszcze jedno dziwne zjawisko - otóż nie zawsze zapalają się obie lampki czuwaka - częściej tylko jedna, a druga miga tak jakby nie świeciła (czyli za szybką widać ledwo dostrzegalny ślad corony), chociaż wpis uruchomienia jest zrobiony dla obydwu...
Ponawiam też pytanie o podświetlenie - to chyba bardziej do osób które miały do czynienia z modelem kabiny - dlaczego dla manometrów i tarczy haslera nadawanie SelfIllumination działa, a dla woltomierzy nie?
Dodam jeszcze, bo w sumie pominąłem to wcześniej, że działam na TS2010.
Mi wychodzi, że ta jedna co zawsze działa, to prawa. A lewa działa jak sobie chce. (Lewa/prawa - mówimy oczywiście o żarówkach "środkowych", bo skrajne to są SHP, i chyba odpalić je można tylko wywołując zdarzenie przez wysłanie komunikatu do lokomotywy ze skryptu scenariusza)
Z czuwakiem też tak mam że raz mrugają obie żarówki czyli prawa i lewa, raz mruga jedna, środkowa, która nie wiadomo skąd się bierze.
W czuwaku zewnętrzne żarówki są zwykle od czuwaka czasowego - co 90sek., a środkowa od SHP - po najechaniu na rezonator. Ewentualnie mogą być podłączone odwrotnie.
Z czuwakiem też tak mam że raz mrugają obie żarówki czyli prawa i lewa, raz mruga jedna, środkowa, która nie wiadomo skąd się bierze.
W czuwaku zewnętrzne żarówki są zwykle od czuwaka czasowego - co 90sek., a środkowa od SHP - po najechaniu na rezonator. Ewentualnie mogą być podłączone odwrotnie.
W modelu kabiny EU07HDM czuwak ma cztery "żarówki" (czyli mrugające corony) i zewnętrzne są od SHP a wewnętrzne od czuwaka. Ale może i faktycznie coś się z połączeniami pomieszało? W każdym razie, w momentach kiedy mruga tylko jedna, widać że ta druga też pojawia się i znika, tyle że nie emituje światła więc jest ledwo widoczna. Eksperymentalnie podepnę chyba sobie każdą z nich pod oddzielny pstryczek w kabinie (jest trochę wolnych) i zobaczę jak się będą zachowywać.
Znalazłem powód dziwnego zanikania lampek czuwaka - otóż ich widoczność zależy od ustawienia kamery - przy pewnych ustawieniach corony chowają się za pulpitem i dlatego widać je bardzo słabo (bo trochę prześwitują) albo wcale. Poniżej screeny obrazujące zjawisko - te trzy obrazki różnią się tylko kątem kamery
A poniżej obrazek ilustrujący mój problem z podświetleniem:
Niestety nie udało mi się rozwiązać problemu z podświetleniem woltomierzy i amperomierzy - nadawanie ich teksturom SelfIllum z jakiegoś powodu nie działa. Nie da się również nic zrobić z hamulcami - wygląda na to, że nawet za pomocą skryptów nie da się w TRS zasymulować hamulca Oerlikona - z możliwością częściowego luzowania.
Tak więc podsumowując - co jest zrobione:
- realistyczna fizyka silników oraz zachowanie amperomierzy - pokazują rzeczywisty prąd.
- oddzielne dźwięki silników, przetwornicy, sprężarki i wentylatorów oporów, włączające się wtedy kiedy trzeba.
- obsługa oświetlenia kabiny (jak w ST43 MartinaST43, czyli oświetlenie kabiny zmienia się wraz z porą dnia, a pstryczek od oświetlenia przywraca pełną jasność).
- zmiana intensywności świecenia reflektorów (tzn. zmienne oświetlenie trasy w nocy) w zależności od liczby zapalonych reflektorów przy pomocy odpowiednich przełączników.
Pomógł: 20 razy Wiek: 35 Dołączył: 15 Sie 2008 Posty: 1031 Skąd: Źmigród/Leszno
Wysłany: 13-01-2012, 09:37
Dobra robota, ciekawe to wygląda choć szkoda, że takie problemy z podświetleniem wychodzą, ale nie stety takie uroki TRS ;/ Czy kabinka teraz zostanie wydana czy dalej mimo wszystko, będziesz się starał poprawić błędy?
Nie pamiętam czy w siódemkach jest taki przycisk, ale w ET22 był (przynajmniej na 927) że w momencie zarolowania poprzez wciśnięcie tego przycisku następowało przyhamowanie lokomotywy i po puszczeniu następowało wyluzowanie jej. Ciśnienie nie przekraczał 2.0 atm żeby nie rozwarło stycznika liniowego.
Może dałoby się zrobić taki osobny skrypt pod ten przycisk? O ile w siódemkach taki jest.
Jako osobno działający dodatkowy hamulec z tym że jego ciśnienie podawane na cylindry byłoby dużo mniejsze.
Przez "brak obsługi poślizgu" miałem na myśli to, że w momencie wystąpienia poślizgu (czyli ustawienia przez TRS flagi "wheelslip" nie jest odpowiednio przeliczany prąd i wskazanie haslera (że o wyciu rozbiegających się silników nie wspomnę).
Drugi problem - już stricte odnośnie przycisku - to taki, że z poziomu skryptu w żaden sposób nie da się wpływać na układ hamulcowy (poza wyborem pozycji kranu maszynisty). Gdyby dało się zrobić coś w rodzaju "przerwania" wywołującego odpowiednią procedurę w ściśle określonych odstępach (np. co 10ms) to możnaby próbować "ręcznie" wyliczać opóźnienie dla danego ciśnienia w cylindrze hamulcowym (choć tu z kolei dochodziłby jeszcze problem dopasowania hamowania do długości składu) - ale chyba "niedasię".
Można jedynie zastosować TRS-ową funkcję "piasecznicy" która zwiększa przyczepność o wartość zdefiniowaną w configu. Także z hamulcami zbyt wiele zrobić nie można.
Chociaż... przyszedł mi do głowy jeszcze jeden pomysł. Zrobić podobnie jak z silnikami. Odpiąć kran i manometry od TRSowego układu hamulcowego, zdefiniować w configu takie parametry, żeby napełnianie/opróżnianie PG, ZG i cylindra hamulcowego przebiegało w miarę płynnie i w sposób dający się kontrolować, i wtedy w zależności od ustawienia kranu w kabinie niech skrypt monitoruje ciśnienia i tak macha tą TRSową wajchą hamulca między pozycjami "hamowanie, luzowanie, odcięcie", aby ciśnienia były odpowiednie - to jedyny sposób jaki widzę na ewentualną modyfikację hamulców ponad Trainzowy schemat - ale nie wiem czy zadziała.
Bardzo fajnie , że ktoś się wziął profesjonalnie za te skrypty do loków HDM. Niby pod nowym TS-em udało mi się je uruchomić, ale to było robione na stare wersję więc trochę brakowało do pełni szczęścia. Kiedyś próbowałem sam coś z tym zrobić, ale o ile wiedzę o programowaniu mam to jednak znajomość działania tych loków nie jest u mnie na tyle duża, żeby to poprawnie zrobić :/ A skrypt HDM jest zabezpieczony więc podejrzeć też nie można było, jak to jest tam zrobione.
Fajnie jak by Ci się udało ten pisk hamulców podpiąć ( z tego co mi wiadomo to w tych skryptach hdm jest to robione na zasadzie odczytywania prędkości i ciśnienia w cylindrach hamulców i na tej podstawie odtwarzany jest dźwięk.)
Zastanawiałem się też kiedyś czy nie dałoby radę pójść dalej i dodać dźwięk jaki słyszy się gdy rozpędzony pociąg zaczyna zwalniać. Nie jestem pewien czy to co słychać to napełnianie się układu powietrzem, czy coś innego (hamulec dynamiczny?), w każdym razie hałas wtedy jest dość duży :) Myślę, że dałoby się to zrobić na podobnej zasadzie co pisk, z tym że dla innych prędkości. Aczkolwiek to wszystko chyba bardziej pasowałoby do EZT-ów bo dźwięk o którym mówię to chyba wydaja wagony ,a nie sam lok, co w przypadku EU07 chyba nie byłoby zbyt realistyczne (bo co w przypadku braku wagonów?). Ale nie wiem jak to słychać z perspektywy mechanika :/
W tej chwili te loki podczas hamowania są strasznie ciche i właściwie słychać tylko obniżający się dźwięk silników.
Sama praca nad fizyką silnika to super sprawa, bo dawno już było mówione że ta fizyka co jest zaimplementowana w obecnych lokach, nie jest do końca prawidłowa, chociaż sporo z tego to wina samego symulatora i jego ograniczeń.
Z wielkim zaciekawieniem czytam ten wątek i cieszę się, że ktoś się wziął za ten element wirtualnego świata :)
1) Zrobiłem dla siódemki nowe podświetlenie przyrządów. Po południu zarzucę screena.
2) Zrobiłem wczoraj "wizualną" obsługę poślizgu. Tzn. jak maszyna zaroluje to oprócz zapalenia lampki gwałtownie spada prąd i rośnie wskazanie prędkościomierza. Technicznie jest to rozwiązane w ten sposób:
- gdy Ft przekroczy dozwoloną wartość ustawiana jest flaga "poślizg"
- zmieniane jest maksymalne Ft (SetMaximumTractiveEffort) na jakieś śmiesznie małe, żeby nie było za łatwo
- prędkość kół zostaje "odłączona" od prędkości pojazdu i staje się ona źródłem wskazań haslera i obrotów silników. Koła rozpędzają się z przyspieszeniem zależnym od momentu obrotowego silników, z jakimiś arbitralnie ustawionymi oporami. Generalnie dobrałem stałe żeby to przyzwoicie wyglądało.
- Jak zejdziemy nastawnikiem do zera, koła zaczynają zwalniać. Opóźnienie wynika z oporów wspomnianych w podpunkcie poprzednim. Włączenie hamowania usprawnia proces
- Gdy prędkość kół zrówna się z prędkością wynikającą z prędkości pojazdu, uznajemy że wyszliśmy z poślizgu. Flaga "poślizg" jest zerowana, przywracane jest właściwe Ftmax i można normalnie kontynuować jazdę.
Niestety dźwiękowo temat jest bardzo trudny do ogarnięcia, ponieważ potrzebny byłby tu dźwięk modulowany, ale przez skrypt - a takiej funkcjonalności TRS nie udostępnia.
Na marginesie - w temacie o SU45 wyszło, że TRS2006 nie obsługuje enginesoundów modulowanych dla silników elektrycznych.
Próbowałem zrobić dźwięk wielostopniowy (wzorowany na E44 rene stambkego) gdzie skrypt w zależności od prędkości odpala kolejne sample różniące się wysokością. No i cóż - okazuje się że 64 stopnie to za mało, a robienie tego zajęło 3 godziny A tu wygląda na to, że trzeba by ze 128 to może by poszło. Wtedy można by ten dźwięk podpiąć również pod poślizg. Ale wymaga to bardzo starannego przygotowania tych 128 próbek, plus najlepiej drugie tyle przejściowych, a i tak ujawnia się tu wredność systemu odpalania soundscriptów, która powoduje trzaski przy przejściach
3) Jeżeli ktoś namówiłby SirM-a żeby się zgodził na publikację kabiny opartej na modyfikacji jego modelu, to można by tą kabinę nieźle podciągnąć, bo tak naprawdę model jest b.dobry i zawiera w zasadzie wszystkie potrzebne elementy, a jedyne czego mu potrzeba, to nowe tekstury i zmiana mapowania w paru miejscach. No i można by wtedy dodać np. świecące lampki od wentylatorów i grzania, które obecnie nie są uwzględnione.
Ostatnio zmieniony przez adamstan 04-06-2012, 05:36, w całości zmieniany 1 raz
Jest spoko. Jedynie może lekko urozmaić glow wokół manometrów - to wygląda jak podświetlenie wianuszkiem żaróweczek wkoło, idealnie równomierne. Trochę jaśniejszych /ciemniejszych obszarów - bo żarówek jest kilka, więc miejsca przy żarówkach jaśniej, a im dalej tym ciemniej. Hasler tak samo, ale na zielono to nie jest aż tak widoczne, kontrast jest mniejszy.
Po co mi te zdjęcia? Jak już napisałem wyżej, obecny mesh kabiny ma spory potencjał. Więc sobie w nim dłubię (oczywiście nieoficjalnie...) i na razie doszedłem do czegoś takiego:
Podzieliłem ściany i pulpit na mniejsze osobno teksturowane elementy i zagęściłem nieco mapowanie tekstur "zielonej farby" które porobiłem sobie roboczo z różnych zdjęć z netu, wymodelowałem na nowo fragmenty pulpitu (poziomy i pionowy szary panel), wstawiłem trójwymiarowe obwódki przycisków i radiotelefon z SU45 i dodałem na pulpicie listewki itp bajery. Ale bez fototekstur daleko się nie zajedzie.
Ostatnio zmieniony przez adamstan 11-06-2012, 14:47, w całości zmieniany 1 raz
Pomógł: 4 razy Dołączył: 30 Sie 2010 Posty: 163 Skąd: Bronisławów
Wysłany: 11-06-2012, 20:30
Czy dałoby się/skrypt umożliwia zrobić takie cuś, żeby powyżej 50 metrów od lokomotywy lub od iksowego wagonu za lokomotywą albo igrekowego wózka za lokomotywą bogeysound nie był generowany? Było by to znaczne ograniczenie problemu zanikania dźwięków. Nie chcę się bawić w zmiany zasięgu dla każdego tracksoundu bo chcę mieć ciastko i zjeść ciastko, to znaczy i tyku tyku w kabinie i szum słyszalny z kilometra w widoku z zewnątrz
Niestety, o ile mi wiadomo, skryptowo się maxdistance tracksoundu nie da zmienić. Czyli albo-albo. Widzę jedno obejście, ale może być mało wydajne:
Z moich obserwacji wynika, że jeżeli chodzi o dźwięki, absolutny priorytet mają te generowane w naszej lokomotywie - nie w kabine, ale w samym loku. Przetwornica, wentylatory, silnik itp itd - to nigdy nie zanika. A zatem możnaby teoretycznie wszystkie dźwięki z kabiny przenieść do lokomotywy, i sterować je komunikatami (messages). Minus tego rozwiązania jest taki, że trzeba je wtedy wgrać osobno do każdej lokomotywy, do której zechcemy podpiąć naszą kabinę.
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach