patwrobel Posted Thursday at 05:09 AM Author Posted Thursday at 05:09 AM 8 godzin temu, Sklox napisał(a): Opcja z "automatyczną" zmianą kabiny świetna, możnaby ją jeszcze dodać m.in przy "dodatkowych pracach" na stacji w Skierniewicach. A propos tychże, podstawiłem się w peron, zmieniłem kabinę i próbowałem wywołać ZEW ale nic nie szło ale po zabawie kierunkami i radiem w końcu udało się wywołać, tylko teraz nie dostaję przebiegu pod U401. Fakt faktem jestem trochę opóźniony względem rozkładu przez problemu z radiem ale still. W czacie wyświetla się błąd trasowania. Po prostu nie dało się ustawić przebiegu z R1 pod U401, ale dlaczego tego nie wiem. Czasem przebieg nie chce się ustawić i nie za bardzo wiadomo co go blokuje, w logu jest info że 1 element nie chciał się przestawić ale dlaczego tego nie wiadomo. Co do automatycznej zmiany kabiny w Skierniewicach to jak wjedziesz w tory postojowe to wówczas można to zrobić. Wówczas od strony Warszawy jest ta "dobra" kabina. Jak wrócisz po dodatkowych pracach z Mokrej kabina w stronę Warszawy nadal jest dobra. To gdzie miała by być ta automatyczna zmiana drugi raz?
Sklox Posted Thursday at 08:27 PM Posted Thursday at 08:27 PM 15 godzin temu, patwrobel napisał(a): Po prostu nie dało się ustawić przebiegu z R1 pod U401, ale dlaczego tego nie wiem. Czasem przebieg nie chce się ustawić i nie za bardzo wiadomo co go blokuje, w logu jest info że 1 element nie chciał się przestawić ale dlaczego tego nie wiadomo. Wyciąg z loga: [2025-07-09 22:38:03]: [SRK] Skierniewice - Polecenie ustawienia przebiegu: 3877_Sk_R1 -> z1969 -> 3877_Sk_U401 Pociągowy - inicjalizacja [2025-07-09 22:38:03]: [SRK] Możliwość przestawienia. Skierniewice z2032n - utwierdzenie [2025-07-09 22:38:03]: [SRK] Możliwość przestawienia. Skierniewice z2032n - Plus False [2025-07-09 22:38:03]: [SRK] Skierniewice - Brak możliwości ustawienia jednego z elementów przebiegu w pozycję docelową [2025-07-09 22:38:03]: [SRK] Skierniewice - anulowano tworzenie przebiegu [2025-07-09 22:38:03]: [SRK] Skierniewice - Polecenie ustawienia przebiegu: 3877_Sk_R1 -> z1969 -> 3877_Sk_U401 Pociągowy False [2025-07-09 22:38:03]: NullReferenceException: Object reference not set to an instance of an object. at TrainsetInfo.LateUpdate () [0x00000] in <00000000000000000000000000000000>:0 Sentry.Unity.Integrations.UnityLogHandlerIntegration:LogException(Exception, Object) UnityEngine.Logger:LogException(Exception, Object) UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object) Ostatnia rzecz powtarza się potem w logu cały czas. 15 godzin temu, patwrobel napisał(a): Jak wrócisz po dodatkowych pracach z Mokrej kabina w stronę Warszawy nadal jest dobra. To gdzie miała by być ta automatyczna zmiana drugi raz? W peron podstawiasz się stroną w kierunku Warszawy a w peronie trzeba zmienić na przeciwną, żeby ruszyć w stronę Mokrej.
mateusz424 Posted 11 hours ago Posted 11 hours ago (edited) Jako ciekawostkę napiszę, że stworzyłem urywek scenariusza na Wa-wie Wschodniej z dwoma jednostkami EN76 Elf. Taki nie do publikacji, tylko do przetestowania łączenia dwóch Elfów. Używałem wyłącznie "standardowych" metod, funkcji, zmiennych (opisanych w wiki SimRail). W moim teście po podjechaniu do drugiego Elfa na torze postojowym 26, jeszcze przed połączeniem obu jednostek - da się w nim (tak jak w Twoim scenariuszu) załączyć baterię. Ale daje się także do niego wejść. Co jest niemożliwe w Twoim scenariuszu (przed połączeniem obu jednostek!). I po włączeniu baterii, zarówno przed połączeniem obu jednostek jak i po połączeniu - w drugim Elfie w obydwu kabinach działają wyświetlacze pulpitowe i wyświetlacze radia. Zmiana kierunku jazdy składu i zmiana kabin nie ma żadnego znaczenia. Można to robić dowolną ilość razy, a wyświetlacze działają we wszystkich kabinach, w obu Elfach do końca scenariusza. Zawsze, za każdym razem. Z tego powodu przyjrzałbym się funkcjom napisanym przez Ciebie od nowa - myślę o tych w pliku iss_train.lua (choć może nie tylko tam). Czy one na pewno są napisane i czy działają prawidłowo (z punktu widzenia SimRail - bo z punktu widzenia LUA pewnie są prawidłowe). Bo raczej tu szukałbym źródła problemów, a nie w samym silniku symulacji (czego chyba dowodzi mój test). Może też być tak, że Twój scenariusz jest jak najbardziej prawidłowy. Ale nie jest optymalny. Przez co wymaga np. procesora z większą liczbą wątków (bo to chyba one odpowiadają za zawartość wyświetlaczy). I użytkownicy z CPU np. od silnego i7 wzwyż żadnych problemów nie mają, a słabsze i7 oraz i5 nie wyrabiają. A może przy Twoim scenariuszu znaczenie ma także ilość VRAM? Ale to już są tylko dywagacje. W każdym razie jakiś powód gdzieś być musi. Kabina drugiego Elfa po połączeniu obu jednostek - w moim teście: Edited 11 hours ago by mateusz424
patwrobel Posted 10 hours ago Author Posted 10 hours ago 23 minuty temu, mateusz424 napisał(a): Jako ciekawostkę napiszę, że stworzyłem urywek scenariusza na Wa-wie Wschodniej z dwoma jednostkami EN76 Elf. Taki nie do publikacji, tylko do przetestowania łączenia dwóch Elfów. Używałem wyłącznie "standardowych" metod, funkcji, zmiennych (opisanych w wiki SimRail). W moim teście po podjechaniu do drugiego Elfa na torze postojowym 26, jeszcze przed połączeniem obu jednostek - da się w nim (tak jak w Twoim scenariuszu) załączyć baterię. Ale daje się także do niego wejść. Co jest niemożliwe w Twoim scenariuszu (przed połączeniem obu jednostek!). I po włączeniu baterii, zarówno przed połączeniem obu jednostek jak i po połączeniu - w drugim Elfie w obydwu kabinach działają wyświetlacze pulpitowe i wyświetlacze radia. Zmiana kierunku jazdy składu i zmiana kabin nie ma żadnego znaczenia. Można to robić dowolną ilość razy, a wyświetlacze działają we wszystkich kabinach, w obu Elfach do końca scenariusza. Zawsze, za każdym razem. Z tego powodu przyjrzałbym się funkcjom napisanym przez Ciebie od nowa - myślę o tych w pliku iss_train.lua (choć może nie tylko tam). Czy one na pewno są napisane i czy działają prawidłowo (z punktu widzenia SimRail - bo z punktu widzenia LUA pewnie są prawidłowe). Bo raczej tu szukałbym źródła problemów, a nie w samym silniku symulacji (czego chyba dowodzi mój test). Może też być tak, że Twój scenariusz jest jak najbardziej prawidłowy. Ale nie jest optymalny. Przez co wymaga np. procesora z większą liczbą wątków (bo to chyba one odpowiadają za zawartość wyświetlaczy). I użytkownicy z CPU np. od silnego i7 wzwyż żadnych problemów nie mają, a słabsze i7 oraz i5 nie wyrabiają. A może przy Twoim scenariuszu znaczenie ma także ilość VRAM? Ale to już są tylko dywagacje. W każdym razie jakiś powód gdzieś być musi. Kabina drugiego Elfa po połączeniu obu jednostek - w moim teście: Okey, fajnie że u Ciebie to zadziałało. Rozumiem że w moim Ci nie działają kabiny po połączeniu? Jeżeli tak to zapodaj mi kod który u Ciebie działa (może być tu fragment ze spawnem pociągów) a najlepiej całość na priv. Chętnie się przyjrzę. Podejrzewam że chodzi o DynamicState i TrainsetState - ja poprostu u mnie nie mam różnicy więc nie mam jak przetestować a nie mam jak sprawdzić. U mnie zawsze wszsytko działa jakby tego nie ustawił. Ale jeżeli u Ciebie w moim nie działa w w swoim skrypcie LUA działa to ja chętnie ustawię tak aby Wam działało 🙂
mateusz424 Posted 9 hours ago Posted 9 hours ago (edited) W Twoim po połączeniu kabiny działają bez problemu. Daje się ruszyć z kabiny drugiego Elfa. Ale w żadnej z kabin tego drugiego, podłączonego Elfa nie działają wyświetlacze pulpitowe i wyświetlacze radia. Chociaż radio też wydaje się działać, można je włączyć, wcisnąć ZEW, zmienić kanał, zmienić głośność (dźwięki wydają się to potwierdzać). Tak to wygląda u mnie: W Twoim scenariuszu, do tego drugiego Elfa nie daje się wejść przed połączeniem obu jednostek (menu się wyświetla ale nie otwierają się drzwi). W moim można wejść do środka przed połączeniem. Ja u siebie drugiemu Elfowi też ustawiam: SetAllowCouplerAttach(true), bo przecież później w scenariuszu, po zmianie kabiny to on się odłącza od składu i łączy z tym "zepsutym" Elfem. Przesunąłem też drugiego Elfa z 15 m od semafora (u Ciebie) na 18 m. Przy 15 m, po połączeniu - drzwi pierwszego Elfa są prawie na równi ze słupem trakcji. Aha! Polecam przed połączeniem jednostek włączyć radio w drugim, dołączanym Elfie. Tylko na czas łączenia. Bez tego symulacja potrafi odjąć 100 pkt za "jazdę z wyłączonym radiem" 🙃 Mój kod ze spawnem (wewnątrz funkcji StartScenario() ) : PlayerTrainset = SpawnTrainsetOnSignal("FirstElf", FindSignal("WSD_K21"), 18, false, true, false, false, {CreateNewSpawnVehicleDescriptor(LocomotiveNames.EN76_022, false)}) PlayerTrainset.SetState(DynamicState.dsCold, TrainsetState.tsDeactivation, true) PlayerTrainset.SetTimetable(LoadTimetableFromFile("Timetable.xml"), true) Trainset02 = SpawnTrainsetOnSignal("SecondElf", FindSignal("WSD_N26"), 18, false, false, false, false, {CreateNewSpawnVehicleDescriptor(LocomotiveNames.EN76_022, false)}) Trainset02.SetState(DynamicState.dsCold, TrainsetState.tsDeactivation, true) PlayerTrainset.SetAllowCouplerAttach(true) Trainset02.SetAllowCouplerAttach(true) Edited 8 hours ago by mateusz424
patwrobel Posted 5 hours ago Author Posted 5 hours ago 3 godziny temu, mateusz424 napisał(a): W Twoim po połączeniu kabiny działają bez problemu. Daje się ruszyć z kabiny drugiego Elfa. Ale w żadnej z kabin tego drugiego, podłączonego Elfa nie działają wyświetlacze pulpitowe i wyświetlacze radia. Chociaż radio też wydaje się działać, można je włączyć, wcisnąć ZEW, zmienić kanał, zmienić głośność (dźwięki wydają się to potwierdzać). Tak to wygląda u mnie: W Twoim scenariuszu, do tego drugiego Elfa nie daje się wejść przed połączeniem obu jednostek (menu się wyświetla ale nie otwierają się drzwi). W moim można wejść do środka przed połączeniem. Ja u siebie drugiemu Elfowi też ustawiam: SetAllowCouplerAttach(true), bo przecież później w scenariuszu, po zmianie kabiny to on się odłącza od składu i łączy z tym "zepsutym" Elfem. Przesunąłem też drugiego Elfa z 15 m od semafora (u Ciebie) na 18 m. Przy 15 m, po połączeniu - drzwi pierwszego Elfa są prawie na równi ze słupem trakcji. Aha! Polecam przed połączeniem jednostek włączyć radio w drugim, dołączanym Elfie. Tylko na czas łączenia. Bez tego symulacja potrafi odjąć 100 pkt za "jazdę z wyłączonym radiem" 🙃 Mój kod ze spawnem (wewnątrz funkcji StartScenario() ) : PlayerTrainset = SpawnTrainsetOnSignal("FirstElf", FindSignal("WSD_K21"), 18, false, true, false, false, {CreateNewSpawnVehicleDescriptor(LocomotiveNames.EN76_022, false)}) PlayerTrainset.SetState(DynamicState.dsCold, TrainsetState.tsDeactivation, true) PlayerTrainset.SetTimetable(LoadTimetableFromFile("Timetable.xml"), true) Trainset02 = SpawnTrainsetOnSignal("SecondElf", FindSignal("WSD_N26"), 18, false, false, false, false, {CreateNewSpawnVehicleDescriptor(LocomotiveNames.EN76_022, false)}) Trainset02.SetState(DynamicState.dsCold, TrainsetState.tsDeactivation, true) PlayerTrainset.SetAllowCouplerAttach(true) Trainset02.SetAllowCouplerAttach(true) Hey, dzięki za pomoc. Różnica jest tylko w fladze IsDummy którą ustawiam na true wszędzie. Pamiętam że BOTy nie chciały jeździć jak było na false. Zmieniłem to dla tego ELFa na Wschodniej jak również dla PLAYER'a - wymusiłem mu prędkość na start. U mnie i tak działało - mam nadzieje że u tych co mieli problem z ekranami się naprawi. Prośba o feedback czy działa wszystko i czy jest lepiej. Poprawiłem w tym scenariuszu i poprzednim Cargo też to samo było na start. Najnowsza wersja 1.1.14 dostępna pod adresem: 44_patwrobel.7z
mateusz424 Posted 4 hours ago Posted 4 hours ago Niestety ☹️ To nie to albo nie tylko to. U mnie w ver 1.1.14 po połączeniu i załączeniu baterii kabina drugiego Elfa nadal wygląda tak jak wcześniej: Przy okazji: W twoim scenariuszu, w Elfie jadącym z Powiśla (nie sprawdzałem jak w innych jednostkach) wygląda na to, że skończył się zapas płynu w zbiorniku spryskiwacza. Nie widać strugi płynu na szybie gdy użyje się spryskiwacza. To też inaczej niż w moim teście i w innych scenariuszach.
patwrobel Posted 4 hours ago Author Posted 4 hours ago (edited) Czyli to nie jest kwestia ustawienia tylko dużego ruchu. Ten drugi elf robię linijka w linijkę tak jak Ty. Zresztą mozesz porównać bo zrobiłem surowym kodem SimRail bez nadbudówki. W innych scenariuszach nie przejmuje się od BOTa ELFa dlatego ciężko to porównywać. Edited 4 hours ago by patwrobel
mateusz424 Posted 3 hours ago Posted 3 hours ago Pisałeś, że Tobie wyświetlacze zawsze działają. Ciekawi mnie czy Ty na swoim kompie, gdy podjedziesz tym Elfem z Powiśla do tego stojącego na torze 26, przed połączeniem obu jednostek jesteś w stanie wejść do środka tego drugiego Elfa? Bo w moim teście da się i załączyć baterię i wejść do środka. Jeśli nie możesz wtedy wejść do drugiego Elfa, to raczej nie jest to wina dużego ruchu AI. Owszem, on mógłby mieć wpływ na zawartość wyświetlaczy, czyli jej brak (na słabszych kompach może nie wystarczać wątków CPU i VRAM-u na kolejny z wielu wyświetlaczy obecnych jednocześnie na mapie). Zapewne ma też wpływ na znaczny spadek FPSów. Ale duży ruch chyba nie może mieć wpływu na zablokowane drzwi. Wcześniej w Twoim scenariuszu, w drugim Elfie przed połączeniem obu jednostek dawało się przynajmniej włączyć baterię. Teraz, po poprawce w ver 1.1.14 - nie da się zrobić nawet i tego. Coś ewidentnie jest nie tak. I na pewno nie jest to duży ruch AI. Bo kiedy na starcie wybierze się miejsce startu Wa-wa Wschodnia (kiedy oba Elfy spawnują już połączone), to wszystkie wyświetlacze działają. A ruch AI jest przecież wtedy tak samo gęsty. Jakoś przeczuwam, że jest całkiem niedaleko od znalezienia przyczyny. I że rozwiązanie jest banalnie proste. Bo zawsze "najciemniej jest pod latarnią" 🙂
patwrobel Posted 3 hours ago Author Posted 3 hours ago (edited) Ja przed połączeniem mogę załączyć baterie I wejść do środka. Ja teraz przez tydzień nie bede mogl nic przy tym grzebać ale później może pokombinuje na innym kompie może uda mi się zreprodukować problem wowczas łatwiej będzie mi znaleźć przyczynę. A może to kwestia odległości. Ja spawnuje drugi Elf jak gracz jest na moście. Może to jest za daleko i gra nie wrzuca go na plansze tylko robi to później z innymi opcjami. Możesz sprawdzić u Siebie - oddal gracza od drugiego elfa Edited 3 hours ago by patwrobel
Recommended Posts