Autor Wątek:  Uruchomienie pojazdu przez AI  (Przeczytany 6552 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline P.J.

  • Wiadomości: 176
    • Zobacz profil
  • Otrzymane polubienia: 16
Uruchomienie pojazdu przez AI
« dnia: 11 Sierpnia 2012, 15:53:56 »
Witam.
Próbuję za pomocą komórki pamięci doprowadzić do uruchomienia pojazdu przez AI. Kombinuję na różne sposoby no i coś nie chce wyjść. Poniżej wpis komend jaki zastosowałem. Nie wiem w którym miejscu jest błąd.

node -1 0 Uruchom_AI memcell  0 0 0.1 Wait_for_orders 0 0 start endmemcell
event UruchomAI updatevalues 0 Uruchom_AI Prepare_engine 1 1 endevent
event Uruchom multiple 5.0 UruchomAI         condition memcompare * * * endevent
« Ostatnia zmiana: 11 Sierpnia 2012, 22:22:01 wysłana przez P.J. »
Prawdziwy Wielkopolanin: Poznań  Główny - Środa Wielkopolska - Jarocin - Ostrów Wielkopolski - Kępno - Kluczbork - Lubliniec - Tarnowskie Góry - Bytom - Katowice - Kraków Główny i 170 kilometrów wielkopolskiego szlaku.

Offline matek123

  • Moderator
  • Wiadomości: 6298
    • Zobacz profil
  • Otrzymane polubienia: 2222
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #1 dnia: 11 Sierpnia 2012, 15:59:54 »
A dałeś coś co te eventy uruchomi?
Poszukuję zdjęć na tekstury pociągów sieciowych. Szczególnie platform z pomostami.

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6344
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 376
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #2 dnia: 11 Sierpnia 2012, 16:15:44 »
1. Potrzebna jest nazwa toru, na którym stoi AI (tu: start).
2. Komórka pamięci musi być podłączona do tego toru (jest).
3. Event UpdateValues zmienia zawartość komórki (OK).
4. Komenda Prepare_engine powinna mieć drugi argument zerowy.
5. Coś musi uruchomić event UpdateValues (np. eventlauncher), albo trzeba użyć nazwy KeyCtrl0x i odpalać z klawiatury.
6. Fraza condition memcompare * * * jest bez sensu (zawsze prawdziwa).

PS Czasowniki próbuje i kombinuje to trzecia osoba (on/ona).
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni

Offline SKP

  • Zasłużony dla Symulatora
  • Wiadomości: 1692
  • Stwierdzanie Końca Pociągu
    • Zobacz profil
    • Śledź na bieżąco odjazdy z Twojego ulubionego przystanku - Gdańsk
  • Otrzymane polubienia: 32
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #3 dnia: 11 Sierpnia 2012, 17:09:54 »
Można uruchomić pojazd AI bez użycia żadnych komend. Niestety większość początkujących o tym nie wie lub nie chce o tym wiedzieć. Tyle razy pisałem o tym w postach na forum, PW, GG, na co prawie zawsze dostawałem taką odpowiedź jakby ten ktoś tego zdania w ogóle nie zauważył. Może łatwiej męczyć się z komendami zamiast poczytać forum... Być może akurat w tym temacie autor świadomie wybiera tę opcję, mówię ogólnie.
Scenarzysta teoretyk. Trasopisarz doświadczalny.

Offline Sawi

  • Zasłużony dla Symulatora
  • Wiadomości: 9228
  • O.M.D - Electricity, O.M.D - Enola Gay. 01.09.2012
    • Zobacz profil
  • Otrzymane polubienia: 751
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #4 dnia: 11 Sierpnia 2012, 20:42:34 »
Krzychu przypomnij proszę kolejny raz. Wiesz jak to bywa nie raz trzeba przypominać na  forum do skutku ;).
Życie jest bardzo kruche i w najmniej oczekiwanym momencie tracisz bliskich. Nie widzisz kogoś lata i nagle już tej osoby nie ma :(. Jedynie co tobie zostaje, to wspomnienia http://www.youtube.com/watch?v=Rk_sAHh9s08 "Co mnie nie zabije, to mnie wzmocni".

Offline SKP

  • Zasłużony dla Symulatora
  • Wiadomości: 1692
  • Stwierdzanie Końca Pociągu
    • Zobacz profil
    • Śledź na bieżąco odjazdy z Twojego ulubionego przystanku - Gdańsk
  • Otrzymane polubienia: 32
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #5 dnia: 11 Sierpnia 2012, 20:56:37 »
Wystarczy ustawić niezerową prędkość początkową i można zapomnieć o wszystkich komendach i innych nieszczęściach ;) Komendy trzeba stosować wtedy kiedy jest taka konieczność (np., żeby lokomotywa, która stoi koło nas się uruchomiła). Jeśli tylko można ustawić niezerową prędkość początkową i w żaden sposób nie psuje to estetyki scenerii, to tak właśnie należy uczynić. Prędkość początkowa składu to ostatnia liczba (z reguły) w pierwszej linijce wpisu trainset. Wpis trainset ma taką składnię (tylko początek):
Cytuj
trainset nazwa_rozkładu nazwa_toru przesunięcie prędkość_początkowa
Czyli w tym przykładzie:
trainset pe1301 start-su46 20 0Można zamienić ostatnią cyfrę na wartość niezerową (np. 0.1), by od razu po uruchomieniu skład był włączony.
trainset pe1301 start-su46 20 0.1
« Ostatnia zmiana: 11 Sierpnia 2012, 20:58:47 wysłana przez SKP »
Scenarzysta teoretyk. Trasopisarz doświadczalny.

