Symulator EU07 (i nie tylko) > Symulator

 Szkoła eventowa. Co wy na to? Pytania dotyczące eventów.

<< < (4/16) > >>

MasterYoda:
To że było pisane o event0 jako o czymś złym nie dotyczyło wszystkich sytuacji w których ta opcja została zastosowana. *_sem_info to rzecz która niekiedy jest musem a druga rzecz że gdy dasz event0 *_sem_info to nie będzie się to zapętlać. @Sawi już Ci mówiłem że najprostsze rozwiązania są (zazwyczaj) najlepsze. U mnie zrobiłem event0 baltyk_z_sem_info do tego we wpisie trainset V=0.1 i "świnia" elegancko po otrzymaniu S2 na semaforze ruszyła.

Ra:

--- Cytat: MasterYoda w 08 Stycznia 2013, 13:36:16 ---To że było pisane o event0 jako o czymś złym nie dotyczyło wszystkich sytuacji w których ta opcja została zastosowana. *_sem_info to rzecz która niekiedy jest musem a druga rzecz że gdy dasz event0 *_sem_info to nie będzie się to zapętlać. @Sawi już Ci mówiłem że najprostsze rozwiązania są (zazwyczaj) najlepsze. U mnie zrobiłem event0 baltyk_z_sem_info do tego we wpisie trainset V=0.1 i "świnia" elegancko po otrzymaniu S2 na semaforze ruszyła.
--- Koniec cytatu ---
Bzdury. Do odczytu semafora wystarczający jest odpowiedni Event1 albo Event2 (zależnie od kierunku toru względem semafora). Jeśli Event0 łączy do odczytu komórki pamięci zawierającej na początku SetVelocity, to w ogóle nie będzie działał (ani w skanowaniu, ani przez kolejkę).

Pociągi ustawiane na stacji powinny być jako uruchomione (czyli z prędkością 0.1, w nowszych wersjach 0.01 da tryb manewrowy nawet gdy ma rozkład). Po wstawieniu lokomotywy z prędkością 0.0 należy się liczyć z tym, że jej uruchomienie może zająć kilkanaście minut (zwłaszcza spalinowej; obecnie trwa dosyć szybko).

Aby uruchomić wygaszoną lokomotywę (np. wstawioną z prędkością 0.0), potrzebna jest następująca konstrukcja:
1. Dosyć długi tor, na którym lokomotywa będzie stać. Zbyt krótki tor może spowodować problemy z "trafieniem" komendą w pojazd.
2. Komórka pamięci powiązana do tego toru.
3. Event wpisujący komendę do tej komórki.

Co do wpisywanej komendy, najbardziej przydatne są:
- Jump_to_first_order - jeśli lokomotywa ma rozkład, zacznie wykonywać związaną z nim sekwencję komend, tzn. zaraz po uruchomieniu silnika włączy od razu tryb pociągowy,
- Shunt -1 0 - jeśli ma jechać w trybie manewrowym,
- ShuntVelocity - tryb manewrowy z zadaną prędkością
- SetVelocity - tryb pociągowy z zadaną prędkością
- Prepare_engine 1 0 - tryb manewrowy bez zapalania świateł, z czekaniem na dalsze sygnały.

Sawi:
Benny z @Woku sprawdzaliśmy niejeden scenariusz i jego różne rozwiązana. Piotruś tylko w tym rzecz by świnia zrobiła sobie minutowy postój w Całkowie, a nie przez nie śmignęła :). Chce po prostu wykorzystać sposób od Pawła uruchomienia AI. Dla przykładu jak to jest zrobione na Bałtyku:

