Jump to content

Recommended Posts

Posted

Opis problemu:

Gdy w scenariuszu gracz prowadzi lokomotywę z podpiętym przynajmniej jednym wagonem, to ten wagon nie łapie kolizji z innym podobnym wagonem. 

Według moich (skromnych, ale zawsze jakichś) testów na wagonach pasażerskich problem występuje dla wszystkich wagonów z kategorii G90 - B11, B91 - A9 / B11 i 406A - WR (na podstawie wiki), pozostałe zachowywały się normalnie, także gdy jeden był z wymienionych, a jeden z pozostałych. Na podstawie krótkiego wczytania się w specyfikację wymienionych wagonów wydaje się, że ich cechą wspólną jest oznaczenie - mnouz, a szczególnie m (dłuższy niż 24,5m - na podstawie transportszynowy.pl), które posiadają tylko i konkretnie te wagony [ta część to trochę spekulacja, może mieć znaczenie, ale na dobrą sprawę wcale nie musi]. Nie wiem jak jest z wagonami towarowymi.

 

Załączniki:

Do zgłoszenia dołączam najpierw kod scenariusza (na samym dole), na którym robiłem testy - spawnuje kilka wagonów w dwóch składach, podobnie do scenariusza Manewry w Katowicach (druga część Gwarka), gdzie odkryto problem (posty z początku maja br.). Można jednak skrócić listę spawnowanych pojazdów do lokomotywy i wagonu w składzie Player i wagonu w składzie Gwarek2, wtedy problem też jest replikowany, jak np. poniżej:

SpawnTrainsetOnSignalAsync("Player", FindSignal("KO_Tm505"), 85, false, true, false, {
        CreateNewSpawnVehicleDescriptor(LocomotiveNames.EP07_174, false),
        CreateNewSpawnVehicleDescriptor(PassengerWagonNames.B11bmnouz_6151_2170_098_8, false),
    }, function (trainset)
        trainset.SetState(DynamicState.dsStop, TrainsetState.tsShunting, true)
    end)

SpawnTrainsetOnSignalAsync("Gwarek2", FindSignal("KO_Tm505"), 135, false, false, false, {
        CreateNewSpawnVehicleDescriptor(PassengerWagonNames.A9mnouz_6151_1970_214_5, false),
    }, function (trainset)
        trainset.SetState(DynamicState.dsStop, TrainsetState.tsShunting, true)
    end)

Oprócz tego dołączam dwa pliki, jeden to tradycyjnie log z przejazdu, a drugi to film pokazujący problem na podstawie poniższego scenariusza, gdzie na początku pokazałem brak kolizji między wybranymi wagonami, po czym zmieniłem kolejność wagonów w składzie Player, co poskutkowało normalnymi kolizjami (jeden wagon ze złych, drugi z dobrych). Dołączony log dotyczy tych właśnie dwóch przejazdów. Na filmie można też zauważyć, że po wjechaniu wgłąb wagonu na określony dystans nasz skład zostaje wykolejony (wygląda to deterministycznie).

 SimRail_log_2025-05-04_16-59-01.txt

 

 

Kod scenariusza (również w pliku mission.txt😞

-- SimRail - The Railway Simulator
-- LUA Scripting scenario
-- Version: 1.0
--
require("SimRailCore")

DeveloperMode = function()
    return true
end

StartPosition = {-9272.38, 266.57, 1498.98}
Sounds = {}
Trains = {}

function PrepareScenario() end

function EarlyScenarioStart()
    Log("Entered start")

    StartRecorder()
    SetCameraView(CameraView.FirstPersonWalkingOutside)
    SetBlockTeleportation(false)

    SetWeather(WeatherConditionCode.FewClouds, 15, 1015, 65, 2000, 353, 1, 0, true)
    
    Log("Set vars")

    SpawnTrainsetOnSignalAsync("Player", FindSignal("KO_Tm505"), 65, false, true, false, {
        CreateNewSpawnVehicleDescriptor(LocomotiveNames.EP07_174, false),
        CreateNewSpawnVehicleDescriptor(PassengerWagonNames.A9ou_5151_1970_003_4, false),
        CreateNewSpawnVehicleDescriptor(PassengerWagonNames.A9mnouz_6151_1970_234_3, false),
    }, function (trainset)
        trainset.SetState(DynamicState.dsStop, TrainsetState.tsShunting, true)
    end)

    Log("Spawned player")

    SpawnTrainsetOnSignalAsync("Gwarek2", FindSignal("KO_Tm505"), 135, false, false, false, {
        CreateNewSpawnVehicleDescriptor(PassengerWagonNames.B11bmnouz_6151_2170_064_0, false),
        CreateNewSpawnVehicleDescriptor(PassengerWagonNames.A9mnouz_6151_1970_234_3, false),
        CreateNewSpawnVehicleDescriptor(PassengerWagonNames.A9mnouz_6151_1970_214_5, false),
    }, function (trainset)
        trainset.SetState(DynamicState.dsDecEmergency, TrainsetState.tsDeactivation, true)
    end)

    Log("Spawned trainset")
end

W kodzie zostawiłem oryginalne ustawienia składów ze scenariusza (DynamicState, TrainsetState i parametr vehicleNeedInit), ale próbowałem także kilku innych wariantów i nie zmieniło to nic.

  • Recently Browsing   0 members

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

Important Information

Terms of Use Privacy Policy