Offline P.J.

  • Wiadomości: 176
    • Zobacz profil
  • Otrzymane polubienia: 16
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #6 dnia: 11 Sierpnia 2012, 22:21:38 »
Cytuj
A dałeś coś co te eventy uruchomi?

No to teraz już widzę, że mi czegoś brakuje - super.

Cytuj
4. Komenda Prepare_engine powinna mieć drugi argument zerowy.

Czyli rozumiem, że powinno być ...Prepare_engine 1 0...

Cytuj
5. Coś musi uruchomić event UpdateValues (np. eventlauncher), albo trzeba użyć nazwy KeyCtrl0x i odpalać z klawiatury.

Próbuję za pomocą generatora ewentów stworzyć eventlunchera ale coś muszę jeszcze nie tak wypełniać. Screen w załączeniu. Czy można uruchomić te eventy za pomocą zwykłego eventu multiple?

Cytuj
PS Czasowniki próbuje i kombinuje to trzecia osoba (on/ona).

Słusznie.

Cytuj
Można uruchomić pojazd AI bez użycia żadnych komend. Niestety większość początkujących o tym nie wie lub nie chce o tym wiedzieć...Wystarczy ustawić niezerową prędkość początkową i można zapomnieć o wszystkich komendach...

Dzięki, zależy mi jednak na tej komórce pamięci. Komendy multiple są proste, ale zależy mi na zapoznaniu się z innymi "tajnikami" maszyny...
Pozdro
Prawdziwy Wielkopolanin: Poznań  Główny - Środa Wielkopolska - Jarocin - Ostrów Wielkopolski - Kępno - Kluczbork - Lubliniec - Tarnowskie Góry - Bytom - Katowice - Kraków Główny i 170 kilometrów wielkopolskiego szlaku.

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6344
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 376
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #7 dnia: 11 Sierpnia 2012, 22:29:58 »
Czyli rozumiem, że powinno być ...Prepare_engine 1 0...
Tak. Aczkolwiek zależy jeszcze, jaki efekt chcesz uzyskać. Na dotychczasowych wersjach EXE lokomotywa po takiej komendzie pojedzie w trybie manewrowym do przodu, natomiast na najnowszym będzie tylko stać przygotowana do jazdy, ale ze zgaszonymi światłami.

