Wysłany: 23-01-2022, 12:57 Dodatek INVISIBLE STATION
Witam kolegów.
Prozaiczne pytanie dla wtajemniczonych.
Jak w temacie jak ustawić parametry stacji typu AJS INVISIBLE STATION oraz pochodnych aby skład zatrzymywał się w peronie na stacji a nie przed stacją.
Witam
Temat zamykam metodą dedukcji i zabawy doszedłem do tego że trzeba wpisać oprócz nazwy stacji i peronu jeżeli takie są funkcję wyładyj albo załaduj wtedy skład zatrzymuje się w peronie a nie przed.
Pozdrawiam
Pomógł: 8 razy Wiek: 63 Dołączył: 18 Sty 2011 Posty: 691 Skąd: Kraków
Wysłany: 27-01-2022, 18:33
Jeśli mogę ci coś doradzić to ja używam Track markerów, które ustawiam gdzie chcę i potem układam trasę wg tych markerów a nie nazw stacji. Są komendy żeby pociąg tylko jechał przez znacznik albo żeby jechał do znacznika. Tam dajesz dalsze komendy i wszystko ładnie działa. Tych różnych znaczników jest sporo i są bardzo przydatne :)
Pomógł: 1 raz Wiek: 35 Dołączył: 10 Gru 2021 Posty: 46 Skąd: Kraków
Wysłany: 28-01-2022, 19:48
wladek1961 -> właśnie bawię się w tworzenie niewidzialnych stacji i odkryłem, dlaczego tak się dzieje. Winny jest niestety błędnie zrobiony dodatek. Identyczny problem z identyczną przyczyną występuje także w niewidzialnych stacjach Invisible Station Neidenfels.
Dlaczego się tak dzieje:
1. aby stacja pasażerska działała, należy w pliku konfiguracyjnym dodatku podpiąć punkty zaczepienia torów oraz triggery zatrzymania pociągu do punktów z mesha 3D,
2. w skrypcie stacji jest funkcja TriggerSupportsMassStoppedLoad(), która mówi czy pociąg może się w danym triggerze zatrzymać. AI odpytuje ją przy kolejnych napotykanych triggerach i jeśli dostanie odpowiedź "nie możesz", to jedzie dalej.
Żeby to działało, punkt zaczepienia toru oraz odpowiadający mu trigger musi być podpięty do dokładnie tego samego punktu w meshu (i z tego wynika, że punktów zaczepienia torów musi być tyle samo, co triggerów). Jakoś to ma znaczenie, by pociąg wiedział, gdzie dalej jechać, gdy dostanie odpowiedź odmowną.
Jeśli punkty zaczepienia torów nie pasują do triggerów, pociąg dojeżdża do początku peronu i się po prostu zatrzymuje nawet, jak funkcja mu krzyczy, że ma jechać dalej. Niestety ta sama funkcja ma też linijkę (pod kątem pociągów prowadzonych przez człowieka), że jak pociąg stoi, to może być "rozładowany" przy dowolnym triggerze. I to sprawia, że jak już AI się zatrzyma, to dostaje nagle informację, że już wolno mu się zatrzymać (!), więc otwiera drzwi i rozpoczyna wymianę pasażerów .
Niestety nie da się tego łatwo naprawić - w każdej stacji trzeba zmienić zarówno mesha, jak i skrypt stacji, jak i configi. Zmiana punktów zaczepienia torów = rozwalają się wszystkie trasy, które korzystają z dodatku.
Odkryłem to, robiąc swoją stację, gdzie popełniłem ten sam błąd i pociągi też mi się zatrzymywały na początku peronu. Później wczytałem się dokładniej w tutorial na wiki oraz obejrzałem stację napisaną przez N3V i zauważyłem tę różnicę. Gdy poprawiłem swoją stację na jej wzór, pociągi zaczęły się ładnie zatrzymywać tam, gdzie trzeba :).
Ostatnio zmieniony przez zyxist 28-01-2022, 19:53, w całości zmieniany 4 razy
Pomógł: 1 raz Wiek: 35 Dołączył: 10 Gru 2021 Posty: 46 Skąd: Kraków
Wysłany: 30-01-2022, 12:31
Dopowiedzenie do mojego poprzedniego wpisu: po dalszych zabawach odkryłem, że kluczowe jest to, żeby maszynistom AI wydawać zawsze dwie komendy:
1. Jedź do ("Drive to")
2. Załaduj ("Load")
Pierwsza komenda doprowadza pociąg do stacji i jeśli nie ma drugiej, to pociąg się po prostu zatrzyma z wagonami poza peronem. Dopiero ta druga komenda sprawia, że pociąg się nie zatrzyma, tylko podjedzie w odpowiednie miejsce zatrzymania zaprogramowane w skrypcie stacji.
Czemu mi to wcześniej zadziałało po poprawieniu dodatku - nie wiem, w każdym razie następnego dnia przestało; możliwe że przypadkiem wydałem wtedy dwie komendy i zaczęło jeździć, a ja to zinterpretowałem jako wynik zmian w dodatku :).
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