local vec3 = require "vec3" local transf = require "transf" function data() return { boundingInfo = { bbMax = { 14.608251571655, 1.4764100313187, 5.8900079727173, }, bbMin = { -11.848377227783, -1.4764100313187, -0.064345985651016, }, }, collider = { params = { }, type = "MESH", }, lods = { { animations = { }, children = { { id = "vehicle/train/twindexx/lod_2_d1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.8775000572205, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/twindexx/lod_2_d2.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.8773999214172, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/twindexx/lod_2_d1.msh", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -3.8775000572205, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/twindexx/lod_2_d2.msh", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 3.8773999214172, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/twindexx/lod_2_front.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/twindexx_lod_2_bogie.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.1443004608154, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/twindexx_lod_2_bogie.grp", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -8.2482995986938, 0, 0, 1, }, type = "GROUP", }, }, events = { open_all_doors = { { name = "opend1", forward = true }, { name = "opend2", forward = true }, { name = "opend1", forward = true }, { name = "opend2", forward = true }, }, close_all_doors = { { name = "opend1", forward = false }, { name = "opend2", forward = false }, { name = "opend1", forward = false }, { name = "opend2", forward = false }, }, open_doors_left = { [1] = { name = "opend1", forward = true }, [2] = { name = "opend2", forward = true }, }, close_doors_left = { [1] = { name = "opend1", forward = false }, [2] = { name = "opend2", forward = false }, }, open_doors_right = { [3] = { name = "opend1", forward = true }, [4] = { name = "opend2", forward = true }, }, close_doors_right = { [3] = { name = "opend1", forward = false }, [4] = { name = "opend2", forward = false }, }, }, matConfigs = { { 0, 0, 0, 0, 0, 0, 0, }, }, static = false, visibleFrom = 450, visibleTo = 2320, }, { animations = { }, children = { { id = "vehicle/train/twindexx/lod_1_d1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.8775000572205, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/twindexx/lod_1_d2.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.8773999214172, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/twindexx/lod_1_d1.msh", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -3.8775000572205, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/twindexx/lod_1_d2.msh", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 3.8773999214172, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/twindexx/lod_1_front.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/twindexx_lod_1_bogie.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.1443004608154, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/twindexx_lod_1_bogie.grp", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -8.2482995986938, 0, 0, 1, }, type = "GROUP", }, }, events = { open_all_doors = { { name = "opend1", forward = true }, { name = "opend2", forward = true }, { name = "opend1", forward = true }, { name = "opend2", forward = true }, }, close_all_doors = { { name = "opend1", forward = false }, { name = "opend2", forward = false }, { name = "opend1", forward = false }, { name = "opend2", forward = false }, }, open_doors_left = { [1] = { name = "opend1", forward = true }, [2] = { name = "opend2", forward = true }, }, close_doors_left = { [1] = { name = "opend1", forward = false }, [2] = { name = "opend2", forward = false }, }, open_doors_right = { [3] = { name = "opend1", forward = true }, [4] = { name = "opend2", forward = true }, }, close_doors_right = { [3] = { name = "opend1", forward = false }, [4] = { name = "opend2", forward = false }, }, }, matConfigs = { { 0, 0, 0, 0, 0, 0, 0, }, }, static = false, visibleFrom = 150, visibleTo = 450, }, { animations = { }, children = { { id = "vehicle/train/twindexx/lod_0_d1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.8775000572205, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/twindexx/lod_0_d2.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.8773999214172, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/twindexx/lod_0_d1.msh", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -3.8775000572205, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/twindexx/lod_0_d2.msh", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 3.8773999214172, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/twindexx/lod_0_front.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/twindexx_lod_0_bogie.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.1443004608154, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/twindexx_lod_0_bogie.grp", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -8.2482995986938, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/twindexx/lod_0_interior_front.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.4177, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/asset/lod_0_light_round_white.msh", --manual lights transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.7,0.7),transf.degToRad( 14.0, -35.0, 0.0), vec3.new( 13.79, 0.66, 2.22)), type = "MESH", }, { id = "vehicle/asset/lod_0_light_round_white.msh", --manual lights transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.7,0.7),transf.degToRad( -14.0, -35.0, 0.0), vec3.new( 13.79, -0.66, 2.22)), type = "MESH", }, { id = "vehicle/train/twindexx/lod_0_logos_front.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, }, events = { open_all_doors = { { name = "opend1", forward = true }, { name = "opend2", forward = true }, { name = "opend1", forward = true }, { name = "opend2", forward = true }, }, close_all_doors = { { name = "opend1", forward = false }, { name = "opend2", forward = false }, { name = "opend1", forward = false }, { name = "opend2", forward = false }, }, open_doors_left = { [1] = { name = "opend1", forward = true }, [2] = { name = "opend2", forward = true }, }, close_doors_left = { [1] = { name = "opend1", forward = false }, [2] = { name = "opend2", forward = false }, }, open_doors_right = { [3] = { name = "opend1", forward = true }, [4] = { name = "opend2", forward = true }, }, close_doors_right = { [3] = { name = "opend1", forward = false }, [4] = { name = "opend2", forward = false }, }, }, matConfigs = { { 0, 0, 0, 0, 0, 0, 0, }, }, static = false, visibleFrom = 0, visibleTo = 150, }, }, metadata = { availability = { yearFrom = 3000, yearTo = 3000, }, cost = { price = -1, }, description = { description = "", icon = "", name = "DUALSTOX", smallIcon = "", }, maintenance = { lifespan = 50, runningCosts = -1, }, railVehicle = { configs = { { axles = { "vehicle/train/twindexx/lod_0_w1.msh", }, fakeBogies = { }, }, { axles = { "vehicle/train/twindexx/lod_1_w1.msh", }, fakeBogies = { }, }, { axles = { "vehicle/train/twindexx/lod_0_w1.msh", }, fakeBogies = { }, }, }, engines = { { power = 1900, tractiveEffort = 280, type = "ELECTRIC", }, }, soundSet = { horn = "vehicle/train_electric_modern/horn_2.wav", name = "train_electric_modern", }, topSpeed = 200, weight = 55, }, transportVehicle = { capacities = { { capacity = 90, type = "PASSENGERS", }, }, carrier = "RAIL", loadSpeed = 4, seats = { { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(11.8, -0.1, 1.4)), crew = true, standing = false }, -- passengers { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.5, -0.7, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.5, -1.1, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.5, 0.5, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.5, 0.95, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.5, 0.7, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.5, 1.1, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.5, -0.5, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.5, -0.9, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2, -0.7, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2, -1.1, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2, 0.5, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2, 0.95, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2, 0.7, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2, 1.1, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2, -0.5, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2, -0.95, 0.5)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, -0.7, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, -1.1, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, 0.5, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, 0.95, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, 0.7, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, 1.1, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, -0.5, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, -0.9, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.1, -0.7, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.1, -1.1, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.1, 0.5, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.1, 0.95, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.1, 0.7, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.1, 1.1, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.1, -0.5, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.1, -0.9, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.5, -0.7, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.5, -1.1, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.5, 0.5, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.5, 0.95, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.5, 0.7, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.5, 1.1, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.5, -0.5, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.5, -0.9, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2, -0.7, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2, -1.1, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2, 0.5, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2, 0.95, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2, 0.7, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2, 1.1, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2, -0.5, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2, -0.95, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-9.5, -0.7, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-9.5, -1.1, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-9.5, 0.5, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-9.5, 0.95, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-8.5, 0.7, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-8.5, 1.1, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-8.5, -0.5, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-8.5, -0.95, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-7.8, 0.5, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-7.8, 0.95, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.8, 0.7, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.8, 1.1, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-4.5, 0.9, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-5, 0.9, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-4.5, -0.9, 2.6)), }, { group =5, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-5, -0.9, 2.6)), }, }, multipleUnitOnly = true, }, }, } end