Cytuj
Czy można uruchomić te eventy za pomocą zwykłego eventu multiple?
Ale coś musi to zwykłe multiple uruchomić.
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni

Offline P.J.

  • Wiadomości: 176
    • Zobacz profil
  • Otrzymane polubienia: 16
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #8 dnia: 11 Sierpnia 2012, 22:48:37 »
Dorzuciłem event multiple shift+6 ale nadal jest coś nie tak:

node -1 0 Uruchom_AI memcell  0 0 0.1 Wait_for_orders 0 0 start endmemcell
 event UruchomAI updatevalues 0 Uruchom_AI Prepare_engine 1 0 endevent
event Uruchom multiple 0.0 UruchomAI endevent
event keyctrl06 multiple 0.1 none UruchomAI endevent
Prawdziwy Wielkopolanin: Poznań  Główny - Środa Wielkopolska - Jarocin - Ostrów Wielkopolski - Kępno - Kluczbork - Lubliniec - Tarnowskie Góry - Bytom - Katowice - Kraków Główny i 170 kilometrów wielkopolskiego szlaku.

Offline SKP

  • Zasłużony dla Symulatora
  • Wiadomości: 1692
  • Stwierdzanie Końca Pociągu
    • Zobacz profil
    • Śledź na bieżąco odjazdy z Twojego ulubionego przystanku - Gdańsk
  • Otrzymane polubienia: 32
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #9 dnia: 11 Sierpnia 2012, 22:55:48 »
Po kolei ;)
Masz komórkę pamięci:
node -1 0 Uruchom_AI memcell  0 0 0.1 Wait_for_orders 0 0 start endmemcell Zwykła komórka pamięci, egzystuje gdzieś w scenerii. Sama nic nie znaczy. Ma wpisaną komendę, która zasadniczo nic nie robi (może coś tam robi, ale nie znam się na teorii) oraz nazwę toru, na którym stoi ten pojazd.
Żeby zmienić jej wartość (bo event updatevalues zmienia wartość komórki) na taką, która zostanie zinterpretowana przez EXE jako komenda i wykonana, należy taki event uruchomić. Uruchomienie to inaczej odpalenie eventu, wywołanie go. Można to zrobić na kilka sposób, event w torze, zajęcie odcinka, rozprucie rozjazdu, Eventlauncher, inny Multiple...event UruchomAI updatevalues 0 Uruchom_AI Prepare_engine 1 0 endeventJak ten updatevalues odpalić? Jak już wspomniałem możliwości jest kilka. Możesz to zrobić przez Multiple. Na zakładce Multiple w Generatorze wybierasz jako typ pojedynczego zdarzenia inne i wklejasz tam tą nazwę. Jako wyzwolenie możesz wybrać SHIFT+... . Jeśli to Cię nie zadowala, możesz uruchomić event o określonej godzinie. Domyślna godzina w MaSzynie do 10:30, choć można ją zmienić wpisem time. W tym celu na zakładce Eventlauncher jako nazwę eventlaunchera podajesz dowolną nazwę, wybierasz Wyzwalanie o określonej godzinie. Współrzędne podajesz dowolne, jako nazwę zdarzenia, gdy shift jest wciśnięty wpisujesz none, ale o ile dobrze pamiętam, jeśli nic tam nie wpiszesz, to program sam to zrobi. Jako Zdarzenie podajesz nazwę Updatevaluesa. Pola Warunek najlepiej w ogóle nie zaznaczaj. Warunek służy do warunkowego wykonania eventu z eventlaunchera, czyli np. jeśli jakiś skład wjedzie na dany tor, to wtedy dopiero EXE dostanie "pozwolenie" na wykonanie zdarzenia.


Nie znam się za bardzo na teorii, być może moje określenia dotyczące updatevaluesa i memcella są niepoprawne, ale piszę tak jak ja to rozumiem, tak jak łatwiej zrozumieć, a nie tak jak w "książce" jest napisane.


