misiek_131415 Posted May 27 Share Posted May 27 Mam problem. Poniżej wklejam moje "dzieło" Kiedyś dawno temu liznąłem podstawy C++, Delphi, VB. Więc jako takie pojęcie mam jak ten LUA może działać. Ale baaaaaardzo mgliste:))) Chcę zrobić przelot przez Katowice. Wymyśliłem takie coś, a raczej podpatrzyłem w innych scenariuszach oryginalnych i graczy. Ważne że na razie działa i dojechałem tak z Kato do Ząbkowic. Tylko że to moje rozwiązanie to działa tak że każdy następny semafor aktywuje się po przejechaniu poprzedniego. Dotyczy tylko w obrębie stacji. Pomiędzy stacjami to wiadomo że jak tor wolny to zielone zawsze. Zwiększanie wartości w [m] ile od semafora ma się polecenie wczytać nie ma znaczenia. Każdy semafor przejeżdzamy z wiedzą że następny jest czerwony i dopiero po minięciu sygnału pomarańczowego mamy kolejny semafor zielony. Dla gracza korzystającego z podpowiedzi pod klawiszem F2 w czasie gry to bez znaczenia. Ale dla kogoś grającego bez tego to masakra bo ciągle nie wie czy będzie czerwone czy zmieni się na zielone. Jeżeli ktoś obyty z tym tematem ma czas i chęci proszę o podpowiedz. Czy te moje linijki kodu można jakoś zmodyfikować czy też ten mój sposób do ślepy zaułek i innych poleceń/funkcji/zmiennych muszę użyć. Jak to przerobić żeby mi wyświetlało kilka semaforów jednocześnie do przodu. Np cały przelot przez KO. Albo KZ. A nie tylko od semafora do semafora. Jak ktoś ma czas i chęci z góry dziękuję. CreateSignalTrigger(FindSignal("KO_O"), 300, { check = UnconditialCheck, result = function (state) VDSetRoute("KO_O", "KO_M5", VDOrderType.TrainRoute) trainset.SetState(DynamicState.dsStop, TrainsetState.tsTrain, true) end }) CreateSignalTrigger(FindSignal("KO_M5"), 1100, { check = UnconditialCheck, result = function (state) VDSetRoute("KO_M5", "KO_E15", VDOrderType.TrainRoute) trainset.SetState(DynamicState.dsStop, TrainsetState.tsTrain, true) end }) CreateSignalTrigger(FindSignal("KO_E15"), 1000, { check = UnconditialCheck, result = function (state) VDSetRoute("KO_E15", "KO_Akps", VDOrderType.TrainRoute) trainset.SetState(DynamicState.dsStop, TrainsetState.tsTrain, true) end }) CreateSignalTrigger(FindSignal("KZ_P"), 2000, { check = UnconditialCheck, result = function (state) VDSetRoute("KZ_P", "KZ_G", VDOrderType.TrainRoute) trainset.SetState(DynamicState.dsStop, TrainsetState.tsTrain, true) end Link to comment Share on other sites More sharing options...
SIMRAIL Team inomushis Posted May 29 SIMRAIL Team Share Posted May 29 Możesz nastawić więcej niż jeden przebieg, jeden po drugim - z jednego triggera. CreateSignalTrigger(FindSignal("KO_O"), 300, { check = UnconditialCheck, result = function (state) VDSetRoute("KO_O", "KO_M5", VDOrderType.TrainRoute) VDSetRoute("KO_M5", "KO_E15", VDOrderType.TrainRoute) end }) PS. Nie musisz za każdym triggerem zmieniać stanu pociągu na dsStop/tsTrain. W zasadzie robisz to tylko po spawnie, żeby określić czy gracz przejmuje maszynę na zimno, czy na gorąco. 1 Link to comment Share on other sites More sharing options...
misiek_131415 Posted May 29 Author Share Posted May 29 2 godziny temu, inomushis napisał(a): Nie musisz za każdym triggerem zmieniać stanu pociągu na dsStop/tsTrain Nie wiedziałem co to jest:) Wklejałem bo tak gdzieś podpatrzyłem. Działało:) Czyli DynamicState.dsStop to mamy czy zaczynamy stojąc czy w ruchu? A TrainsetState.tsTrain to jest czy zimna czy ciepła lokomotywa? W ruchu loko to będzie dsRun a zimna zmieniamy warunek na końcu na false? Tak to będzie? Jest gdzieś spis tych komend tych wszystkich true i false? Żeby zobaczyć co jaka komenda oznacza? Np w spawnie lokomotywy jest chyba za podaniem semafora odległość od semafora i kilka razy true, true, true, true. Może jest to gdzieś opisane i można poczytać sobie na ten temat? Link to comment Share on other sites More sharing options...
SIMRAIL Team Królik Uszasty Posted May 29 SIMRAIL Team Share Posted May 29 W pliku SimRail_Data\StreamingAssets\LuaModules\SimRailCore.lua - otwieramy notatnikiem. 1 Link to comment Share on other sites More sharing options...
SIMRAIL Team inomushis Posted May 29 SIMRAIL Team Share Posted May 29 https://wiki.simrail.eu/LUA/List-of-functions 1 Link to comment Share on other sites More sharing options...
Recommended Posts