Symulator EU07 (i nie tylko) > Symulator

 Inc dla sterowania AI na przystankach.

<< < (2/3) > >>

Mariusz1970:
hunter
1)Nic nie namotałem. Przeczytaj dokładnie jeszcze raz zasadę działania. To tak jakbyś kwestionował zasadę działania semafora 5 komorowego (stamtąd ściągałem eventy). Nawet nie chce wnikać, coś tam nagryzdolił.
2)Przed wystawieniem na forum sprawdzałałem jak działa i działa pięknie
3)Że niby za dużo eventów, bzdura - od przybytku głowa nie boli, a masz możliwość uzyskiwania rożnych prędkości niekoniecznie Vmax, np bo może zaistnieć sytuacja, iż po ruszeniu ma jechać 40 km/h, gdzie szlakowa jest np. 100 km/h.
4)W eventach dołożyłem tylko event automatycznego ruszenia i parametr do niego.
5)

--- Cytuj ---event0 (tor z peronem) - (p1)_zatrzym_rusz
event1 (tor oddalony od peronu) - (p1)_sem_info (w zależności od rodzaju pociągu)
event2 (tor oddalony od peronu) - (p1)_sem_info (w zależności od rodzaju pociągu)

--- Koniec cytatu ---

Nie wiem o co Ci chodzi?
Aby pociąg zatrzymał się przy peronie, to pociąg zatrzymuje się na wyskości eventu sem_info i tak opisałem to i aby wyzwolić automatyczne ruszenie, przed tym eventem musi się wyzwolić event automatycznego ruszenia.
6)Weź może zrób coś lepszego ode mnie, będę bił brawo, bo cel się liczy. Jak zrobisz, zanim wystawisz na forum, sprawdź jak działa.
7)Można spróbować dodać event sem_info1 i polączyć eventy sem_info z zatrzym_rusz i wtedy zamiast 2 eventów przypisanych do toru, byłby jeden. Nie wiem natomiast, jak się to zachowywałoby. Jak komuś się chce moze połączyć i zobaczyć.
8)uwaga ogólna: Czytaj uważnie co napisałem.

Ra:
1)Sam nie wiem, znaczy się nie wiem co dokładnie robi PassengerStopPoint.
Jak Ci się chce, to zrób jakąś hybrydę z tego aisem.inc i z w4n.inc, może warto kombinować, bo coś fajniejszego powstanie.
Jedno mnie jednak zastanawia w RFC-commands.htm nie jest to pogrubione, ale niekoniecznie niepogrubione nie jest zaimplementowane :)
Widać, iż ten event stopinfo jest w Quarku w paru miejscach np. Bruchniewo. Nie pamietam, gdzie jest to Bruchniewo i nie pamietam, co się tam dzieje z AI jak również w innych miejscach.
2)sem info - Sam nie wiem jak dokładnie to działa, ale wyobrażam to sobie, iż jest jakaś pętla, gdzie wszystkie sem_info są przeglądane i na bieżąco aktualizowane dane do AI.
Z punktu widzenia danego AI stojącego przed semaforem, to cyklicznie co jakiś czas dane są aktualizowane. Oczywiście dokładnej zasady nie znam, bo nie znam EU07.exe, jedynie mogę przypuszczać.


hunter:
Wiedziałem że tak będzie ;)

--- Cytat: Mariusz1970 w 01 Grudnia 2007, 20:37:58 ---1)Nic nie namotałem. Przeczytaj dokładnie jeszcze raz zasadę działania. To tak jakbyś kwestionował zasadę działania semafora 5 komorowego (stamtąd ściągałem eventy). Nawet nie chce wnikać, coś tam nagryzdolił.

--- Koniec cytatu ---

--- Kod: ---|
B
A
A[---]
A[   ]
A[   ]
A[ P ]
A[ E ]
A[ R ]
A[ O ]
A[ N ]
A[   ]
A[   ]
A[---]
A
B
|

--- Koniec kodu ---
A - (p1)_zatrzym_rusz
B - (p1)_sem_info


--- Cytat: Mariusz1970 w 01 Grudnia 2007, 20:37:58 ---3)Że niby za dużo eventów, bzdura - od przybytku głowa nie boli, a masz możliwość uzyskiwania rożnych prędkości niekoniecznie Vmax, np bo może zaistnieć sytuacja, iż po ruszeniu ma jechać 40 km/h, gdzie szlakowa jest np. 100 km/h.

--- Koniec cytatu ---
Od czego się ustawia torowi velocity?


--- Cytat: Mariusz1970 w 01 Grudnia 2007, 20:37:58 ---4)W eventach dołożyłem tylko event automatycznego ruszenia i parametr do niego.

--- Koniec cytatu ---
Pociąg Ci nigdy nie ruszy, bo jak się zatrzyma to już nie odczyta sygnału z semafora, gdyż (p1)_zatrzym_rusz ustawiamy w event0 a tam nie ustawiłeś (p1)_sem_info .


--- Cytat: Mariusz1970 w 01 Grudnia 2007, 20:37:58 ---5)

