- Symulator MaSzyna -
Symulator EU07 (i nie tylko) => Pomoc doraźna => Trasy => Wątek zaczęty przez: ic_kolobrzeg w 29 Lipca 2014, 11:41:06
-
Witam.
Sceneria Quarkmce 2007, misja pociąg towarowy Skawarki - Dejawy.
Oczekuję około 15 minut w Dejawach Kopalni na podanie sygnału zezwalającego na tarczy manewrowej w celu kontynuacji manewrów. Lokomotywa spalinowa wepchnęła już w stację skład z węglem. Z tyłu za mną, pod semaforem wjazdowym oczekuje na zwolnienie toru również EN57. Ktoś wie co może być przyczyną, że sygnał pozwalający na kontynuację manewrów nie jest wyświetlany?
MaSzyna 08.13 z czerwcowym Patchem.
Reg. obowiązki 2, 16.
Proszę poprawić post i umieścić właściwie grafikę, tak jak sugerują wyszczególnione punkty Regulaminu.
Benek
-
Sprawdzę i zobaczę jak u mnie to wygląda.
EDIT: Potwierdzam, u mnie to samo co u kolegi.
-
Problem chyba polega na tym, że przebiegi na głowicy nie mają priorytetów. Najwyższy priorytet powinno mieć zjechanie spod W5, dalej wjazd pociągu ze szlaku, wyjazd na szlak, a najniższy priorytet wyjazd do W5. Obecnie wszystkie przebiegi są równoważne. Ponadto problem występuje, jeśli do Dejaw zbliżają się dwa pociągi — osobowy i towarowy. Każdy z nich ma wjazd na inny tor, przez co przebiegi mogą się ustawić w odwrotnej kolejności niż jadą pociągi.
Ogólnie obecny mechanizm obsługi przebiegów działa w taki sposób, że zbliżającemu się do stacji pociągowi zostaje przydzielony jeden z torów (a jeśli już jest na stacji, to powiązanie z torem jest oczywiste). Dla toru uruchamiana jest pętla eventowa, która próbuje zarezerwować głowicę. Wykonywane w tym celu są dwa eventy — pierwszy to warunkowy UpdateValues, który zapisuje do komórki pamięci powiązanej z głowicą (tu: dej_pd1) kod przebiegu (np. tor5 2 1), o ile ta komórka jest pusta (condition memcompare * * 0). Drugi z eventów sprawdza, czy komórka głowicy została zmieniona zgodnie z żądanym przebiegiem i jeśli tak, to przestawia zwrotnice oraz uruchamia pętlę eventową głowicy (ta z kolei podaje odpowiednie sygnały na semaforach, zależnie od zapisanego w komórce głowicy kodu przebiegu). Jeśli przebieg służy do wyjazdu pociągu na szlak, to wcześniej uruchamiane są dwa inne eventy, które — podobnie jak dla głowicy — sprawdzają, czy szlak jest wolny.
Pętle eventowe można sobie obejrzeć w pliku scenery\quark\dejawy.ctr, więc nie będę ich tu cytował. Pozostałe pliki CTR też mają podobne rozwiązania, choć mogą się różnić szczegółami, ponieważ robiąc pętle dla kolejnych stacji testowałem różne rozwiązania (w tym w zakresie nazewnictwa). Na razie nie mam pomysłu, jak rozwiązać kwestię priorytetów.
-
Dałoby radę zrobić tak, żeby na 5 min przed przejazdem pociągu w kierunku Koniewic przerwać manewry? TZN. Nie wypuszczać byka z głowicy do czasu przejazdu pociągu?
-
Sorry za odgrzewanie wątku ale przypomniało mi się pewne rozwiązanie. Ten problem istniał odkąd pamiętam.
Kiedyś jeden uzytkownik zastosował trick - czyli wymuszenie sygnału ms2 i ułożenie drogi za pomocą bindów (SHIFT+1...). Dzięki temu dało się ukończyć misję. Ktoś ogarnia temat i mógłby wprowadzić to rozwiązanie?
-
Ale Ra to przekopał i wszystko jest na hardych algorytmach blokad zrobione. Takie prowizorki tylko by napsuły.