Jump to content
Due to technical issues, the API backend has been disabled until Monday. This will not affect multiplayer mode, but will impact services that rely on the API, such as online maps. ×

Recommended Posts

Posted

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

 

  • SIMRAIL Team
Posted

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.

  • Thanks 1
Posted
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?  

 

 

 

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy