disablevanillavehicles_1520dlc/res/models/model/vehicle/train/twindexx.mdl

512 lines
17 KiB
Plaintext
Executable File

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