EDIT: A w Generatorze to był błąd, sprawdzał nieodpowiednie pola tekstowe. Poprawię w następnej wersji.


I taka rada na przyszłość, używaj najnowszej wersji, jest w niej sporo ułatwień.
Scenarzysta teoretyk. Trasopisarz doświadczalny.

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6344
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 376
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #10 dnia: 11 Sierpnia 2012, 23:58:01 »
Do ręcznego wysłania komendy wystarczy dać:event KeyCtrl06 updatevalues 0 Uruchom_AI Prepare_engine 1 0 endevent
Ma wpisaną komendę, która zasadniczo nic nie robi (może coś tam robi, ale nie znam się na teorii)
Komenda w komórce pamięci nic nie robi, istotny jest moment zmiany zawartości komórki, wtedy komenda jest wysyłana do wskazanego toru.
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni

Offline P.J.

  • Wiadomości: 176
    • Zobacz profil
  • Otrzymane polubienia: 16
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #11 dnia: 16 Sierpnia 2012, 20:11:04 »
Cytuj
Do ręcznego wysłania komendy wystarczy dać:
Kod: [Zaznacz]

event KeyCtrl06 updatevalues 0 Uruchom_AI Prepare_engine 1 0 endevent

Sorry, że dopiero dzisiaj, ale wcześniej mi nie pasowało.
Niestety dalej nie działa i wygenerował się komunikat błędów:
"EU07.EXE 1.8.595.355
Missed event: prepare_engine in multiple keyctrl06
Missed event: 1 in multiple keyctrl06
Missed event: 0 in multiple keyctrl06"
Nie mam pojęcia...

Dorzucę resztę:
1. Eventy i komórka pamięci:

node -1 0 Uruchom_AI memcell  0 0 0.1 Wait_for_orders 0 0 start endmemcell
 event UruchomAI updatevalues 0 Uruchom_AI Prepare_engine 1 0 endevent
event Uruchom multiple 0.0 UruchomAI endevent
event keyctrl06 multiple 0.1 none UruchomAI Prepare_engine 1 0 endevent

2. Tor na którym stoi pojazd:

node 1000 0 start track normal 100.0 1.435 0.25 25.0 20 0 flat vis
 rail_screw_used1 4 tpbps-new2 0.2 0.5 1.1
0.396825 0.2 136.111  0.0  //point 1
0.0 0.0 0.0  //control vector 1
0.0 0.0 0.0  //control vector 2
0.396825 0.2 236.111  0.0  //point 2
0
event0 UruchomAI
endtrack

3. Przypisanie pojazdu do toru

trainset rozklad start 0.0 0.0
//$o Tor doświadczalny.
node -1 0 EN57-1051ra dynamic pkp\en57_v1 en57-1051ra 6baii 0.0 headdriver 55 0 enddynamic
node -1 0 EN57-1051s dynamic pkp\en57_v1 en57-1051s 6bsii 0.0 connected 55 0 enddynamic
node -1 0 EN57-1051rb dynamic pkp\en57_v1 en57-1051rb 6bbii 0.0 connected 0 0 enddynamic
endtrainset
« Ostatnia zmiana: 16 Sierpnia 2012, 20:14:39 wysłana przez P.J. »
Prawdziwy Wielkopolanin: Poznań  Główny - Środa Wielkopolska - Jarocin - Ostrów Wielkopolski - Kępno - Kluczbork - Lubliniec - Tarnowskie Góry - Bytom - Katowice - Kraków Główny i 170 kilometrów wielkopolskiego szlaku.

Offline eu07-001

  • Wiadomości: 337
    • Zobacz profil
  • Otrzymane polubienia: 3
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #12 dnia: 16 Sierpnia 2012, 20:42:23 »
Usuń event Uruchom , jest on niepotrzebny.
event keyctrl06 multiple 0.1 none UruchomAI Prepare_engine 1 0 endeventWartości za none to nazwy eventów, które multiple ma wywołać. W twoim przypadku jest to niepotrzebne. Daj ten kod co podał Ra, i usuń odwołanie eventu UruchomAI z toru (jeśli ma być wywoływany tylko ręcznie).

