Jump to content

Tworzenie ścieżki dla pociągu w scenariuszu


Recommended Posts

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

  • SIMRAIL Team

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
Link to comment
Share on other sites

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

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Our servers

    • Drivers | Maszyniści Drivers | Maszyniści
      • PL2
      • pl2
      • 68 / 86
          • Percentage filling 79%
          • Most players 103
      • PL3
      • pl3
      • 9 / 82
          • Percentage filling 11%
          • Most players 78
      • PL4
      • pl4
      • 4 / 80
          • Percentage filling 5%
          • Most players 87
      • PL8
      • pl8
      • 6 / 87
          • Percentage filling 7%
          • Most players 84
      • EN1
      • en1
      • 17 / 84
          • Percentage filling 20%
          • Most players 81
      • EN2
      • en2
      • 3 / 78
          • Percentage filling 4%
          • Most players 60
      • EN3
      • en3
      • 2 / 88
          • Percentage filling 2%
          • Most players 60
      • DE1
      • de1
      • 31 / 84
          • Percentage filling 37%
          • Most players 87
      • DE3
      • de3
      • 1 / 78
          • Percentage filling 1%
          • Most players 67
      • DE4
      • de4
      • 1 / 78
          • Percentage filling 1%
          • Most players 65
      • FR1
      • fr1
      • 10 / 81
          • Percentage filling 12%
          • Most players 49
      • UA1
      • ua1
      • 2 / 77
          • Percentage filling 3%
          • Most players 27
      • CN1
      • cn1
      • 0 / 35
          • Percentage filling 0%
          • Most players 28
      • CZ1
      • cz1
      • 4 / 80
          • Percentage filling 5%
          • Most players 61
      • ES1
      • es1
      • 4 / 77
          • Percentage filling 5%
          • Most players 23
    • Dispatchers | Dyżurni ruchu Dispatchers | Dyżurni ruchu
      • PL2
      • pl2
      • 24 / 34
          • Percentage filling 71%
          • Most players 34
      • PL3
      • pl3
      • 2 / 34
          • Percentage filling 6%
          • Most players 31
      • PL4
      • pl4
      • 3 / 34
          • Percentage filling 9%
          • Most players 34
      • PL8
      • pl8
      • 1 / 34
          • Percentage filling 3%
          • Most players 27
      • EN1
      • en1
      • 7 / 34
          • Percentage filling 21%
          • Most players 34
      • EN2
      • en2
      • 2 / 34
          • Percentage filling 6%
          • Most players 21
      • EN3
      • en3
      • 1 / 34
          • Percentage filling 3%
          • Most players 13
      • DE1
      • de1
      • 21 / 34
          • Percentage filling 62%
          • Most players 34
      • DE3
      • de3
      • 3 / 34
          • Percentage filling 9%
          • Most players 29
      • DE4
      • de4
      • 4 / 34
          • Percentage filling 12%
          • Most players 29
      • UA1
      • ua1
      • 1 / 34
          • Percentage filling 3%
          • Most players 17
      • FR1
      • fr1
      • 3 / 34
          • Percentage filling 9%
          • Most players 23
      • ES1
      • es1
      • 2 / 34
          • Percentage filling 6%
          • Most players 15
      • CZ1
      • cz1
      • 3 / 34
          • Percentage filling 9%
          • Most players 28
      • CN1
      • cn1
      • 0 / 34
          • Percentage filling 0%
          • Most players 19
    • 30 Total servers
    • 239 / 1685 Total players
    • 14% Filled servers
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy