Hilfe zur api.type.TransportVehicleConfig

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • Kann mir jemand ein Beispiel für diese Funktion schreiben "replaceVehicle"? Ich habe es mit die Console getestet, aber ich konnte die Parameter nicht richtig angeben.


    sol.CmdData::ReplaceVehicle.


    >> api.cmd.make.replaceVehicle

    {

    __doc__ = "(Entity vehicleEntity, TransportVehicleConfig config) -> Command",

    }


    Ich habe das versucht:


    game.interface.getVehicles ()

    { 9333, 10452, }


    local vehicle


    vehicle = game.interface.getEntity (10452)


    api.cmd.make.replaceVehicle ( 9333, vehicle.vehicles )

  • Ich brauche Hilfe.

    Ich möchte einen Mod schreiben, der Fahrzeuge zufällig aus einem Array ersetzt. (Züge)

    Ich habe die richtige Funktion gefunden:

    >> game.interface.getVehicles()

    { 10452, 10453, }

    vehicle1 = game.interface.getEntity (10452)

    vehicle2 = game.interface.getEntity (10453)

    config = api.type.TransportVehicleConfig.new()

    cmd = api.cmd.make.replaceVehicle (vehicle1.id, config)

    api.cmd.sendCommand(cmd, callback)

    Aber ich kann die "TransportVehicleConfig" nicht richtig mit Daten laden.

    >> config

    {

    vehicles = {

    },

    vehicleGroups = {

    },

    }


    https://transportfever2.com/wi…ml#TransportVehicleConfig

    Könnte mir jemand ein Beispiel dafür schreiben?

  • brunna

    Hat den Titel des Themas von „replaceVehicle Function“ zu „Hilfe zur api.type.TransportVehicleConfig“ geändert.
  • Zuerst habe ich das gemacht:


    >> game.interface.getVehicles()

    { 9333, 10452, }


    config = api.type.TransportVehicleConfig.new()

    vehicle = game.interface.getEntity (9333)


    >> config

    {

    vehicles = {

    },

    vehicleGroups = {

    },

    }


    >> vehicle

    {

    allCapacities = {

    PASSENGERS = 66,

    },

    capacities = {

    PASSENGERS = 66,

    },

    cargoLoad = { },

    carrier = "RAIL",

    depot = -1,

    id = 9333,

    line = 2038,

    name = "Train 1",

    position = { 832.64373779297, 604.01354980469, 28.684226989746, },

    speed = 19.335018157959,

    state = "EN_ROUTE",

    stopIndex = 1,

    type = "VEHICLE",

    vehicles = {

    {

    color = { -1, -1, -1, },

    condition = 1,

    fileName = "vehicle/train/br_185_traxx.mdl",

    loadConfig = { -1, },

    logo = "",

    purchaseTime = 59600,

    reversed = false,

    },

    {

    color = { -1, -1, -1, },

    condition = 1,

    fileName = "vehicle/waggon/ew_iv.mdl",

    loadConfig = { -1, },

    logo = "",

    purchaseTime = 59600,

    reversed = false,

    },

    {

    color = { -1, -1, -1, },

    condition = 1,

    fileName = "vehicle/waggon/ew_iv.mdl",

    loadConfig = { -1, },

    logo = "",

    purchaseTime = 59600,

    reversed = false,

    },

    {

    color = { -1, -1, -1, },

    condition = 1,

    fileName = "vehicle/waggon/ew_iv.mdl",

    loadConfig = { -1, },

    logo = "",

    purchaseTime = 59600,

    reversed = false,

    },

    },

    }


    >> config.vehicles = vehicle.vehicles

    error: [string "config.vehicles = vehicle.vehicles"]:1: stack index -1, expected userdata, received table: value is not a valid userdata

    stack traceback:

    =[C](-1): ?

    =[C](-1): __newindex

    config.vehicles = vehicle.vehicles(1): ?


    Leider bleibt die config.vehicles leer. :(

  • Ich fand, dass die config.vehicles damit kompatibel ist: api.type.TransportVehiclePart.new ()


    z.B.:


    config = api.type.TransportVehicleConfig.new()

    part = api.type.TransportVehiclePart.new()

    config.vehicles[1] = part


    >> part

    {

    part = {

    modelId = -1,

    reversed = false,

    loadConfig = {

    },

    color = {

    x = -1,

    y = -1,

    z = -1,

    },

    logo = "",

    },

    purchaseTime = 0,

    maintenanceState = 1,

    targetMaintenanceState = 0,

    }

    Aber ich habe einen Dump bekommen, als ich diesen benutzt habe. Ich bin mir nicht sicher mit der "modelId". Und ich weiß nicht, welcher Typ mit den config.vehicleGroups kompatibel ist. :(

  • Ich habe die TransportVehicleConfig mit der CommonAPI2- 20200630 überprüft. Vielen Dank für diese API! ;)


    {

    vehicles = {

    <metatable> = {

    __index = <function 1>,

    __ipairs = <function 2>,

    __len = <function 3>,

    __name = "sol.std::vector<TransportVehiclePart,std::allocator<TransportVehiclePart> >*", --Hier ist das TransportVehiclePart.

    __newindex = <function 4>,

    __pairs = <function 2>,

    add = <function 5>,

    at = <function 6>,

    clear = <function 7>,

    empty = <function 8>,

    erase = <function 9>,

    find = <function 10>,

    get = <function 11>,

    insert = <function 12>,

    next = <function 13>,

    pairs = <function 2>,

    set = <function 4>,

    size = <function 3>

    }

    },

    vehicleGroups = {

    <metatable> = {

    __index = <function 14>,

    __ipairs = <function 15>,

    __len = <function 16>,

    __name = "sol.std::vector<int,std::allocator<int> >*", -- Aber ich weiß das nicht.

    __newindex = <function 17>,

    __pairs = <function 15>,

    add = <function 18>,

    at = <function 19>,

    clear = <function 20>,

    empty = <function 21>,

    erase = <function 22>,

    find = <function 23>,

    get = <function 24>,

    insert = <function 25>,

    next = <function 26>,

    pairs = <function 15>,

    set = <function 17>,

    size = <function 16>

    }

    },

  • Ich hab es gemacht. Beispiel:


    vehicle1 = game.interface.getEntity (9333)

    config = api.type.TransportVehicleConfig.new()

    tpart = api.type.TransportVehiclePart.new()

    vpart = api.type.VehiclePart.new()


    modelid = api.res.modelRep.find ("vehicle/train/nohab.mdl")


    vpart.modelId = modelid

    vpart.loadConfig = { 0 }

    tpart.part = vpart

    tpart.purchaseTime = 4399000

    tpart.autoLoadConfig = { 0 }

    config.vehicles[1] = tpart

    config.vehicleGroups = {1}


    cmd = api.cmd.make.replaceVehicle (vehicle1.id, config)

    api.cmd.sendCommand(cmd, callback)

BlueBrixx