--- Kod: ---node -1 0 baltyk_mem1 memcell 5 -8 0.3 nic 0 0 none endmemcell
node -1 0 baltyk_mem2 memcell -5 -18 1.3 et 0 0 none endmemcell
node -1 0 ala_mem1 memcell 15 8 1.3 ep 0 0 none endmemcell
node -1 0 start_status memcell 5 -8.89 0.3 a 0 0 none endmemcell
//@popatrz: komórki do włączenia ai
node -1 0 luzak_mem memcell -109.55 0.2 2137.67 Wait_for_orders 0 0 ep08-start2_null endmemcell
node -1 0 brutto_mem memcell 4935.0 10.4 -8439.0 Wait_for_orders 0 0 none200 endmemcell
node -1 0 suczka_mem memcell -4070.0 0.0 2482.5 Wait_for_orders 0 0 plaza_null endmemcell
//@popatrz: ms2 dla stonki i inne ustawienia poczatkowe
event onstart_zacheta multiple 0 none baltyk_p_ms2 start endevent
event zmiana_start_status updatevalues 0.0 start_status * 1 * endevent

//@popatrz: nowy sposób rozpoczęcia symulacji-uniezależnienie symulacji od czasu manewrów
event ruszylo_sie multiple 0 baltyk_mem1 sprawdz_whois po_whois condition memcompare nic * * endevent
//@popatrz: wykrywanie pociagu usera
event sprawdz_whois whois 0.0 baltyk_mem1 31 endevent
event po_whois multiple 2.0 baltyk_mem1 sm42_start else inne_start condition memcompare 6d* * * endevent
event sm42_start multiple 0 none sm_do_komorki manewry_dalej uruchom_ai endevent
event inne_start multiple 0 none ezt_do_komorki baltyk_p_s1 uruchom_ai endevent
event sm_do_komorki updatevalues 1.0 baltyk_mem1 sm 0 0 endevent
event ezt_do_komorki updatevalues 1.0 baltyk_mem1 ezt 0 0 endevent
event manewry_dalej multiple 3.0 baltyk_mem1 bl_zw21- bl_zw27+ bl_zw28- condition memcompare * * 0 endevent
event uruchom_ai multiple 10.0 none uruchom_luzaka uruchom_brutto uruchom_suczke endevent
event uruchom_luzaka updatevalues 0 luzak_mem Jump_to_first_order 0 0 endevent
event uruchom_brutto updatevalues 0 brutto_mem Jump_to_first_order 0 0 endevent
event uruchom_suczke updatevalues 0 suczka_mem Jump_to_first_order 0 0 endevent
//@popatrz: tu kończy się nowy sposób uruchomienia symulacji
--- Koniec kodu ---
Eventy w torze:

--- Kod: ---node 1000 0 none193 track normal 100.0 1.435 0.25 25.0 20 0 flat vis
 rail_screw_rused1 4 tpbps-new2 0.2 0.5 1.1
4818.05 10.4008 -8347.64  0.0  //point 1
0.0 0.0 0.0  //control vector 1
0.0 0.0 0.0  //control vector 2
4896.88 10.4008 -8409.17  0.0  //point 2
0
event1 ruszylo_sie //@popatrz: czujnik ruchu usera
endtrack
--- Koniec kodu ---


--- Kod: ---node 1000 0 none1637 track normal 10.0 1.435 0.25 25.0 20 0 flat vis
 rail_screw_used1 4 tpbps-new2 0.2 0.5 1.1
-106.475 0.2 1966.1  0.0  //point 1
0.0 0.0 0.0  //control vector 1
0.0 0.0 0.0  //control vector 2
-107.606 0.2 1976.03  0.0  //point 2
0
velocity 140.0
event1 ruszylo_sie //@popatrz: czujnik ruchu usera
endtrack
--- Koniec kodu ---


--- Kod: ---node 1000 0 none1687 track normal 100.0 1.435 0.25 25.0 20 0 flat vis
 rail_screw_used1 4 tpd1 0.2 0.5 1.1
-124.591 0.2 3405.19  0.0  //point 1
0.0 0.0 33.3333  //control vector 1
0.0 0.0 -33.3333  //control vector 2
-124.591 0.2 3505.19  0.0  //point 2
0
velocity 140.0
event2 ruszylo_sie //@popatrz: czujnik ruchu usera
endtrack
--- Koniec kodu ---


