Jump to content

Recommended Posts

Posted

Cześć, robię scenariusz z 3 trasami, po pierwszej z nich dojeżdżam na Widzew (koniec) i chciałbym wysadzić pasażerów. Po tym chciałbym podać przebieg manewrowy. Niestety po wykryciu dojechania i zatrzymania, a następnie otworzeniu drzwi nie pojawia się ten biały zegarek w prawym górnym, więc cały plan się sypie. Czy ma ktoś pomysł co tu jest nie tak? Chciałbym, żeby pokazał się zegar, odliczył, po odliczeniu dalsze kroki, więc jak to zrobić? 

 

 

local function BeginWidzewTurnaround(testSchedule)

 

    if WidzewArrivalHandled then

        return

    end

 

    WidzewArrivalHandled = true

    ScenarioStep = "WidzewWaitingDoors"

 

    CreateCoroutine(function()

 

        DisplayChatText(

            "Lodz Widzew: stacja koncowa. Zatrzymaj sie i otworz drzwi - wszyscy pasazerowie maja wysiasc."

        )

 

 

        coroutine.yield(

            CoroutineYields.WaitForTrainsetPassengerExchangeStart,

            PlayerTrainset

        )

 

        ScenarioStep = "WidzewUnloading"

 

        DisplayChatText(

            "Lodz Widzew: drzwi zaliczone. Trwa koncowy postoj pasazerski z pierwszego rozkladu."

        )

 

        coroutine.yield(

            CoroutineYields.WaitForTrainsetPassengerExchangeFinished,

            PlayerTrainset,

            TimeSpanCreate(0, 0, 0, 0, 0)

        )

 

        ScenarioStep = "WidzewWaitingDeparture"

 

        DisplayChatText(

            "Lodz Widzew: koncowy postoj pasazerski zakonczony. Zamknij drzwi."

        )

 

        coroutine.yield(

            CoroutineYields.WaitForTrainsetDepartureWhistle,

            PlayerTrainset

        )

 

        ScenarioStep = "WidzewFirstRouteSetting"

 

        PlayerTrainset.SetRadioChannel(

            7,

            true

        )

 

        -- Dopiero po zaliczeniu postoju i zamknieciu drzwi:

        -- nowy rozklad + manewr.

        SwitchPlayerTimetableToZgierz(

            testSchedule and "test dojazdu na Widzew" or "normalny przyjazd na Widzew"

        )

 

        DisplayChatText(

            "Dyspozytor: nowy rozklad Widzew -> Zgierz aktywny. Podaje S5 -> t38825k."

        )

 

        local routeReady = WidzewSetSimpleRoute(

            "2457_LW_S5",

            "t38825k",

            VDOrderType.ManeuverRoute

        )

 

        if not routeReady then

 

            ScenarioStep = "WidzewFirstZEW3"

 

            DisplayChatText(

                "Dyspozytor: rozklad juz zmieniony, ale S5 -> t38825k nie wszedl. Nacisnij ZEW3."

            )

 

            return

        end

 

        ScenarioStep = "WidzewMovingToTurnback"

 

        DisplayChatText(

            "Dyspozytor: S5 -> t38825k gotowe. Jedz na druga strone Widzewa."

        )

 

        Log(

            "V40: Widzew - PassengerExchangeStart -> PassengerExchangeFinished -> zamkniecie drzwi -> Timetable2 + S5 -> t38825k."

        )

 

    end)

 

end

Posted (edited)

Spróbuj tak:
Rozkład jazdy (timetable.xml).
W Waypoint'cie Widzew dodaj tag <IsFinalStation>true</IsFinalStation>, daj pasażerom czas na wyjście z pociągu (Postój Handlowy ze 2 minuty).
I dodaj jeszcze jeden Waypoint, nazwany np. "Widzew Tor postojowy" z PT (technicalStop), tu czas postoju nieistotny.
Wadą SimRail'a jest to, że po ruszeniu z przedostatniej stacji - znika z prawego górnego rogu informacja o ostatniej stacji, odległości i czasie dojazdu do niej. Może kiedyś zostanie to naprawione.

Edited by mateusz424
  • Recently Browsing   0 members

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

Important Information

Terms of Use Privacy Policy