--- Cytuj ---event0 (tor z peronem) - (p1)_zatrzym_rusz
event1 (tor oddalony od peronu) - (p1)_sem_info (w zależności od rodzaju pociągu)
event2 (tor oddalony od peronu) - (p1)_sem_info (w zależności od rodzaju pociągu)

--- Koniec cytatu ---

Nie wiem o co Ci chodzi?
Aby pociąg zatrzymał się przy peronie, to pociąg zatrzymuje się na wyskości eventu sem_info i tak opisałem to i aby wyzwolić automatyczne ruszenie, przed tym eventem musi się wyzwolić event automatycznego ruszenia.

--- Koniec cytatu ---

--- Cytat: Mariusz1970 w 01 Grudnia 2007, 07:13:29 ---3)
a)Przed torem, gdzie wpisaliśmy event sem_info - dajemy eventy:

--- Kod: ---event1 przystanek1_zatrzym_rusz
event1 przystanek2_zatrzym_rusz
event1 przystanek3_zatrzym_rusz
event1 przystanek4_zatrzym_rusz
event1 przystanek5_zatrzym_rusz

--- Koniec kodu ---

--- Koniec cytatu ---
To jak zatrzymany pociąg odczyta (p1)_zatrzym_rusz gdy ten jest ustawiony wg. Ciebie w event1?:


--- Cytat: Mariusz1970 w 01 Grudnia 2007, 20:37:58 ---6)Weź może zrób coś lepszego ode mnie, będę bił brawo, bo cel się liczy. Jak zrobisz, zanim wystawisz na forum, sprawdź jak działa.

--- Koniec cytatu ---
Nie rozumiem. Odrobina krytyki nie zaszkodzi. ;)


--- Cytat: Mariusz1970 w 01 Grudnia 2007, 20:37:58 ---7)Można spróbować dodać event sem_info1 i polączyć eventy sem_info z zatrzym_rusz i wtedy zamiast 2 eventów przypisanych do toru, byłby jeden. Nie wiem natomiast, jak się to zachowywałoby. Jak komuś się chce moze połączyć i zobaczyć.

--- Koniec cytatu ---
Zachowywałoby się tak samo. Ponadto nie byłoby jaj w 3ds maksie, ponieważ gdy w nim przypiszemy dwa np. event0 do toru, do eksportuje tylko jedno.

Pozdrawiam.

Mariusz1970:

--- Cytuj ---To jak zatrzymany pociąg odczyta (p1)_zatrzym_rusz gdy ten jest ustawiony wg. Ciebie w event1?:

--- Koniec cytatu ---
Tak
1)Pociag jedzie, wjeżdża na tor, gdzie jest event zatrzym_rusz, który wyzwolony jest z opóźnieniem
2)Pociąg jedzie dalej, na następnym torze ma event sem_info i tam s1
3)Pociąg zatrzymuje się
4)Po skończonym opóźnieniu, pociąg dostaje np. s2
5)Pociąg rusza

Tutaj uwaga, w zależności od kierunku wjazdu pociągu daje się event1 lub event2, bo niebardzo zrozumiałem pytanie.
Może Ci chodzi dlaczego nie Event0, gdyż event0 staram się unikać, bo przekonałem się, iż się niezawsze wyzwala i nie wiem dlaczego, a z event1 i event2 nie zauważyłem takiego problemu.


--- Cytuj ---Zachowywałoby się tak samo. Ponadto nie byłoby jaj w 3ds maksie, ponieważ gdy w nim przypiszemy dwa np. event0 do toru, do eksportuje tylko jedno.

--- Koniec cytatu ---

Takiej opcji nie było w tym co zrobiłem, patrz punkty powyższe. Rzeczywiście można by spróbować to uprościć, ale mnie się już nie chce.

Jeszcze raz powtarzam hunter, nie kwestionuj działania semfora 5 komorowego.
Zrobiłem sobie to w Quarku i b. dobrze działa. Kwestia jest tylko, czy ktoś rozumie zasadę działania tego inca i czy dobrze wstawi to do scna.
Jeśli Ci przeszkadzają inne sygnały typu S13, to je k.... wytnij, lub udaj że ich tam nie ma. Inni mogą to wykorzystać, tak samo jak sterownie zwykłym semaforem.

Krytyka owszem, ale niech będzie sensowna, bo ja jak na razie sensowności krytyki nie widzę, tym bardziej, że szukasz dziury w całym, nie sprawdzając nawet jak to działa w praktyce.

W ogóle nie filozuj, wtaw sobie tego inca to scn (tylko dobrze go wstaw), zobacz czy działa, jak działa, później będziemy gadać dalej, póki co EOT na razie.

Mariusz1970:
Co do dyskusji powyżej, dodam tylko tyle, że eventy można wykorzystać na dwa sposoby:
1)Ten, który pisałem wyżej: do 2 torów przypisujemy po jednym evencie - pierwszy w kolejności nadjeżdżania pociągu event1(2) zatrzym_rusz, drugi na następnym torze event1(2) sem_info
2)Nowy, który teraz wypróbowałem - do jednego toru przypisujemy 2 eventy- pierwszy  event1(2) -sem_info, drugi event0 zatrzym_rusz
Oby dwa sprawdzałem i działają.

