Symulator EU07 (i nie tylko) > Pomoc w tworzeniu
Uruchomienie pojazdu przez AI
Ra:
Zobacz załącznik AI_start.7z z tej wiadomości. Jest tam automat uruchamiający AI z wyzwalaczem godzinowym. Komórka pamięci jest podłączona z torem start, na którym stoi skład MM1301:
--- Kod: ---node -1 0 mem_start7 memcell 0 0 0.1 Wait_for_orders 0 0 start endmemcell
--- Koniec kodu ---
istotne jest też przesunięcie 20 m w trainset, przy przesunięciu 0 skład stałby zaraz przed torem start i nie odbierałby komend z tego toru:
--- Kod: ---trainset mm1301 start 20 0
(...)
--- Koniec kodu ---
wyzwalacz uruchamia się minutę od rozpoczęcia symulacji:
--- Kod: ---time 10:09 1:10 1:10 endtime
node -1 0 launch7-2 eventlauncher 1 1 1 -1 none 1010 start7-2 none endnode
--- Koniec kodu ---
uruchamiany jest najpierw event multiple, który z opóźnieniem jednej sekundy ustawia zwrotnice i wysyła komendy do AI:
--- Kod: ---event start7-2 multiple 1.0 none test_zwr01+ zwr02+ start7-1 start7-3 endevent
--- Koniec kodu ---
pierwszą komendą jest uruchomienie silnika, drugą (5 sekund później) nakaz jazdy manewrowej:
--- Kod: ---event start7-1 updatevalues 0.0 mem_start7 Prepare_engine 1 0 endevent
event start7-3 updatevalues 5.0 mem_start7 ShuntVelocity 40 0 endevent
--- Koniec kodu ---
W praktyce wysyłanie komendy Prepare_engine 1 0 nie jest wymagane, ponieważ każda komenda oprócz Wait_for_orders oraz Prepare_engine 0 0 spowoduje automatyczne uruchomienie silnika. Komendę Prepare_engine 1 0 wysyłamy oddzielnie tylko wtedy, jeśli lokomotywa ma się uruchomić ze zgaszonymi światłami (tak to działa na ostatnich wersjach EXE, na wcześniejszych będzie automatycznie przechodzić do jazdy manewrowej).
P.J.:
--- Cytuj ---istotne jest też przesunięcie 20 m w trainset, przy przesunięciu 0 skład stałby zaraz przed torem start i nie odbierałby komend z tego toru:
--- Koniec cytatu ---
Przesunąłem pojazd o 10 metrów i zadziało - w końcu.
--- Cytuj ---Komendę Prepare_engine 1 0 wysyłamy oddzielnie tylko wtedy, jeśli lokomotywa ma się uruchomić ze zgaszonymi światłami (tak to działa na ostatnich wersjach EXE, na wcześniejszych będzie automatycznie przechodzić do jazdy manewrowej).
--- Koniec cytatu ---
No mam exe z 12 czerwca (chyba jest to wersja 355) i niestety po uruchomieniu odjeżdża mi w siną dal.
Ra:
Dopiero w kolejnej będzie stał. W 355 i wcześniejszych nie da się zrobić tak, żeby AI stało z włączonym silnikiem: AI można zatrzymać tylko wstawiając sygnalizator (dokładniej komórkę pamięci z SetVelocity 0 0, przypisaną do toru przez Event1 albo Event2). Tak uprzedzam na przyszłość, że będzie zmiana w tym zakresie.
P.J.:
Ok. Dzięki.
Na razie problem rozwiązany.
Jakby coś dalej mi nie pasowało to będę jeszcze pytał.
Pozdrawiam
Nawigacja
Idź do wersji pełnej