patwrobel Posted January 24 Posted January 24 Witam, mam następujące problemy. Zrobiłem pociąg osobowy, który jedzie przed NASZYM towarem i jest sterowany przez BOT. Zauważyłem kilka problemów, które są błędem gry lub można to jakoś obejść włączając specjalny tryb tego BOTa ale nie wiem jak. Bota tworzę tak: SpawnTrainsetOnSignalAsync( "PassengerTrain", FindSignal(aSignalName), aDistance, false, false, true, { CreateNewSpawnVehicleDescriptor(LocomotiveNames.EN57_650, false), CreateNewSpawnVehicleDescriptor(LocomotiveNames.EN57_650, false) }, function (trainset) LOCAL.PassengerTrain = trainset; trainset.SetTimetable(LoadTimetableFromFile("PassengerTrain.xml"), true); trainset.SetState(DynamicState.dsStop, TrainsetState.tsTrain, true); Coroutine(PassengerTrain__OnLoad); end ); Pierwszy problem jest taki że nie zawsze zatrzymuje się na przystankach - tak mi się zdaje bo za szybko dociera do następnej dużej stacji (niezgodnie z rozkładem co sugeruje że nie zatrzymuje się po drodze - dużo przed co jest nie możliwe gdyby z poprzedniego przystanku odjechał zgodnie z rozkładem). Wydaje mi się że to się dzieje jak odjedzie za daleko ode mnie i przestaje być obiektem graficznym a staje się tylko "klockiem" (podczas Developer Mode można to zaobserwować jak się teleportuje do niego). Pewnie wówczas ma ograniczoną fizykę itp. Może da się to jakoś wyłączyć? Chciałem w funkcji SpawnTrainsetOnSignalAsync ustawić parametr isDummyVehicle na false ale wówczas w ogóle sam nie jedzie! Drugi problem to taki że ustawiłem mu na jakiś event BotCommand -> bcDriveLength: CreateMediumBotCommand(BotCommandType.bcDriveLength, "DriveLength", aDistance, 0, false, false, true) Jak jestem blisko to działa bez zarzutu mniej więcej po ustalanej odległości BOT zatrzymuje się potem mam kolejną komendę do zmiany stanu na dsCold i jest OK. Jednak jak jestem daleko od akcji BOT jedzie dalej do następnego semafora. Trzeci problem chciałem weryfikować czy BOT zatrzymał się już poprzez komendę: coroutine.yield(CoroutineYields.WaitForVehicleStop, LOCAL.PassengerTrain.Vehicles[1]); Jak jestem blisko wszystko działa jak BOT odjedzie leci błąd bo Vehicles jest NULL - wiec jak można to weryfikować?
margi1 Posted 17 hours ago Posted 17 hours ago Zauważyłem, że pociąg AI jadący równolegle do naszego, czasami się teleportuje do przodu, jedzie za szybko, jakby ignorował semafory i przystanki, AI jeszcze w tej grze jest niedopracowany.
Sklox Posted 3 hours ago Posted 3 hours ago To co mówisz to raczej sprawa połączenia internetowego i opóźnienia w odbieraniu pakietów między serwerem a twoim komputerem. Gdyby opóźnienia nie było lub było bardzo niskie widziałbyś płynnie jadący pociąg.
Recommended Posts