Offline P.J.

  • Wiadomości: 176
    • Zobacz profil
  • Otrzymane polubienia: 16
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #13 dnia: 17 Sierpnia 2012, 17:03:45 »
Teraz mam taki wpis i dalej nic

node -1 0 Uruchom_AI memcell  0 0 0.1 Wait_for_orders 0 0 start endmemcell
event KeyCtrl06 updatevalues 0 Uruchom_AI Prepare_engine 1 0 endevent

wyskakuje do tego informacja przy ładowaniu
"Event0 Uruch... does not exist"

Prawdziwy Wielkopolanin: Poznań  Główny - Środa Wielkopolska - Jarocin - Ostrów Wielkopolski - Kępno - Kluczbork - Lubliniec - Tarnowskie Góry - Bytom - Katowice - Kraków Główny i 170 kilometrów wielkopolskiego szlaku.

Offline SKP

  • Zasłużony dla Symulatora
  • Wiadomości: 1692
  • Stwierdzanie Końca Pociągu
    • Zobacz profil
    • Śledź na bieżąco odjazdy z Twojego ulubionego przystanku - Gdańsk
  • Otrzymane polubienia: 32
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #14 dnia: 17 Sierpnia 2012, 18:05:04 »
Jedyny event jaki istnieje to updatevalues o nazwie KeyCtrl06. Więc informacja o nieistnieniu Uruch... jest całkowicie normalna.
Scenarzysta teoretyk. Trasopisarz doświadczalny.

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6344
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 376
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #15 dnia: 18 Sierpnia 2012, 09:44:12 »
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:node -1 0 mem_start7 memcell 0 0 0.1 Wait_for_orders 0 0 start endmemcellistotne 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:trainset mm1301 start 20 0
(...)
wyzwalacz uruchamia się minutę od rozpoczęcia symulacji:time 10:09 1:10 1:10 endtime
node -1 0 launch7-2 eventlauncher 1 1 1 -1 none 1010 start7-2 none endnode
uruchamiany jest najpierw event multiple, który z opóźnieniem jednej sekundy ustawia zwrotnice i wysyła komendy do AI:event start7-2 multiple 1.0 none test_zwr01+ zwr02+ start7-1 start7-3 endeventpierwszą komendą jest uruchomienie silnika, drugą (5 sekund później) nakaz jazdy manewrowej:
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

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).
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni

Offline P.J.

  • Wiadomości: 176
    • Zobacz profil
  • Otrzymane polubienia: 16
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #16 dnia: 18 Sierpnia 2012, 21:34:25 »
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:

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).

No mam exe z 12 czerwca (chyba jest to wersja 355) i niestety po uruchomieniu odjeżdża mi w siną dal.
Prawdziwy Wielkopolanin: Poznań  Główny - Środa Wielkopolska - Jarocin - Ostrów Wielkopolski - Kępno - Kluczbork - Lubliniec - Tarnowskie Góry - Bytom - Katowice - Kraków Główny i 170 kilometrów wielkopolskiego szlaku.

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6344
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 376
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #17 dnia: 18 Sierpnia 2012, 22:05:00 »
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.
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni

Offline P.J.

  • Wiadomości: 176
    • Zobacz profil
  • Otrzymane polubienia: 16
Odp: Uruchomienie pojazdu przez AI
« Odpowiedź #18 dnia: 18 Sierpnia 2012, 22:56:18 »
Ok. Dzięki.
Na razie problem rozwiązany.
Jakby coś dalej mi nie pasowało to będę jeszcze pytał.
Pozdrawiam
Prawdziwy Wielkopolanin: Poznań  Główny - Środa Wielkopolska - Jarocin - Ostrów Wielkopolski - Kępno - Kluczbork - Lubliniec - Tarnowskie Góry - Bytom - Katowice - Kraków Główny i 170 kilometrów wielkopolskiego szlaku.