395 lines
16 KiB
Plaintext
Executable File
395 lines
16 KiB
Plaintext
Executable File
local vec3 = require "vec3"
|
|
local transf = require "transf"
|
|
function data()
|
|
return {
|
|
boundingInfo = {
|
|
bbMax = {
|
|
17.189210891724, 1.1466519832611, 4.7869329452515,
|
|
},
|
|
bbMin = {
|
|
-17.189210891724, -1.396271944046, -0.05799201130867,
|
|
},
|
|
|
|
},
|
|
collider = {
|
|
params = {
|
|
|
|
},
|
|
type = "MESH",
|
|
|
|
},
|
|
lods = {
|
|
{
|
|
animations = {
|
|
|
|
},
|
|
children = {
|
|
{
|
|
id = "vehicle/tram/be5_6_lod_0_connector.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 8.6990995407104, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/tram/be5_6_lod_0_connector.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.979199886322, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/tram/be5_6_lod_0_connector.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.9839000701904, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/tram/be5_6_lod_0_connector.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -8.7013998031616, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/tram/be5_6_lod_0_mid_back.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.8449997901917, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/tram/be5_6_lod_0_mid_front.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.8449997901917, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/tram/be5_6_lod_0_back.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -11.701299667358, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/tram/be5_6_lod_0_mid.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/tram/be5_6_lod_0_front.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 11.701299667358, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
},
|
|
},
|
|
events = {
|
|
open_all_doors = {
|
|
[5] = {
|
|
forward = true,
|
|
name = "open_all_doors",
|
|
},
|
|
[6] = {
|
|
forward = true,
|
|
name = "open_all_doors",
|
|
},
|
|
[7] = {
|
|
forward = true,
|
|
name = "open_all_doors",
|
|
},
|
|
[8] = {
|
|
forward = true,
|
|
name = "open_all_doors",
|
|
},
|
|
[9] = {
|
|
forward = true,
|
|
name = "open_all_doors",
|
|
},
|
|
},
|
|
close_all_doors = {
|
|
[5] = {
|
|
forward = false,
|
|
name = "open_all_doors",
|
|
},
|
|
[6] = {
|
|
forward = false,
|
|
name = "open_all_doors",
|
|
},
|
|
[7] = {
|
|
forward = false,
|
|
name = "open_all_doors",
|
|
},
|
|
[8] = {
|
|
forward = false,
|
|
name = "open_all_doors",
|
|
},
|
|
[9] = {
|
|
forward = false,
|
|
name = "open_all_doors",
|
|
},
|
|
},
|
|
|
|
},
|
|
matConfigs = {
|
|
{
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
},
|
|
},
|
|
static = false,
|
|
visibleFrom = 0,
|
|
visibleTo = 2510,
|
|
|
|
},
|
|
},
|
|
metadata = {
|
|
description = {
|
|
name = _("Be 5/6 Cobra"),
|
|
description = _("As the first complete low floor tram, it runs through the city like a snake, thanks to its four joints. This gave it the nickname \"Cobra\".")
|
|
},
|
|
availability = {
|
|
yearFrom = 3000,
|
|
yearTo = 3000,
|
|
|
|
},
|
|
cost = {
|
|
price = -1,
|
|
|
|
},
|
|
maintenance = {
|
|
lifespan = 40,
|
|
runningCosts = -1,
|
|
|
|
},
|
|
railVehicle = {
|
|
configs = {
|
|
{
|
|
axles = {
|
|
"vehicle/tram/be5_6/lod_0_w1.msh",
|
|
},
|
|
fakeBogies = {
|
|
{
|
|
group = 1,
|
|
offset = -2.0452001094818,
|
|
position = 11.701299667358,
|
|
|
|
}, {
|
|
group = 1,
|
|
offset = 1.8502999544144,
|
|
position = 5.8449997901917,
|
|
|
|
}, {
|
|
group = 3,
|
|
offset = -1.8006000518799,
|
|
position = 5.8449997901917,
|
|
|
|
}, {
|
|
group = 3,
|
|
offset = 2.0186998844147,
|
|
position = 0,
|
|
|
|
}, {
|
|
group = 5,
|
|
offset = -2.0269000530243,
|
|
position = 0,
|
|
|
|
}, {
|
|
group = 5,
|
|
offset = 1.8006000518799,
|
|
position = -5.8449997901917,
|
|
|
|
}, {
|
|
group = 7,
|
|
offset = -1.8502999544144,
|
|
position = -5.8449997901917,
|
|
|
|
}, {
|
|
group = 7,
|
|
offset = 2.039400100708,
|
|
position = -11.701299667358,
|
|
|
|
}, {
|
|
group = 9,
|
|
offset = 0,
|
|
position = -5.8449997901917,
|
|
|
|
}, {
|
|
group = 19,
|
|
offset = 0,
|
|
position = 5.8449997901917,
|
|
|
|
},
|
|
},
|
|
|
|
},
|
|
},
|
|
engines = {
|
|
{
|
|
power = 625,
|
|
tractiveEffort = 80,
|
|
type = "ELECTRIC",
|
|
|
|
},
|
|
},
|
|
soundSet = {
|
|
horn = "",
|
|
name = "tram_modern",
|
|
|
|
},
|
|
topSpeed = 70,
|
|
weight = 39,
|
|
|
|
},
|
|
transportVehicle = {
|
|
capacities = {
|
|
{
|
|
capacity = 120,
|
|
type = "PASSENGERS",
|
|
|
|
},
|
|
},
|
|
carrier = "TRAM",
|
|
loadSpeed = 14,
|
|
|
|
seats = {
|
|
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.1, -0.1, .4)), crew = true, standing = false},
|
|
-- front
|
|
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.8, 0.75, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.8, 0.3, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.8, -0.9, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.8, -0.5, 0.24)) },
|
|
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(0.3, 0.75, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, 0.3, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(0.3, -0.9, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, -0.5, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(1.3, -0.75, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, -0.3, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(1.3, 0.9, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, 0.5, 0.24)) },
|
|
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-1.1, 0.75, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.1, 0.3, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-1.1, -0.9, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.1, -0.5, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-0.2, -0.75, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.2, -0.3, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-0.2, 0.9, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.2, 0.5, 0.24)) },
|
|
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-1.7, -0.75, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.7, -0.3, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-1.7, 0.9, 0.24)) },
|
|
{ group = 49, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.7, 0.5, 0.24)) },
|
|
|
|
--mid_front
|
|
|
|
{ group = 20, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.7, 0.75, 0.24)) },
|
|
{ group = 20, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.7, 0.3, 0.24)) },
|
|
{ group = 20, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(0.4, -0.9, 0.24)) },
|
|
{ group = 20, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-0.4, -0.9, 0.24)) },
|
|
|
|
{ group = 20, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-1.9, 0.75, 0.24)) },
|
|
{ group = 20, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.9, 0.3, 0.24)) },
|
|
|
|
{ group = 20, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.1, 0.75, 0.24)),standing = true },
|
|
{ group = 20, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-0.99, 0.7, 0.24)),standing = true },
|
|
|
|
--mid
|
|
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.8, 0.75, 0.24)) },
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.8, 0.3, 0.24)) },
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.8, -0.9, 0.24)) },
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.8, -0.5, 0.24)) },
|
|
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(0.3, 0.75, 0.24)) },
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, 0.3, 0.24)) },
|
|
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(1.3, -0.75, 0.24)) },
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, -0.3, 0.24)) },
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(1.3, 0.9, 0.24)) },
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, 0.5, 0.24)) },
|
|
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-1.1, 0.75, 0.24)) },
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.1, 0.3, 0.24)) },
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-1.1, -0.9, 0.24)) },
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.1, -0.5, 0.24)) },
|
|
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-0.2, 0.9, 0.24)) },
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.2, 0.5, 0.24)) },
|
|
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-1.7, -0.75, 0.24)) },
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.7, -0.3, 0.24)) },
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-1.7, 0.9, 0.24)) },
|
|
{ group = 40, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.7, 0.5, 0.24)) },
|
|
|
|
--mid_back
|
|
|
|
{ group = 10, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(2, 0.75, 0.24)) },
|
|
{ group = 10, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2, 0.3, 0.24)) },
|
|
{ group = 10, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.1, 0.75, 0.24)) },
|
|
{ group = 10, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(0.4, -0.9, 0.24)) },
|
|
{ group = 10, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-0.4, -0.9, 0.24)) },
|
|
{ group = 10, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.4, -0.4, 0.24)) },
|
|
{ group = 10, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.4, -0.4, 0.24)) },
|
|
|
|
{ group = 10, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-2, 0.75, 0.24)) },
|
|
{ group = 10, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2, 0.3, 0.24)) },
|
|
|
|
{ group = 10, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-1.3, 0.75, 0.24)) },
|
|
{ group = 10, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-0.4, 0.75, 0.24)) },
|
|
{ group = 10, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(.3, 0.75, 0.24)) },
|
|
|
|
--back
|
|
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.8, 0.75, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.8, 0.3, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.8, -0.9, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.8, -0.5, 0.24)) },
|
|
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(0.3, 0.75, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, 0.3, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(0.3, -0.9, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, -0.5, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(1.3, -0.75, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, -0.3, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(1.3, 0.9, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, 0.5, 0.24)) },
|
|
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-1.1, 0.75, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.1, 0.3, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-1.1, -0.9, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.1, -0.5, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-0.2, -0.75, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.2, -0.3, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-0.2, 0.9, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.2, 0.5, 0.24)) },
|
|
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-1.7, -0.75, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.7, -0.3, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-1.7, 0.9, 0.24)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.7, 0.5, 0.24)) },
|
|
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-4.4, -0.6, 0.54)) },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-4.4, 0.7, 0.54)) },
|
|
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-2.7, 0.8, 0.24)),standing = true },
|
|
{ group = 30, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-3.5, 0.8, 0.24)),standing = true },
|
|
|
|
|
|
|
|
}
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
end
|