- Symulator MaSzyna -
Symulator EU07 (i nie tylko) => Pomoc w tworzeniu => Wątek zaczęty przez: kubusiaczek w 06 Stycznia 2014, 13:28:01
-
Witam.
Chcę zrobić aby EN57 który stoi na torze o nazwie "kibel_start" zaczął jechać i zatrzymał się na torze o nazwie "kibel_stop".
Wszystko to ma się zdarzyć gdy mój skład wjedzie na tor o nazwie "trasa2".
Nie wiem jak to zrobić, żeby było dobrze.
Proszę o pomoc. Pozdrawiam.
-
Za mało opisałeś. Pytanie czy Twój i drugi kibelek stoi pod semaforem, czy na W4? Można to też rozwiązać przez zdarzenia czasowe. I polecam tortuliale oraz wątki dotyczące tworzenia scenerii (na początek scenery.doc). Podaj więcej szczegółów, ale pamiętaj, że pomagamy ale nikt gotowca za ciebie nie zrobi.
-
Opisz jak wygląda teren czy są tam semafory może jakiś schemacik machnij w "pajncie" ;)
-
Musisz wykorzystać komendy do AI. Szczegółów szukaj na forum. Słowo kluczowe: RFC Commands. Możesz też zrobić prowizorkę, czyli podziemny semafor, ale jak ktoś w teście to odkryje, to będziesz musiał to przerobić, gdyż jest to jedna ze starożytnych metod, od dawna niezalecana.
-
Odpal sobie plik scenerii w notatniku (w zależności jak zrobiłeś i z jakiego programu korzystałeś). Tam używając komend event1, event2 opcjonalnie (nie korzystamy już z tego w miarę możliwości) event0. Pomocne będą informacje zawarte w scenery.doc, jak stworzyć własną scenerię, podstawy projektowania linii i stacji kolejowych. Zapoznaj się z tym lub torturialem Maćka to są podstawy i jeśli tego nie opanujesz to zapomnij o zdziałaniu czegokolwiek.
-
Wydaje mi się,że tutorial Maćka będzie w tym wypadku mało przydatny. On dotyczy tworzenia scenerii w 3DS Max, a nie pisania eventów. Chyba, że o innych tutorialach myślimy.
-
@MasterYoda, robione "na szybko" ale chyba teraz wiadomo o co mi chodzi. http://snap.ashampoo.com/uploads/2014-01-06/gSpypo1q.png Na semaforze "semC" jest zielone, na "semA" jest czerwone a na "semB" ma pojawić się zielone, gdy EN57 będzie na torze "kibel_stop". @SKP, jest plik RFC.doc w folderze z programem EventGenerator, problem jest że nie wiem jak ułożyć ten event.
Reg. obowiązki 16.
W jakim celu każde zdanie rozpoczynasz od nowej linii? Proszę to poprawić.
Benek
-
Jeśli są tam semafory, to jest to absolutna podstawa eventów. Poczytaj pliki innych misji, np. calkowo_orlen.scn, wtedy łatwiej przyswoisz wiedzę ze scenery.doc.
-
@SKP, nie rozumiem nadal tych eventów, co do czego jest. Znalazłem coś takiego: http://www.eu07.pl/userfiles/zaawansowany_tutorial_05.09.2007.pdf i w tym pliku takie coś:
event nazwa_zdarzenia multiple opóźnienie None
zdarzenie1
zdarzenie2
...
zdarzenie8
endevent
Czy nazwa_zdarzenia to jest to co dopisuję do danego toru "event0 nazwa_zdarzenia"? I teraz nie wiem co wpisać w miejsce zdarzenie1. Co zrobić żeby EN57 dostał zielone i zaczął jechać?
-
W tym pliku jest napisane, jak wyglądają zdarzenia zmieniające sygnały na semaforach (strona 3.).
Jeśli w nazwie zdarzenia będzie słowo onstart, to uruchomi się ono automatycznie po uruchomieniu symulatora. W torze przed semaforem powinien być event1/2 nazwasemafora_sem_info, ale być może już jest. Jeśli go nie ma, to skład prowadzony przez AI nie będzie reagował na zmianę sygnałów na semaforze.
Dodano: 06 Stycznia 2014, 16:48:41
Swoją drogą, przed W4 jest _stopinfo, a przed semaforami _sem_info... Mała niekonsekwencja.
-
Swoją drogą, przed W4 jest _stopinfo, a przed semaforami _sem_info... Mała niekonsekwencja.
Jakich wiele. Z punktu widzenia edytora wolałbym aby była jedna końcówka. Nawet chyba zaproponowałem, żeby było to nazwa_komórki:scan, wtedy odpadła by konieczność jawnego definiowania eventu odczytującego. Ktoś chętny do poprawienia setki plików INC oraz paru tysięcy wpisów w sceneriach?
-
Na repo nie ma jakichś magicznych narzędzi?
-
Notepad++, Editpad... Nie wymyślajmy koła od nowa.
-
Jak wam to jest trudno cokolwiek wytłumaczyć.
@kubusiaczek w folderze z programem EventGenerator jest też plik pomocy pomoc.pdf, może to ci coś ułatwi. Spróbuj odpalić EventGenerator zakładka - Multiple.
Nazwa - np. odjazd_semB
Opóźnienie - np. 1
Warunek - tor zajęty, warunki - tor - np. kibel_stop
Wyzwolenie - pojazd stojący na torze.
Zdarzenie - Sygnalizator, nazwa - np. sem_B, sygnał - np. s2
Zdarzenie - Rozjazd, nazwa - np. zwr01, położenie - na wprost
Generuj
event odjazd_semB multiple 1 kibel_stop sem_B_s2 zwr01+ condition trackoccupied endevent
To wklejasz do scenerii.
event0 odjazd_semB
To wklejasz tam gdzie jest sem_B.
-
Proszę nie stosować eventów0, bo nie raz z nimi bywają niezłe kwiatki.
-
@Sawi, dokładnie tak, miałem już właśnie napisać. Sceneria się "rozlatuje" - brak torów, terenu itp. Co wpisać zamiast event0?
-
Event kierunkowy 1 lub 2 w zależności od kierunku jazdy.
-
@Sawi, nie bardzo rozumiem co to jest.
-
Zaraz spróbuję pokazać na przykładzie. Zobacz na przykładzie w screenie. Widać tu dwa kierunki w górę lub w dół. Np jeśli chcę by mój dany pojazd pojechał w górę dam w torze event2, a jak w dół event1. Poradę w jaki sposób sprawdzić kierunkowość znajdziesz tutaj http://eu07.pl/forum/index.php/topic,23581.msg341230.html#msg341230
-
@Sawi, z "Podglądu Terenu" wynika że jest to kierunek 1. Jednak gdy dopisuję pod semafor "event1_sem_info kibel_wjazd" to mam to samo co przy event0.
-
@Sawi, z "Podglądu Terenu" wynika że jest to kierunek 1. Jednak gdy dopisuję pod semafor "event1_sem_info kibel_wjazd" to mam to samo co przy event0.
Tak, niewykluczone. Jednakże event0 powoduje czasem problemy, dlatego też nie zaleca się używać takiej metody.
-
@Sawi, z "Podglądu Terenu" wynika że jest to kierunek 1. Jednak gdy dopisuję pod semafor "event1_sem_info kibel_wjazd" to mam to samo co przy event0.
Bo masz misz masz. Nie stosuj tego 0. Pisałem o tym i piszę Tobie również wyżej Maciek. Tam akurat była mowa o sem_info, ale ono Ciebie na razie nie interesuje. Powinno być tak:
event1 kibel_wjazd
-
@macius5991, to co tu zrobić? @Sawi, event1 też robi mi błędy.
-
Pokaż mi całość co dotychczas zrobiłeś.
-
@Sawi, a może ja to źle wstawiam?
include;ss5zpcpbi.inc;semafor_kibel_wjazd_z;-6587.7;0.0;-1244.62;-95.6015;z;;end
event1 kibel_wjazd
Event "kibel_wjazd": event kibel_wjazd multiple 1 trasa2 semafor_kibel_wjazd_z_s2 condition trackoccupied endevent
- wygenerowany przez EventGenerator.
-
Ten event1 ma być dopisany do toru. Np przykładowy tor:
node 1000 0 none679 track normal 80.0001 1.435 0.25 25.0 20 0 flat vis
rail_screw_used1 4 tpbps-new2 0.2 0.5 1.1
-78.9501 2.9 -1037.58 0.0 //point 1
0.0 0.0 0.0 //control vector 1
0.0 0.0 0.0 //control vector 2
-90.084 2.98 -1116.8 0.5 //point 2
0
event1 kibel_wjazd
endtrack
-
event1/2 powinieneś wstawić we wpis toru:
node -1 0 tor330 track normal 17.9987 1.435 0.25 25.0 20 0 Flat vis
rail_screw_used2 4 tpbps-new3 0.2 0.5 1.1
5.74315 0.2 1483.47 0.0 //point 1
-9.53674e-007 0.0 -5.99951 //control vector 1
9.53674e-007 0.0 5.99951 //control vector 2
5.74315 0.2 1465.47 0.0 //point 2
0
event1 nazwa_zdarzenia
endtrack
Pogrubiona nazwa toru oraz wpis.
-
Udało mi się, ale nie do końca. EN57 dostaje S2 w tym momencie w którym chcę, jednak on to ignoruje i nie rusza. Silniki itp. są włączone (pantstate). Co zrobić żeby kiebelek nie olewał sobie tego semafora i ruszył?
-
Pantstate odpowiada za podniesiony pantograf. Nadaj mu prędkość początkową 0.1 km/h. Wtedy będzie uruchomiony i po podaniu sygnału pojedzie.
-
@matek123, niestety, EN57 zatrzymuje się od razu po załadowaniu scenerii. I tutaj zauważyłem że mimo tego, że odwróciłem wektory i punkty w tym torze na którym stoi, światła są odwrotnie niż powinny (czerwone z przodu, białe z tyłu), EN57 jedzie w dobrym kierunku przez chwilkę. Czy możliwe jest to że stoi za daleko od semafora? Czy nie trzeba użyć tutaj tego "_sem_info", jeśli tak to gdzie to wstawić?
-
Skoro jest ustawiony kabiną do semafora, gdzie jak mówisz są końcówki to jak ma ruszyć skoro ''mechanik siedzi w drugiej kabinie''? I tak, sem_info trzeba wstawić.
-
@kubusiaczek pokaż jak odwróciłeś wektory i punkty.
-
@kamil1306, z tego co wyczytałem to zamienia się Pont 1 z 2 i Vector 1 z 2, może coś źle zrobiłem...
node -1 0 kibel_start track normal 78.5396 1.435 0.25 25.0 20 0 flat vis
rail_screw_used1 4 tpbps-new2.dds 0.2 0.5 1.1
-6619.85 0.2 -1248.53 0.0 //point 1
26.52 0.0 0.0 //control vector 1
-25.1758 0.0 -6.7666 //control vector 2
-6542.0 0.2 -1238.26 0.0 //point 2
300.0
endtrack
-
Jak to są odwrócone to jest dobrze zrobione.
-
Pokaż mi eventy w torze i składnię.
-
Skoro jest ustawiony kabiną do semafora, gdzie jak mówisz są końcówki to jak ma ruszyć skoro ''mechanik siedzi w drugiej kabinie''? I tak, sem_info trzeba wstawić.
Myśle tak jak mówi @Woku, trzeba wstawić sem_info i zadziała.
-
@kamil1306, tak to jest już odwrócony tor. Właśnie wstawiłem sem_info, zaraz dam znać czy zadziałało.
//edit - No i nic, dalej EN57 stoi. To dodałem do toru obok którego znajduje się semafor: event1 nazwasemafora_sem_info.
-
Pokaż mi w końcu tą całość.
-
Przypisz to sem_info do toru na którym stoi AI.
-
@Sawi, tor gdzie jest wyzwalany event, który podaje S2 dla EN57:
node -1 0 none track normal 99.9999 1.435 0.25 25.0 20 0 flat vis
rail_screw_used1 4 tpbps-new2.dds 0.2 0.5 1.1
-5117.77 0.2 -1584.92 0.0 //point 1
0.0 0.0 0.0 //control vector 1
0.0 0.0 0.0 //control vector 2
-5188.48 0.2 -1514.21 0.0 //point 2
0
event2 trasa02
endtrack
i tutaj ten event: event trasa02 multiple 5.0 None
trasa_zwr-man_z_S2
endevent
Teraz tor przy którym stoi semafor "trasa_zwr-man_z": node -1 0 kibel_start track normal 78.5396 1.435 0.25 25.0 20 0 flat vis
rail_screw_used1 4 tpbps-new2.dds 0.2 0.5 1.1
-6470.04 0.2 -1208.45 0.0 //point 1
-22.5869 0.0 -13.0175 //control vector 1
25.1763 0.0 6.7666 //control vector 2
-6542.0 0.2 -1238.26 0.0 //point 2
300.0
event1 trasa_zwr-man_z_sem_info
endtrack
Chyba wszystko co dotyczy tego. @kamil1306, tak jak powyżej, tak zrobiłem, EN57 stoi na torze "kibel_start".
-
Generuje Ci się plik errors.txt? Znajduje się on w głównym folderze symulatora (jeśli się generuje przez powstałe błędy). Jak jest wszystko ok to go nie znajdziesz. Jeśli masz to podaj go w załączniku.
-
@kubasiaczek pokaż mi jeszcze twój wpis do scenerii tego kibla.
-
@kamil1306, tak, generuje mi się ale są tam tylko błędy z powodu braku tekstur, nic więcej. @Sawi,
trainset rozklad kibel_start -5.0 0.1
//$o -
node -1 0 EN57-1051rb dynamic pkp\en57_v1 en57-1051rb 6bbii -1 connected 0 0 enddynamic
node -1 0 EN57-1051s dynamic pkp\en57_v1 en57-1051s 6bsii -1 connected 55 0 enddynamic
node -1 0 EN57-1051ra dynamic pkp\en57_v1 en57-1051ra 6baii -1 headdriver 55 1 pantstate enddynamic
endtrainset
-
Chwila jeszcze coś sprawdzam. Zaraz zaraz. Jesteś na pewno pewny, że dałeś nazwę semafora w torze? Mi się wydaje, że nie bo:
include;ss5zpcpbi.inc;semafor_kibel_wjazd_z;-6587.7;0.0;-1244.62;-95.6015;z;;end
Ten się nazywa zupełnie inaczej.
-
Pewnie że ta składnia eventów jest zła. Prawidłowa składnia w przypadku semafora:
event /nazwa eventu/ multiple /opóźnienie/ /nazwa semafora_sygnał semafora/ endevent
Wpis do toru:
event(0, 1, 2) /nazwa eventu/
-
Jest to niepoprawna konstrukcja eventu multiple. Radzę przejrzeć budowę eventów, początek zawsze jest stały, niezależnie od typu.
-
@Sawi, a ja mam tak
include;ss5zpcpbi.inc;trasa_zwr-man_z;-6587.7;0.0;-1244.62;-95.6015;z;trasa_zwr-man_toz;end
@Anrej, poprawiłem i zaraz zobaczę czy coś pomogło. @SKP, poprawiłem to tak jak napisał Anrej.
-
Słuchaj nie wiedziałem, że nazwę zmieniłeś. W porządku.
Więc od początku sprawdź sobie Twoje zdarzenie np za pomocą eventlaucher'a.
node -1 0 zapal_semafor_zwr eventlauncher 0.0 0.0 0.0 -1 none 1313 zapal_semafor_zwr_man_z none end
event zapal_semafor_zwr_man_z multiple 05 none zwr_man_z_s2 endevent
-
@Sawi, pojawił się błąd w errors.txt
Missed event: zwr_man_z_s2 in multiple zapal_semafor_zwr_man_z
Sytuacja wygląda teraz tak: EN57 jedzie w dobrym kierunku ale nadal ma gdzieś semafory. Ech.. pomieszane mam już całkiem z tymi eventami.
-
No tak podałem przykład eventlaucher'a, lale ze zdublowaną nazwą dlatego wywaliło go w errors.txt. Pokaż mi dokładny schemat tego co chcesz osiągnąć.
-
@Sawi, to trochę potrwa ale ok. Pozaznaczam wszystko i podam nazwy jakie użyłem. Za chwile wrzucę.
-
Robicie podstawowe błędy w zakresie nazywania czegoś i konsekwentnego trzymania się nazw. Raz semafor się nazywa trasa_zwr-man_z, potem zwr_man_z (bo: zwr_man_z_s2). To nigdy działać nie będzie i przy takim podejściu ciągle będziecie narzekać na eventy, że one takie trudne i nie idzie ich ogarnąć.
-
@Sawi, schemat w załączniku - Białym kolorem są zaznaczone nazwy torów, czerwonym - nazwy semaforów, a na szaro nazwy zwrotnic. I teraz tak. Mój skład wjeżdża na tor "trasa02" na semaforze "trasa_zwr-man_z" pojawia się S2 - wtedy EN57 rusza i jedzie do toru "kibel_stop". Zwrotnica "trasa_zwr_man02" jest przestawiona w dobrą stronę. Później, gdy już EN57 znajdzie się na torze "kibel_stop" zwrotnica "trasa_zwr_man02" zmienia się i na semaforze "trasa_zwr-man_a" pojawia się S2 dla mojego składu.
Reg. obowiązki 2.
Proszę umieścić obraz na serwerze forum jako załącznik.
Benek
-
Zamiast bawić się w schematy, wrzuć proszę screena z symulatora, gdzie stoi EN57 (zrób tak, by było widać semafor i czoło jednostki) i wtedy coś będziemy wiedzieć.
-
Dobra rozumiem. Czyli tak nasz skład stoi na torze trasa02. Skład prowadzony przez komputer na torze kibel_start. Czeka tam w oczekiwaniu na sygnał S2 na semaforze trasa_zwr_man_z i dojeżdża do toru kibel_stop. Potem jedzie nasz skład. Moje uwagi na starcie popieram słowa @Ra. Sam sobie na początku mieszasz w nazwach. Po co nazwa semafora trasa_zwr_z? Zwr mi się kojarzy od razu ze zwrotnicą. Proponuje na początek takie proste nazewnictwo typu sem_man_z, sem_man_y i sem_man_x. Co do zwrotnic podobnie pozbyć się z tej nazwy trasa. Reasumując po wprowadzeniu poprawek powinno to wyglądać tak jak poniżej.
Tor na którym stoi AI: (jeśli faktycznie się zgadza ten event kierunkowy):
node -1 0 kibel_start track normal 78.5396 1.435 0.25 25.0 20 0 flat vis
rail_screw_used1 4 tpbps-new2.dds 0.2 0.5 1.1
-6470.04 0.2 -1208.45 0.0 //point 1
-22.5869 0.0 -13.0175 //control vector 1
25.1763 0.0 6.7666 //control vector 2
-6542.0 0.2 -1238.26 0.0 //point 2
300.0
event1 sem_man_z_sem_info
endtrack
Eventy dla niego:
event zapal_sygnal_en57_ai multiple 05 none sem_man_z_s2 przestaw_zwr_ai endevent
event przestaw_zwr_ai multiple 03 none zwr_man02- endevent
I teraz tak by ten skład nie przerżnął sygnału S1 należy w torze kibel_stop wpisać event z odpowiednim kierunkiem sem_man_y_sem_info. Bez tej komendy pojazd sterowany przez komputer przerżnie te S1. Czyli powinno wyglądać to tak (to tylko na szybko zrobiony przykład):
node -1 0 kibel_stop track normal 78.5396 1.435 0.25 25.0 20 0 flat vis
rail_screw_used1 4 tpbps-new2.dds 0.2 0.5 1.1
-6470.04 0.2 -1208.45 0.0 //point 1
-22.5869 0.0 -13.0175 //control vector 1
25.1763 0.0 6.7666 //control vector 2
-6542.0 0.2 -1238.26 0.0 //point 2
300.0
event1 sem_man_y_sem_info
Ten event dajesz do toru o nazwie kibel_stop. Oczywiście należy dokładnie sprawdzić kierunkowość. Kibel AI zatrzyma się. Można w tym przypadku zastosować event kierunkowy dla naszego składu. Proponuje go dać tor przed tym torem kibel_stop. Pojazd prowadzony przez komputem najedzie na niego i wyświetli sygnał dla naszego składu. Event mógłby wyglądać tak:
event zwrota_my multiple 03 zwr_man01+ nasz_kibel_jazda endevent
event nasz_kibel_jazda multiple 05 sem_man_x_s2 endevent
Tak bym to widział ja. Poniżej schemat.
-
Sawi zjadłeś tutaj początek:
event zapal_sygnal_en57_ai multiple 05 none sem_man_z_s2 przestaw_zwr_ai endevent
przestaw_zwr_ai multiple 03 none zwr_man02- endevent
ma być:
event zapal_sygnal_en57_ai multiple 05 none sem_man_z_s2 przestaw_zwr_ai endevent
event przestaw_zwr_ai multiple 03 none zwr_man02- endevent
-
Racja zjadłem wyrażenie event. Poprawione.
EDIT:
Dodam od siebie, że można te eventy wywołać na kilka sposobów. jest to opisane np w szkole eventowej http://eu07.pl/forum/index.php/topic,18634.msg328584.html#msg328584
-
Dziękuję wszystkim za pomoc i poświęcenie dla mnie czasu. Działa tak jak chciałem. @Ra ma rację, ponazywałem sobie tak, że się pogubiłem. Myślę, że już nie będę miał problemów takiego typu. Jeszcze raz dzięki.
Temat można zamknąć.
Ok.
Benek