--- Kod: ---node 1000 0 none_null_78 track normal 0.0 1.435 0.25 25.0 20 0 flat vis
 rail_screw_used1 4 tpd-oil2 0.2 0.5 1.1
-3957.7 -3.79986 2452.74  0.0  //point 1
28.062 0.0 -7.51831  //control vector 1
-28.9414 0.0 2.53149  //control vector 2
-3871.87 -3.79986 2437.61  0.0  //point 2
0
velocity 40.0
event2 ruszylo_sie //@popatrz: czujnik ruchu usera
endtrack
--- Koniec kodu ---
  Dodano: 08 Stycznia 2013, 14:16:42
--- Cytat: Ra w 08 Stycznia 2013, 14:08:41 ---Aby uruchomić wygaszoną lokomotywę (np. wstawioną z prędkością 0.0), potrzebna jest następująca konstrukcja:
1. Dosyć długi tor, na którym lokomotywa będzie stać. Zbyt krótki tor może spowodować problemy z "trafieniem" komendą w pojazd.
2. Komórka pamięci powiązana do tego toru.
3. Event wpisujący komendę do tej komórki.

Co do wpisywanej komendy, najbardziej przydatne są:
- Jump_to_first_order - jeśli lokomotywa ma rozkład, zacznie wykonywać związaną z nim sekwencję komend, tzn. zaraz po uruchomieniu silnika włączy od razu tryb pociągowy,

--- Koniec cytatu ---
@Ra czy ma znaczenie, że np to AI stoi przed tarczą ostrzegawczą? Warunki powyżej mam spełnione.

Ra:

--- Cytat: Sawi w 08 Stycznia 2013, 14:12:42 ---@Ra czy ma znaczenie, że np to AI stoi przed tarczą ostrzegawczą?
--- Koniec cytatu ---
Nie ma. Zależnie od wysłanej komendy albo ruszy od razu i podjedzie pod najbliższy sygnalizator, albo wyskanuje sobie sygnalizatory (w trybie manewrowym w obie strony) i będzie czekać na podanie na nim zezwolenia na jazdę.

Sawi:
No to ja już nie wiem co jest nie tak, bo mam warunki spełnione:

--- Kod: ---event uruchom_tlk multiple 1 none ruszaj_tlk endevent
event ruszaj_tlk updatevalues 0 tlk_czekaj_mem Jump_to_first_order 0 0 endevent
node -1 0 tlk_czekaj_mem memcell -133 0.0 5438 Wait_for_orders 0 0 none1555 endmemcell
node -1 0 zapal_sem_z eventlauncher 0.0 0.0 0.0 -1 none 2309 zapal_sem_z none end
event zapal_sem_z multiple 0 none baltyk_z_s2 baltyk_j_s5 endevent
--- Koniec kodu ---
W torze evenciki dla expressu i sem_info dla AI i zero reakcji. Co jest nie tak?

--- Kod: ---node 1000 0 none1505 track normal 50.0019 1.435 0.25 25.0 20 0 flat vis
 rail_screw_used2 4 tpd-oil2 0.2 0.5 1.1
-132.201 -0.4 4931.73  0.0  //point 1
0.0 0.0 0.0  //control vector 1
0.0 0.0 0.0  //control vector 2
-134.818 -0.9 4981.66  0.0  //point 2
0
event1 uruchom_tlk
endtrack
--- Koniec kodu ---

Dla AI tor przed stacją Całkowo sem_info z kierunkiem i nic.

--- Kod: ---node 1000 0 none1711 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
-99.5504 0.2 4283.29  0.0  //point 1
7.62939e-006 0.0 33.333  //control vector 1
-7.62939e-006 0.0 -33.3335  //control vector 2
-99.5504 0.2 4383.29  0.0  //point 2
0
event1 baltyk_z_sem_info
velocity 140.0 
endtrack
--- Koniec kodu ---

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

[*] Poprzednia strona

Idź do wersji pełnej
Powered by Advanced Topic Prefix Pro
Powered by SMFPacks Likes Pro Mod