Drugi sposób jest prostrzy, bo potrzeba tylko jednego toru, pomimo mojego braku zaufania do event0 zadziałało. Miałem sytuacje, gdy event0 mi niezawsze działał i wolę unikać event0, ale tutaj działa.

Natomiast również wypróbowałem twój sposób:

--- Cytat: hunter w 01 Grudnia 2007, 19:25:00 ---Po drugie, powinny eventy być przypisane tak:
event0 (tor z peronem) - (p1)_zatrzym_rusz
event1 (tor oddalony od peronu) - (p1)_sem_info (w zależności od rodzaju pociągu)
event2 (tor oddalony od peronu) - (p1)_sem_info (w zależności od rodzaju pociągu)

--- Koniec cytatu ---

Nie zadziałało, bo nie miało prawa, gdyż pociąg jedzie, wjeżdza na peron, ale event0 się nie wyzwoli, gdyż pociąg jedzie dalej (nie zatrzymie się- a zatrzymanie się pociągu jest warunkiem wyzwolenia event0), bo sem_info jest dalej na dalszym torze. Natrafia pociąg na dalszym torze na sem_info, jest sygnał s1 (jako domyślny), zatrzymuje się i będzie tak stał w nieskończoność.
Może i zadziałałoby przy odpowiednio krótkich torach i długim składzie, ale chyba wtedy powinno być nie event0, tylko eventall0 i metoda niepewna (już nie chciało mi się sprawdzać).

Wnioski:
1)Ja namotałem i działa, Ty nie namotaleś i nie działa.
2)Duże znaczenie ma jak kto wykorzysta tego inca (może wykorzystać tak jak ja wykorzystałem i wtedy działa, albo jak Ty i wtedy nie będzie działało)

Jeśli kiedykolwiek będziesz miał ochotę wykorzystać tego inca, to od Ciebie będzie zależało jak go wykorzystasz. Oczekiwany efekt końcowy: ma działać.

Odnośnie tych twoim zdniem niepotrzebnych sygnałów S, przecież możesz te okropne eSy wyciąć jak Ci się tak mocno nie podobają i plik inc zapisać pod inną nazwą a eventy zachwać takie jakie chcesz  mieć. Podałem gotowca, ale ktoś może kierować się tylko ideą, a szczegóły sobie dobierze.

Inny temat:
Próbowałem połączyć event sem_info z zatrzym_rusz w celu, aby nie trzeba było przypisywać do 2 torów tych eventów (jeden do jednego, drugi do drugiego), tylko jednen event, który miał działać w ten sposób: przypisuje event, działa jak sem_info i jednocześnie po jakimś czasie opoźnienia zmienia się z s1 na s2, aby pociąg mógł ruszyć. Próbowałem na dwa sposoby:
1)
kawałek inc:
event (p1)_sem_info1 multiple 0 none (p1)_sem_info (p1)_zatrzym_rusz endevent
event (p1)_sem_info getvalues 1.0 (p1)_sem_mem endevent

do toru przypisałem event sem_info1

2)
kawałek inc:
event (p1)_sem_info multiple 0 none (p1)_sem_info1 (p1)_zatrzym_rusz endevent
event (p1)_sem_info1 getvalues 1.0 (p1)_sem_mem endevent

do toru przypisałem event sem_info

Efekty w obu przypadkach były takie, iż AI się nie zatrzymywało, tylko pruło jak głupie, tak jakby było s2 albo jakby w ogóle funkcjonalności eventu sem_info nie było. W każdym bądź razie te sposóby nie działają.

Teraz hunter zadanie dla Ciebie, bo masz głowę nie od parady:
Napisać takiego inca, który za pomocą jednego eventu przypisanego do toru spowoduje zatrzymanie się pociągu, następnie od momentu zatrzymania odlicza dokładnie, a to dokładnie ilość sekund podanym w parametrze i następnie pociąg ma jechać dalej (będę sprawdzał stoperem).

Tylko przed napisaniem na forum, sprawdź czy to działa, bo nie chce testować tylko teorii, chcę testować coś, co było już sprawdzone i działa.
Mam nadzieję, iż sprostasz temu zadaniu, bo dla Ciebie to pewno pryszcz.

PS
Testowałem na exe 664.

Radkos07:

--- Cytuj ---I tak i nie:)
Wszystko zależy od eventów. Chcąc, aby coś się nie zatrzymywało na przystanku, wcześniej wprowadzamy event s2 i się nie zatrzymie.
To tak jakbyś mnie zapytał, czy przed semoforem jest różnica dla zatrzymania się pociągu: osobowego, pośpiesznego, ekspresu czy towarowego.
To jest poprostu niewidoczny semafor.
--- Koniec cytatu ---

Hmm... Ale na dzień dzisiejszy nie jesteśmy w stanie ominąć tego problemu, no bo jak postąpić gdy po torze jedzie osobowy, a za chwilę jedzie posp. Przecież posp też odczyta event o zatrzymaniu się... No chyba że źle rozumuję...

Pozdrawiam.

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