initial build

This commit is contained in:
Rinaldus 2017-02-01 18:39:24 +03:00
commit bc041b0c5e
88 changed files with 26506 additions and 0 deletions

28
mod.lua Executable file
View File

@ -0,0 +1,28 @@
function data()
return {
info = {
tags = { "Europe", "USA", "Script Mod" },
minorVersion = 0,
severityAdd = "NONE",
severityRemove = "NONE",
name = _("Отключить весь транспорт для 1520DLC"),
description = _("Адаптированная версия мода Disable all vanilla transport для серии модов 1520 DLC"),
authors = {
{
name = "Rinaldus",
role = "CREATOR",
}
},
visible = true
},
options = {
},
runFn = function (settings)
end
}
end

View File

@ -0,0 +1,170 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
4.3211002349854, 1.1229000091553, 3.838700056076,
},
bbMin = {
-4.3413000106812, -1.1229000091553, -0.49939998984337,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/bus/aboag/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/aboag/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.2495, -0.7922, 0.4817, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/aboag/lod_0_w1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 3.2495, 0.7922, 0.4817, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/aboag/lod_0_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.2054, 0, 0.4915, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/aboag/lod_0_window.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/aboag/lod_0_windows_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(.8,.8,.8),transf.degToRad( 0, 0, 0), vec3.new( 3.8095, -0.7212, 0.9598)),
type = "MESH",
},{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(.8,.8,.8),transf.degToRad( 0, 0, 0), vec3.new( 3.8095, 0.7252, 0.9598)),
type = "MESH",
},{
id = "vehicle/bus/aboag/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1100,
},
},
metadata = {
description = {
name = _("Daimler top-seater"),
description = _("An early top-seater bus, used by ABOAG, a public transportation company in Berlin, Germany.")
},
roadVehicle = {
topSpeed = 35,
weight = 5,
power = 45,
tractiveEffort = 8,
configs = {
{
axles = { "vehicle/bus/aboag/lod_0_w2.msh" },
wheels = { "vehicle/bus/aboag/lod_0_w1.msh" },
fakeBogies = { { group = 0, position = 0, offset = 0 } }
}
},
soundSet = "bus_old"
},
transportVehicle = {
carrier = "ROAD",
capacities = {
{ type = "PASSENGERS", capacity = 42 }
},
loadSpeed = 1.5,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.6, -0.3, 0.9)), crew = true},
--passangers
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.1, -0.4, 0.9))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.1, 0.5, 0.9))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.1, 0.6, 0.9))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.1, -0.4, 0.9))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.8, 0.6, 0.9))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.8, -0.4, 0.9))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.3, 0.6, 0.9))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.3, -0.4, 0.9))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.4, 0.6, 0.9))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.4, -0.4, 0.9))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-2.0, -0.7, 3))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1.2, -0.7, 3))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-0.6, -0.7, 3))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.2, -0.7, 3))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(1.2, -0.7, 3))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1.2, 0.7, 3))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.1, 0.7, 3))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-.8, 0.7, 3))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-1.8, 0.7, 3))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-2.8, 0.7, 3))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-3.4, 0.7, 3))},
}
},
availability = {
yearFrom = 1922,
yearTo = 1972
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
}
},
}
end

View File

@ -0,0 +1,212 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
5.0855407714844, 1.1831549406052, 2.697762966156,
},
bbMin = {
-4.6582179069519, -1.1831549406052, 4.1007995605469e-005,
},
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/bus/benz_o6600/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/benz_o6600/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.1327, -1.0479, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/benz_o6600/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.9605, -1.0734, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/benz_o6600/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.692, -0.9614, 0.5156, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/benz_o6600/lod_0_w1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 3.692, 0.9614, 0.5156, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/benz_o6600/lod_0_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6567, 0, 0.5156, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/benz_o6600/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.15,1.15),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 4.5, 0.82, 1.044)),
type = "MESH",
},{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.15,1.15),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 4.5, -0.82, 1.044)),
type = "MESH",
}, {
id = "vehicle/bus/benz_o6600/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
close_all_doors = {
[2] = {
forward = false,
name = "opend1",
},
[3] = {
forward = false,
name = "opend2",
},
},
open_all_doors = {
[2] = {
forward = true,
name = "opend1",
},
[3] = {
forward = true,
name = "opend2",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 950,
},
},
metadata = {
description = {
name = _("Mercedes-Benz O 6600"),
description = _("This city-omnibus, built by Mercedes-Benz, cost 52'785 D-mark at that time.")
},
roadVehicle = {
topSpeed = 65,
weight = 9,
power = 107,
tractiveEffort = 12,
configs = {
--[[{
axles = { "vehicle/bus/benz_o6600/benz_o6600_lod_2_w2.msh" },
wheels = { "vehicle/bus/benz_o6600/benz_o6600_lod_2_w1.msh" },
fakeBogies = { { group = 0, position = 0, offset = 0 } }
},
{
axles = { "vehicle/bus/benz_o6600/benz_o6600_lod_1_w2.msh" },
wheels = { "vehicle/bus/benz_o6600/benz_o6600_lod_1_w1.msh" },
fakeBogies = { { group = 0, position = 0, offset = 0 } }
},]]--
{
axles = { "vehicle/bus/benz_o6600/lod_0_w2.msh" },
wheels = { "vehicle/bus/benz_o6600/lod_0_w1.msh" },
fakeBogies = { { group = 0, position = 0, offset = 0 } }
}
},
soundSet = "bus_old"
},
transportVehicle = {
carrier = "ROAD",
capacities = {
{ type = "PASSENGERS", capacity = 60 }
},
loadSpeed = 2,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.3, 0.3, 0.6)),crew = true},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.3, 0.3, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.3, 0.67, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.5, 0.3, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.5, 0.67, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.3, 0.3, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.3, 0.67, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.1, 0.3, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.1, 0.67, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.9, 0.3, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.9, 0.67, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.7, 0.3, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.7, 0.67, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.38, 0.3, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.38, 0.67, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.18, 0.3, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.18, 0.67, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.3, -0.4, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.3, -0.8, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.5, -0.4, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.5, -0.8, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.3, -0.4, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.3, -0.8, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.1, -0.4, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.1, -0.8, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.9, -0.4, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.9, -0.8, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.7, -0.4, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.7, -0.8, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.38, -0.4, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.38, -0.8, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.18, -0.4, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.18, -0.8, 0.7))},
}
},
availability = {
yearFrom = 1954,
yearTo = 1976
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
}
},
}
end

View File

@ -0,0 +1,227 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
8.9517908096313, 1.4530000686646, 2.7877559661865,
},
bbMin = {
-7.8876490592957, -1.4271960258484, -0.0089289844036102,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/bus/berkhof_duvedec_lod_0_back.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.6209001541138, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/bus/berkhof_duvedec_lod_0_front.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.1243999004364, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
close_all_doors = {
{
forward = false,
name = "open_all_doors",
}, {
forward = false,
name = "open_all_doors",
},
},
open_all_doors = {
{
forward = true,
name = "open_all_doors",
}, {
forward = true,
name = "open_all_doors",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1330,
},
},
metadata = {
availability = {
yearFrom = 3000,
yearTo = 3000,
},
cost = {
price = -1,
},
description = {
name = _("Berkhof Duvedec"),
description = _("Berkhof Duvedec received many good reviews of car owners for their consumer qualities."),
},
maintenance = {
lifespan = 35,
runningCosts = -1,
},
roadVehicle = {
configs = {
{
axles = {
"vehicle/bus/berkhof_duvedec/lod_0_w2.msh",
"vehicle/bus/berkhof_duvedec/lod_0_w3.msh",
},
fakeBogies = {
{
group = 1,
offset = 0,
position = -1.25,
},
{
group = 11,
offset = 0,
position = 3.88,
},
{
group = 11,
offset = 0,
position = -1.25,
},
},
wheels = {
"vehicle/bus/berkhof_duvedec/lod_0_w1.msh",
},
},
},
power = 180,
soundSet = {
horn = "vehicle/truck_modern/horn.wav",
name = "bus_modern",
},
topSpeed = 90,
tractiveEffort = 30,
weight = 15,
},
transportVehicle = {
capacities = {
{
capacity = 100,
type = "PASSENGERS",
},
},
carrier = "ROAD",
loadSpeed = 5,
multipleUnitOnly = false,
seats = {
-- front
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.9 -3.1, 0.6, 0.6)), crew = true },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.8 -3.1, -0.8, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.8 - 3.1, 0.7, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5.15 - 3.1, -0.7, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5.15 - 3.1, -0.15, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5.15 - 3.1, 0.8, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.9 - 3.1, -0.8, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.9 - 3.1, -0.3, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.9 - 3.1, 0.7, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.1 - 3.1, -0.8, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.1 - 3.1, -0.3, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.1 - 3.1, 0.7, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.3 - 3.1, 0.7, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.0 - 3.1, -0.8, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.0 - 3.1, -0.3, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.0 - 3.1, 0.7, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.35 - 3.1, -0.7, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.35 - 3.1, -0.15, 0.6)) },
{ group = 11, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.35 - 3.1, 0.8, 0.6)) },
-- back
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.3, -0.8, 0.6)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.3, -0.3, 0.6)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.3, 0.7, 0.6)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.2, 0.7, 0.6)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.9, -0.8, 0.6)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.9, -0.3, 0.6)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.9, 0.7, 0.6)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, -0.8, 0.9)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, -0.3, 0.9)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, 0.7, 0.9)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.7, -0.8, 0.9)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.7, -0.3, 0.9)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.7, 0.2, 0.9)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.7, 0.7, 0.9)) },
},
},
},
}
end

View File

@ -0,0 +1,339 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
2.3890039920807, 0.93712097406387, 2.6325719356537,
},
bbMin = {
-3.0820770263672, -0.93712097406387, -0.43434798717499,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/bus/et13/lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/et13/lod_2_body_window.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/et13/lod_2_door.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.4272, -0.747, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/et13/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.61, 0, 0.4418, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/et13/lod_2_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.8108, -0.6154, 0.4418, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/et13/lod_2_w2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1.8108, 0.6154, 0.4418, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
},
close_all_doors = {
},
},
matConfigs = {
{
0, 0, 0,
0, 0, 0,
},
},
static = false,
visibleFrom = 200,
visibleTo = 750,
}, {
animations = {
},
children = {
{
id = "vehicle/bus/et13/lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/et13/lod_1_body_window.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/et13/lod_1_door.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.4272, -0.747, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/et13/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.61, 0, 0.4418, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/et13/lod_1_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.8108, -0.6154, 0.4418, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/et13/lod_1_w2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1.8108, 0.6154, 0.4418, 1,
},
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(.99,.99,.99),transf.degToRad( 0, 0, 0), vec3.new( 2.2286, -0.428, 0.8525)),
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(.99,.99,.99),transf.degToRad( 0, 0, 0), vec3.new( 2.2286, 0.428, 0.8525)),
type = "MESH",
},
},
events = {
open_all_doors = {
[3] = {
forward = true,
name = "opend",
},
},
close_all_doors = {
[3] = {
forward = false,
name = "opend",
},
},
},
matConfigs = {
{
0, 0, 0,
0, 0, 0,
0, 0, 0,
},
},
static = false,
visibleFrom = 50,
visibleTo = 200,
}, {
animations = {
},
children = {
{
id = "vehicle/bus/et13/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/et13/lod_0_body_window.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/et13/lod_0_door.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.4272, -0.747, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/et13/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.61, 0, 0.4418, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/et13/lod_0_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.8108, -0.6154, 0.4418, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/et13/lod_0_w2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1.8108, 0.6154, 0.4418, 1,
},
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(.99,.99,.99),transf.degToRad( 0, 0, 0), vec3.new( 2.2286, -0.428, 0.8525)),
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(.99,.99,.99),transf.degToRad( 0, 0, 0), vec3.new( 2.2286, 0.428, 0.8525)),
type = "MESH",
},{
id = "vehicle/bus/et13/lod_0_logo_body_window.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[3] = {
forward = true,
name = "opend",
},
},
close_all_doors = {
[3] = {
forward = false,
name = "opend",
},
},
},
matConfigs = {
{
0, 0, 0,
0, 0, 0,
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 50,
},
},
metadata = {
description = {
name = _("Postbus ET 13"),
description = _("The ET 13 was a commonly used motor-driven bus, built in Austria.")
},
roadVehicle = {
topSpeed = 25,
weight = 4,
power = 20,
tractiveEffort = 6,
configs = {
{
wheels = {
"vehicle/bus/et13/lod_2_w2.msh",
},
axles = {
"vehicle/bus/et13/lod_2_w1.msh"
},
fakeBogies = { { group = 0, position = 0.0, offset = 0.0 } }
},{
wheels = {
"vehicle/bus/et13/lod_1_w2.msh",
},
axles = {
"vehicle/bus/et13/lod_1_w1.msh"
},
fakeBogies = { { group = 0, position = 0.0, offset = 0.0 } }
},{
wheels = {
"vehicle/bus/et13/lod_0_w2.msh",
},
axles = {
"vehicle/bus/et13/lod_0_w1.msh"
},
fakeBogies = { { group = 0, position = 0.0, offset = 0.0 } }
}
},
soundSet = "bus_old"
},
transportVehicle = {
carrier = "ROAD",
capacities = {
{ type = "PASSENGERS", capacity = 32 }
},
loadSpeed = 1.5,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.24, 0.28, 0.7)), crew = true},
--passangers
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.6, 0.34, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.6, -0.2, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.25, 0.34, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.25, -0.2, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.94, 0.34, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.94, -0.2, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.68, 0.34, 0.7))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.68, -0.2, 0.7))},
}
},
availability = {
yearFrom = 1905,
yearTo = 1956
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
}
},
}
end

View File

@ -0,0 +1,459 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/bus/landauer/lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_2_d1.msh",
transf = transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0)),
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_2_window_d1.msh",
transf = transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0)),
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_2_d1.msh",
transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0))),
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_2_window_d1.msh",
transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0))),
type = "MESH",
},
{
id = "vehicle/bus/landauer/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.2801, -0.6554, 0.4874, 1,
},
type = "MESH",
},{
id = "vehicle/bus/landauer/lod_2_w1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1.2801, 0.6554, 0.4874, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_2_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.8978, 0, 0.6165, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_2_window.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
close_all_doors = {
},
open_all_doors = {
},
},
matConfigs = {
{
0, 0, 0, 0,
0, 0, 0, 0,
0,
},
},
static = false,
visibleFrom = 200,
visibleTo = 700,
},{
animations = {
},
children = {
{
id = "vehicle/bus/landauer/lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_1_d1.msh",
transf = transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0)),
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_1_window_d1.msh",
transf = transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0)),
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_1_d1.msh",
transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0))),
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_1_window_d1.msh",
transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0))),
type = "MESH",
},
{
id = "vehicle/bus/landauer/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.2801, -0.6554, 0.4874, 1,
},
type = "MESH",
},{
id = "vehicle/bus/landauer/lod_1_w1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1.2801, 0.6554, 0.4874, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_1_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.8978, 0, 0.6165, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_1_window.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1,.7,.7),transf.degToRad( 0, 0, 0), vec3.new( 1.935, 0, 1.162)),
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1,.7,.7),transf.degToRad( 0, 0, 0), vec3.new( 0.855, 0.7321, 2.095)),
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1,.7,.7),transf.degToRad( 0, 0, 0), vec3.new( 0.855, -0.7321, 2.095)),
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
close_all_doors = {
[2] = {
forward = false,
name = "opend1",
},
[3] = {
forward = false,
name = "opend1",
}, [4] = {
forward = false,
name = "opend1",
},
[5] = {
forward = false,
name = "opend1",
},
},
open_all_doors = {
[2] = {
forward = true,
name = "opend1",
},
[3] = {
forward = true,
name = "opend1",
}, [4] = {
forward = true,
name = "opend1",
},
[5] = {
forward = true,
name = "opend1",
},
},
},
matConfigs = {
{
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0,
},
},
static = false,
visibleFrom = 40,
visibleTo = 200,
}, {
animations = {
},
children = {
{
id = "vehicle/bus/landauer/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_0_d1.msh",
transf = transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0)),
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_0_window_d1.msh",
transf = transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0)),
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_0_window_interior_d1.msh",
transf = transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0)),
type = "MESH",
},{
id = "vehicle/bus/landauer/lod_0_d1.msh",
transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0))),
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_0_window_d1.msh",
transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0))),
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_0_window_interior_d1.msh",
transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0))),
type = "MESH",
},
{
id = "vehicle/bus/landauer/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.2801, -0.6554, 0.4874, 1,
},
type = "MESH",
},{
id = "vehicle/bus/landauer/lod_0_w1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1.2801, 0.6554, 0.4874, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_0_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.8978, 0, 0.6165, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_0_window.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_0_window_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1,.7,.7),transf.degToRad( 0, 0, 0), vec3.new( 1.935, 0, 1.162)),
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1,.7,.7),transf.degToRad( 0, 0, 0), vec3.new( 0.855, 0.7321, 2.095)),
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1,.7,.7),transf.degToRad( 0, 0, 0), vec3.new( 0.855, -0.7321, 2.095)),
type = "MESH",
}, {
id = "vehicle/bus/landauer/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
close_all_doors = {
[2] = {
forward = false,
name = "opend1",
},
[3] = {
forward = false,
name = "opend1",
}, [4] = {
forward = false,
name = "opend1",
},
[5] = {
forward = false,
name = "opend1",
}, [6] = {
forward = false,
name = "opend1",
},
[7] = {
forward = false,
name = "opend1",
},
},
open_all_doors = {
[2] = {
forward = true,
name = "opend1",
},
[3] = {
forward = true,
name = "opend1",
}, [4] = {
forward = true,
name = "opend1",
},
[5] = {
forward = true,
name = "opend1",
}, [6] = {
forward = true,
name = "opend1",
},
[7] = {
forward = true,
name = "opend1",
},
},
},
matConfigs = {
{
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 40,
},
},
metadata = {
description = {
name = _("Landauer"),
description = _("The Landauer was basically a motor-driven carriage, built by the Benz company. As the first bus of the world, it was in use on the line Siegen-Nephten-Deuz.")
},
roadVehicle = {
topSpeed = 20,
weight = 2,
power = 10,
tractiveEffort = 8,
configs = {
{
axles = { "vehicle/bus/landauer/lod_2_w2.msh",},
wheels = {"vehicle/bus/landauer/lod_2_w1.msh" },
fakeBogies = {
{ group = 0, position = 0.0, offset = 0.0 },
}
},{
axles = { "vehicle/bus/landauer/lod_1_w2.msh",},
wheels = {"vehicle/bus/landauer/lod_1_w1.msh" },
fakeBogies = {
{ group = 0, position = 0.0, offset = 0.0 },
}
},{
axles = { "vehicle/bus/landauer/lod_0_w2.msh",},
wheels = {"vehicle/bus/landauer/lod_0_w1.msh" },
fakeBogies = {
{ group = 0, position = 0.0, offset = 0.0 },
}
}
},
soundSet = "bus_old"
},
transportVehicle = {
carrier = "ROAD",
capacities = {
{ type = "PASSENGERS", capacity = 24 }
},
loadSpeed = 1,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.84, 0.21, 0.93)), crew = true},
--passangers
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.59, -0.30, 0.83))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.59, 0.30, 0.83))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.6, 0.30, 0.83))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.6, -0.30, 0.83))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.84, -0.35, 0.93))},
}
},
availability = {
yearFrom = 1891,
yearTo = 1942
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
}
},
}
end

View File

@ -0,0 +1,519 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
5.2589540481567, 1.2951840162277, 2.7318749427795,
},
bbMin = {
-5.056736946106, -1.2951840162277, -0.4757179915905,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/bus/man_sl_192/lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_2_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.7532, -1.1135, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_2_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.5112, -1.1135, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_2_d3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.4827, -1.1135, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_2_d4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.7247, -1.1135, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.7542, -0.9308, 0.4703, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_2_w1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2.7542, 0.9308, 0.4703, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_2_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.3694, 0, 0.4703, 1,
},
type = "MESH",
},
},
events = {
close_all_doors = {
[2] = {
forward = false,
name = "opend1",
},
[3] = {
forward = false,
name = "opend2",
},
[4] = {
forward = false,
name = "opend3",
},
[5] = {
forward = false,
name = "opend4",
},
},
open_all_doors = {
[2] = {
forward = true,
name = "opend1",
},
[3] = {
forward = true,
name = "opend2",
},
[4] = {
forward = true,
name = "opend3",
},
[5] = {
forward = true,
name = "opend4",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 220,
visibleTo = 990,
},
{
animations = {
},
children = {
{
id = "vehicle/bus/man_sl_192/lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_1_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.7532, -1.1135, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_1_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.5112, -1.1135, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_1_d3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.4827, -1.1135, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_1_d4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.7247, -1.1135, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.7542, -0.9308, 0.4703, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_1_w1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2.7542, 0.9308, 0.4703, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_1_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.3694, 0, 0.4703, 1,
},
type = "MESH",
},
},
events = {
close_all_doors = {
[2] = {
forward = false,
name = "opend1",
},
[3] = {
forward = false,
name = "opend2",
},
[4] = {
forward = false,
name = "opend3",
},
[5] = {
forward = false,
name = "opend4",
},
},
open_all_doors = {
[2] = {
forward = true,
name = "opend1",
},
[3] = {
forward = true,
name = "opend2",
},
[4] = {
forward = true,
name = "opend3",
},
[5] = {
forward = true,
name = "opend4",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 120,
visibleTo = 220,
},
{
animations = {
},
children = {
{
id = "vehicle/bus/man_sl_192/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.7532, -1.1135, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.5112, -1.1135, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_0_d3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.4827, -1.1135, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_0_d4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.7247, -1.1135, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.7542, -0.9308, 0.4703, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_0_w1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2.7542, 0.9308, 0.4703, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/man_sl_192/lod_0_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.3694, 0, 0.4703, 1,
},
type = "MESH",
},
-- Interior ------------------------
{
id = "vehicle/bus/man_sl_192/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
-- ------------------------
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.8,0.8),transf.degToRad( -7.0, 0.0, 0.0), vec3.new( 4.968, -0.897, 0.77)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.8,0.8),transf.degToRad( 7.0, 0.0, 0.0), vec3.new( 4.965, 0.92, 0.77)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_red.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.4,0.4),transf.degToRad( 180.0, 0.0, 0.0), vec3.new( -5.057, 0.871, 1.066)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_red.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.4,0.4),transf.degToRad( 180.0, 0.0, 0.0), vec3.new( -5.057, -0.903, 1.066)),
type = "MESH",
},{
id = "vehicle/bus/man_sl_192/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
close_all_doors = {
[2] = {
forward = false,
name = "opend1",
},
[3] = {
forward = false,
name = "opend2",
},
[4] = {
forward = false,
name = "opend3",
},
[5] = {
forward = false,
name = "opend4",
},
},
open_all_doors = {
[2] = {
forward = true,
name = "opend1",
},
[3] = {
forward = true,
name = "opend2",
},
[4] = {
forward = true,
name = "opend3",
},
[5] = {
forward = true,
name = "opend4",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 120,
},
},
metadata = {
description = {
name = _("MAN SL 192"),
description = _("Standard public transport bus, built in big numbers.")
},
roadVehicle = {
topSpeed = 80,
weight = 16,
power = 141,
tractiveEffort = 20,
configs = {
{
axles = { "vehicle/bus/man_sl_192/lod_2_w2.msh" },
wheels = { "vehicle/bus/man_sl_192/lod_2_w1.msh" },
fakeBogies = { { group = 0, position = 0, offset = 0 } }
},
{
axles = { "vehicle/bus/man_sl_192/lod_1_w2.msh" },
wheels = { "vehicle/bus/man_sl_192/lod_1_w1.msh" },
fakeBogies = { { group = 0, position = 0, offset = 0 } }
},
{
axles = { "vehicle/bus/man_sl_192/lod_0_w2.msh" },
wheels = { "vehicle/bus/man_sl_192/lod_0_w1.msh" },
fakeBogies = { { group = 0, position = 0, offset = 0 } }
}
},
soundSet = { name = "bus_modern", horn = "vehicle/truck_modern/horn.wav" }
},
transportVehicle = {
carrier = "ROAD",
capacities = {
{
type = "PASSENGERS",
capacity = 64,
}
},
loadSpeed = 3,
seats = {
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.9, 0.5, 0.4)), crew = true },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.0268, -0.8, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.0268, 0.3654, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.0268, 0.7, 0.6)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.4554, -0.7, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.4554, -0.4124, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.4554, 0.3654, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.4554, 0.7, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.4537, -0.8, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.4537, -0.4124, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.4537, 0.3654, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.4537, 0.7, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.6672, -0.8, 0.5)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.6672, -0.4124, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.6672, 0.3654, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.6672, 0.7, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.1193, -0.8, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.1193, -0.4124, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.1193, 0.3654, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.1193, 0.7, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2618, -0.7, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2618, -0.4124, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2618, 0.3654, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2618, 0.7, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2634, -0.8, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2634, -0.4124, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2634, 0.3654, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2634, 0.7, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.05, -0.8, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.05, -0.4124, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.05, 0.3654, 0.65)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.05, 0.7, 0.65)) },
}
},
availability = {
yearFrom = 1970,
yearTo = 1976
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 35
}
},
}
end

View File

@ -0,0 +1,177 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
2.3695209026337, 0.95464998483658, 3.2160630226135,
},
bbMin = {
-2.5171689987183, -0.95464998483658, -0.61202698945999,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/bus/obeissante/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.1119, -0.6138, -0.0016, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/obeissante/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.1119, 0.6138, -0.0016, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/obeissante/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.9372, 0, 0.6105, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/obeissante_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.3979, 0, -0.0016, 1,
},
type = "GROUP",
}, {
id = "vehicle/bus/obeissante/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, -0.0016, 1,
},
type = "MESH",
},{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(.9,.9,.9),transf.degToRad( 0, 0, 0), vec3.new( 2.3556, 0, 1.705)),
type = "MESH",
}, {
id = "vehicle/bus/obeissante/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, -0.0016, 1,
},
type = "MESH",
},
},
events = {
close_all_ds = {
[1] = {
forward = false,
name = "opend1",
},
[2] = {
forward = false,
name = "opend2",
},
},
open_all_ds = {
[1] = {
forward = true,
name = "opend1",
},
[2] = {
forward = true,
name = "opend2",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 820,
},
},
metadata = {
description = {
name = _("L'Obéissante"),
description = _("Built by the French Amédée Bollée, this steam omnibus was able to run bigger distances, e.g. from Le Mans to Paris.")
},
roadVehicle = {
topSpeed = 17,
weight = 2,
power = 4,
tractiveEffort = 5,
configs = {
{
axles = { "vehicle/bus/obeissante/lod_0_w1.msh",
"vehicle/bus/obeissante/lod_0_w2.msh",},
fakeBogies = { }
}
},
soundSet = "bus_horse"
},
transportVehicle = {
carrier = "ROAD",
capacities = {
{ type = "PASSENGERS", capacity = 20 }
},
loadSpeed = 1,
seats = {
{ group =7, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.25, -0.07, 1.1)), crew = true},
--passangers
{ group =7, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-0.6, 0.6, 1.2))},
{ group =7, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0, 0.6, 1.2))},
{ group =7, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.6, 0.6, 1.2))},
{ group =7, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-0.6, -0.6, 1.2))},
{ group =7, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0, -0.6, 1.2))},
{ group =7, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.6, -0.6, 1.2))},
}
},
availability = {
yearFrom = 1870, -- 1873
yearTo = 1924
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
},
particleSystem = {
emitters = {
{
position = { -1.4836, .0, 3.2145},
velocity = { .0, .0, 7.0 },
color = { .3, .3, .3 },
frequency = 60,
lifeTime = 10.0,
size01 = { .7, 8.0 },
child = 2
},
}
}
},
}
end

View File

@ -0,0 +1,200 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
lods = {
{
animations = {
},
children = {
{
id = "vehicle/bus/postkutsche/lod_2_postkutsche1850.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/bus/postkutsche/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.4179, 0, 0.7049, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/postkutsche_lod_2_guide.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.1243, 0, 0.4429, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 180,
visibleTo = 900,
}, {
animations = {
},
children = {
{
id = "vehicle/bus/postkutsche_lod_1_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/bus/postkutsche_lod_1_horses.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.7147, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
[2] = {
forward = true,
name = "drive",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 80,
visibleTo = 180,
}, {
animations = {
},
children = {
{
id = "vehicle/bus/postkutsche_lod_0_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/bus/postkutsche_lod_0_horses.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.7147, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
[2] = {
forward = true,
name = "drive",
},
},
open_all_doors = {
[1] = {
forward = true,
name = "open_all_doors",
},
},
close_all_doors = {
[1] = {
forward = false,
name = "open_all_doors",
},
},
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 80,
},
},
metadata = {
description = {
name = _("Stage coach"),
description = _("A common stage coach used for public transportation in the early years.")
},
roadVehicle = {
topSpeed = 15,
weight = 1,
power = 2,
tractiveEffort = 2,
configs = {
{
},
{
axles = { "vehicle/bus/postkutsche/lod_1_w1.msh",
"vehicle/bus/postkutsche/lod_1_w2.msh", },
fakeBogies = { { group = 7, position = 3.7147, offset = 0.0 } }
},
{
axles = { "vehicle/bus/postkutsche/lod_0_w1.msh",
"vehicle/bus/postkutsche/lod_0_w2.msh", },
fakeBogies = { { group = 11, position = 3.7147, offset = 0.0 } }
}
},
soundSet = "bus_horse"
},
transportVehicle = {
carrier = "ROAD",
capacities = {
{ type = "PASSENGERS", capacity = 16 }
},
loadSpeed = 1,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.41, 0, 2.05)), crew = true},
--passangers
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.7, -0.4, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.7, 0.2, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.2, -0.5, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.2, 0.4, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.2, -0.1, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.3, -0.3, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.3, 0.4, 0.8))},
}
},
availability = {
yearFrom = 1850,
yearTo = 1907
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 15
}
},
}
end

View File

@ -0,0 +1,211 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
3.4786009788513, 1.1098109483719, 2.7634139060974,
},
bbMin = {
-3.4596209526062, -1.1098109483719, -0.48116800189018,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/bus/saurer_tuescher/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/saurer_tuescher/lod_0_door1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.1073, -1.009, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/saurer_tuescher/lod_0_door2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.2898, -1.0365, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/saurer_tuescher/lod_0_door3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.7208, -1.0356, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/saurer_tuescher/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.4478, 0, 0.4891, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/saurer_tuescher/lod_0_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.7139, -0.812, 0.4887, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/saurer_tuescher/lod_0_w2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2.7139, 0.812, 0.4887, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/saurer_tuescher/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.4,1.4,1.4),transf.degToRad( 0, 0, 0), vec3.new( 3.3085, 0.8115, 1.0411)),
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.4,1.4,1.4),transf.degToRad( 0, 0, 0), vec3.new( 3.3085, -0.8115, 1.0411)),
type = "MESH",
},{
id = "vehicle/asset/lod_0_light_round_red.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(.85,.85,.85),transf.degToRad( 182, 5.8788, 0), vec3.new( -3.4454, -0.6592, 0.8425)),
type = "MESH",
},{
id = "vehicle/asset/lod_0_light_round_red.msh",
--manual lights
transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(.85,.85,.85),transf.degToRad( 182, 5.8788, 0), vec3.new( -3.4454, -0.6732, 0.8425))),
type = "MESH",
},{
id = "vehicle/bus/saurer_tuescher/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
close_all_doors = {
[2] = {
forward = false,
name = "opend1",
},
[3] = {
forward = false,
name = "opend2",
},
[4] = {
forward = false,
name = "opend3",
},
},
open_all_doors = {
[2] = {
forward = true,
name = "opend1",
},
[3] = {
forward = true,
name = "opend2",
},
[4] = {
forward = true,
name = "opend3",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 830,
},
},
metadata = {
description = {
name = _("Saurer Tüscher"),
description = _("An urban public-transit bus, based on a Saurer carriage and a Tüscher car body.")
},
roadVehicle = {
topSpeed = 50,
weight = 8,
power = 80,
tractiveEffort = 10,
configs = {
{
axles = { "vehicle/bus/saurer_tuescher/lod_0_w1.msh" },
wheels = { "vehicle/bus/saurer_tuescher/lod_0_w2.msh" },
fakeBogies = { { group = 0, position = 0, offset = 0 } }
}
},
soundSet = "bus_old"
},
transportVehicle = {
carrier = "ROAD",
capacities = {
{ type = "PASSENGERS", capacity = 52 }
},
loadSpeed = 2,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.14, -0.06, 0.8)), crew = true},
--passangers
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.8, 0.67, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.8, 0.21, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0, -0.6, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0, 0.4, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, 0.67, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, 0.21, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, -0.6, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.8, 0.67, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.8, 0.21, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.8, -0.6, 0.8))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.9, 0.8, 0.8))},
}
},
availability = {
yearFrom = 1939,
yearTo = 1976
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
}
},
}
end

View File

@ -0,0 +1,479 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
6.480800151825, 1.7743511199951, 2.7697329521179,
},
bbMin = {
-5.5385432243347, -1.3530210256577, 4.3004751205444e-005,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/bus/volvo_5000/lod_2_volvo5000.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_2_door1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.3426, -1.1448, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_2_door2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.8837, -1.1448, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_2_door3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.8825, -1.1447, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_2_door4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.0572, -1.1475, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.4992, 0, 0.4804, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_2_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.9743, -1.008, 0.4804, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_2_w2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2.9743, 1.008, 0.4804, 1,
},
type = "MESH",
},
},
events = {
close_all_doors = {
[2] = {
forward = false,
name = "opend1",
},
[3] = {
forward = false,
name = "opend2",
},
[4] = {
forward = false,
name = "opend1",
},
[5] = {
forward = false,
name = "opend4",
},
},
open_all_doors = {
[2] = {
forward = true,
name = "opend1",
},
[3] = {
forward = true,
name = "opend2",
},
[4] = {
forward = true,
name = "opend1",
},
[5] = {
forward = true,
name = "opend4",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 250,
visibleTo = 1140,
},
{
animations = {
},
children = {
{
id = "vehicle/bus/volvo_5000/lod_1_volvo5000.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_1_door1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.3426, -1.1448, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_1_door2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.8837, -1.1448, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_1_door3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.8825, -1.1447, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_1_door4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.0572, -1.1475, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.4992, 0, 0.4804, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_1_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.9743, -1.008, 0.4804, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_1_w2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2.9743, 1.008, 0.4804, 1,
},
type = "MESH",
},
},
events = {
close_all_doors = {
[2] = {
forward = false,
name = "opend1",
},
[3] = {
forward = false,
name = "opend2",
},
[4] = {
forward = false,
name = "opend1",
},
[5] = {
forward = false,
name = "opend4",
},
},
open_all_doors = {
[2] = {
forward = true,
name = "opend1",
},
[3] = {
forward = true,
name = "opend2",
},
[4] = {
forward = true,
name = "opend1",
},
[5] = {
forward = true,
name = "opend4",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 120,
visibleTo = 250,
},
{
animations = {
},
children = {
{
id = "vehicle/bus/volvo_5000/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.3426, -1.1448, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.8837, -1.1448, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_0_d3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.8825, -1.1447, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_0_d4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.0572, -1.1475, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.4992, 0, 0.4804, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_0_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.9743, -1.008, 0.4804, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_0_w2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2.9743, 1.008, 0.4804, 1,
},
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_square_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.9,0.5),transf.degToRad( -2.0, 0.0, 0.0), vec3.new( 5.45, -0.84, 0.675)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_square_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.9,0.5),transf.degToRad( 2.0, 0.0, 0.0), vec3.new( 5.45, 0.84, 0.675)),
type = "MESH",
}, {
id = "vehicle/bus/volvo_5000/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
close_all_doors = {
[2] = {
forward = false,
name = "opend1",
},
[3] = {
forward = false,
name = "opend2",
},
[4] = {
forward = false,
name = "opend3",
},
[5] = {
forward = false,
name = "opend4",
},
},
open_all_doors = {
[2] = {
forward = true,
name = "opend1",
},
[3] = {
forward = true,
name = "opend2",
},
[4] = {
forward = true,
name = "opend3",
},
[5] = {
forward = true,
name = "opend4",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0,0, 0, 0,0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 120,
},
},
metadata = {
description = {
name = _("Volvo 5000"),
description = _("This bus is a rear-engine, low-floor single-deck city bus with a chassis built by Volvo and bodywork by Säffle.")
},
roadVehicle = {
topSpeed = 100,
weight = 10,
power = 120,
tractiveEffort = 15,
configs = {
{
axles = { "vehicle/bus/volvo_5000/lod_2_w1.msh" },
wheels = { "vehicle/bus/volvo_5000/lod_2_w2.msh" },
fakeBogies = { { group = 0, position = 0, offset = 0 } }
},
{
axles = { "vehicle/bus/volvo_5000/lod_1_w1.msh" },
wheels = { "vehicle/bus/volvo_5000/lod_1_w2.msh" },
fakeBogies = { { group = 0, position = 0, offset = 0 } }
},
{
axles = { "vehicle/bus/volvo_5000/lod_0_w1.msh" },
wheels = { "vehicle/bus/volvo_5000/lod_0_w2.msh" },
fakeBogies = { { group = 0, position = 0, offset = 0 } }
}
},
soundSet = { name = "bus_modern", horn = "vehicle/truck_modern/horn.wav" }
},
transportVehicle = {
carrier = "ROAD",
capacities = {
{ type = "PASSENGERS", capacity = 72 }
},
loadSpeed = 3,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.55, 0.55, 0.3)), crew = true},
--passangers
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.35, 0.67, 0.6))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.35, 0.2, 0.6))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(3.35, -0.9, 0.6))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.4, 0.87, 0.4))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.4, 0.4, 0.4))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.4, -0.7, 0.4))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.25, -0.98, 0.4))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.25, -0.5, 0.4))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(1.25, 0.27, 0.4))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(1.25, 0.75, 0.4))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-1.18, -0.98, 0.4))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-1.18, -0.5, 0.4))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(-1.18, 0.27, 0.4))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(-1.18, 0.75, 0.4))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-2, -0.98, 0.6))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-2, -0.5, 0.6))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(-2, 0.27, 0.6))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(-2, 0.75, 0.6))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-2.9, -0.76, 0.6))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-2.9, -0.25, 0.6))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(190.0, 0.0, 0.0), vec3.new(-2.9, 0.5, 0.6))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(190.0, 0.0, 0.0), vec3.new(-2.9, 0.9, 0.6))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-4, -0.98, 0.6))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-4, -0.5, 0.6))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(-4, 0.27, 0.6))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(-4, 0.75, 0.6))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-5, -0.92, 0.74))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-5, -0.4, 0.74))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(-5, 0.2, 0.74))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(-5, 0.7, 0.74))},
}
},
availability = {
yearFrom = 2003,
yearTo = 2005
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 35
}
},
}
end

View File

@ -0,0 +1,530 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
16.216171264648, 17.050912857056, 11.61053943634,
},
bbMin = {
-21.30428314209, -17.050912857056, -0.13521492481232,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
-- body
{
id = "vehicle/plane/airbus_a320/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_body_mat2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 11.6641, 0, 0+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -12.8088, 0, 0+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 11.6641, 0, 0+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -12.8088, 0, 0+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_rotor1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.009, 5.698, -1.4578+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_rotor1.msh",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 4.009, -5.698, -1.4578+3, 1,
},
type = "MESH",
},
-- front wheel
{
id = "vehicle/plane/airbus_a320_lod_0_front_wheel.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 11.5026, 0, -0.3497+3, 1,
},
type = "GROUP",
},{
id = "vehicle/plane/airbus_a320/lod_0_flap_front_left1.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,177.5,84), vec3.new(13.001, 0.4034, -1.0873+3)),
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_flap_front_left2.msh",
transf = transf.rotZYXTransl(transf.degToRad(180,0,-60), vec3.new(11.6063, 0.4139, -1.1478+3)),
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_flap_front_left1.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,177.5,84), vec3.new(13.001, 0.4034, -1.0873+3))),
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_flap_front_left2.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(180,0,-60), vec3.new(11.6063, 0.4139, -1.1478+3))),
type = "MESH",
},
-- back wheels
{
id = "vehicle/plane/airbus_a320/lod_0_flap_back_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.3528, 0.1663, -1.4696+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_flap_back_left.msh",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -1.3528, -0.1663, -1.4696+3, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/airbus_a320_lod_0_back_wheel.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.3928, 3.7408, -0.2332+3, 1,
},
type = "GROUP",
},{
id = "vehicle/plane/airbus_a320_lod_0_back_wheel_strut.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.396, 1.9616, -0.437+3, 1,
},
type = "GROUP",
},
{
id = "vehicle/plane/airbus_a320_lod_0_back_wheel.grp",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -1.3928, -3.7408, -0.2332+3, 1,
},
type = "GROUP",
},{
id = "vehicle/plane/airbus_a320_lod_0_back_wheel_strut.grp",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -1.396, -1.9616, -0.437+3, 1,
},
type = "GROUP",
},
-- Aircraft rudders
{
id = "vehicle/plane/airbus_a320/lod_0_aileron_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(110.708,-6.02,89.584), vec3.new(-4.3902, 14.6651, 1.0659+3)),
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_aileron_left.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(110.708,-6.02,89.584), vec3.new(-4.3902, 14.6651, 1.0659+3))),
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_elevator_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(109.324,-10.91,87.267), vec3.new(-19.1243, 3.56, 1.7768+3)),
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_elevator_left.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(109.324,-10.91,87.267), vec3.new(-19.1243, 3.56, 1.7768+3))),
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_inboard_flap_left1.msh",
transf = transf.rotZYXTransl(transf.degToRad(108.098,-5.854,88.091), vec3.new(-2.2627, 10.1174, 0.3957+3)),
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_inboard_flap_left2.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,-7.664,90), vec3.new(-1.3397, 4.838, -0.3603+3)),
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_inboard_flap_left1.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(108.098,-5.854,88.091), vec3.new(-2.2627, 10.1174, 0.3957+3))),
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_inboard_flap_left2.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(90,-7.664,90), vec3.new(-1.3397, 4.838, -0.3603+3))),
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_rudder.msh",
transf = transf.rotZYXTransl(transf.degToRad(-180.001,-156.124,-179.992), vec3.new(-18.8526, 0, 6.3287+3)),
type = "MESH",
},
-- lights
{
id = "vehicle/plane/airbus_a320/lod_0_aft_light.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_anti_collision_strobo_bottom.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_anti_collision_strobo_top.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_navigation_light_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_navigation_light_right.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/airbus_a320/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
},
},
events = {
open_flaps = {
[25] = {
forward = true,
name = "open",
},
[27] = {
forward = true,
name = "open",
},
[26] = {
forward = true,
name = "open",
},
[28] = {
forward = true,
name = "open",
},
},
close_flaps = {
[25] = {
forward = false,
name = "open",
},
[27] = {
forward = false,
name = "open",
},
[26] = {
forward = false,
name = "open",
},
[28] = {
forward = false,
name = "open",
},
},
open_doors_left = {
[3] = {
forward = true,
name = "opend1",
},
[4] = {
forward = true,
name = "opend2",
},
},
open_doors_right = {
[5] = {
forward = true,
name = "opend1",
},
[6] = {
forward = true,
name = "opend2",
},
},
close_doors_left = {
[3] = {
forward = false,
name = "opend1",
},
[4] = {
forward = false,
name = "opend2",
},
},
close_doors_right = {
[5] = {
forward = false,
name = "opend1",
},
[6] = {
forward = false,
name = "opend2",
},
},
open_wheels = {
[10] = {
forward = true,
name = "open",
},
[11] = {
forward = true,
name = "open",
},
[12] = {
forward = true,
name = "open",
},
[13] = {
forward = true,
name = "open",
},
[14] = {
forward = true,
name = "open",
},
[15] = {
forward = true,
name = "open",
},
[16] = {
forward = true,
name = "open",
},
[17] = {
forward = true,
name = "open",
},
[18] = {
forward = true,
name = "open",
},
[19] = {
forward = true,
name = "open",
},
[20] = {
forward = true,
name = "open",
},
},
close_wheels = {
[10] = {
forward = false,
name = "open",
},
[11] = {
forward = true,
name = "close",
},
[12] = {
forward = true,
name = "close",
},
[13] = {
forward = true,
name = "close",
},
[14] = {
forward = true,
name = "close",
},
[15] = {
forward = true,
name = "close",
},
[16] = {
forward = true,
name = "close",
},
[17] = { -- backwheel_grp
forward = true,
name = "close",
},
[18] = {
forward = true,
name = "close",
},
[19] = { -- backwheel_grp
forward = true,
name = "close",
},
[20] = {
forward = true,
name = "close",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 8060,
},
},
metadata = {
airVehicle = {
weight = 44000.0,
maxPayload = 0,
maxTakeOffWeight = 78000.0,
maxThrust = 236000.0,
idleThrust = 11800.0,
timeToFullThrust = 3,
wingArea = 122.6,
topSpeed = 230.0,
configs = {
{
axles = {
"vehicle/plane/airbus_a320/lod_0_w2.msh",
},
wheels = {
"vehicle/plane/airbus_a320/lod_0_w1.msh",
},
elevator = {
ids = { 38, 39 },
maxAngle = 20
},
aileronLeft = {
ids = { 36 },
maxAngle = 30
},
aileronRight = {
ids = { 37 },
maxAngle = 30
},
flaps = { -- TODO, fixit
ids = { 40, 41, 42, 43 },
maxAngle = 35
},
rudder = {
ids = { 44 },
maxAngle = 30
}
}
}
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
description = {
name = _("Airbus A320"),
description = _("Technically, the name A320 only refers to the original mid-sized aircraft, but it is often informally used to indicate any of the A318/A319/A320/A321 family.")
},
maintenance = {
runningCosts = -1,
lifespan = 50
},
transportVehicle = {
carrier = "AIR",
capacities = {
{
type = "PASSENGERS",
capacity = 150, -- wikipedia
}
},
loadSpeed = 7,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(13.15, 0.8, 0.0)), crew = true},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(13.15, -1.05, 0.0)), crew = true},
--passangers
}
},
soundConfig = {
soundSet = { name = "aircraft_jet_modern" }
}
},
}
end

View File

@ -0,0 +1,434 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
15.126559257507, 14.180633544922, 11.674771308899,
},
bbMin = {
-14.741494178772, -14.180633544922, -0.097778141498566,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
-- Body
{
id = "vehicle/plane/boeing_737/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_737/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 10.4301, 1.5941, 0+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_737/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -7.6291, 1.4587, 0+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_737/lod_0_d3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 10.4301, -1.5941, 0+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_737/lod_0_d4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -7.6291, -1.4587, 0+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_737/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_737/lod_0_rotor1.msh",
transf = transf.rotZYXTransl(transf.degToRad(-91.77,-85.327,-89.998), vec3.new(4.1182, 5.0691, -0.5121+2)),
type = "MESH",
},{
id = "vehicle/plane/boeing_737/lod_0_rotor1.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(-91.77,-85.327,-89.998), vec3.new(4.1182, 5.0691, -0.5121+2))),
type = "MESH",
},
-- back wheels
{
id = "vehicle/plane/boeing_737/lod_0_flap_back_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(180,0,-78.5), vec3.new(0.1956, 2.8007, 0.3302+2)),
type = "MESH",
},
{
id = "vehicle/plane/boeing_737_lod_0_back_wheel.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.2539, 2.7987, 0.4701+2, 1,
},
type = "GROUP",
},
{ -- mirrored
id = "vehicle/plane/boeing_737/lod_0_flap_back_left.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(180,0,-78.5), vec3.new(0.1956, 2.8007, 0.3302+2))),
type = "MESH",
},
{
id = "vehicle/plane/boeing_737_lod_0_back_wheel.grp",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(0.2539, 2.7987, 0.4701+2))),
type = "GROUP",
},
-- front wheel
{
id = "vehicle/plane/boeing_737/lod_0_flap_front_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(180,8.94,-80), vec3.new(12.6405, 0.4236, -0.3735+2)),
type = "MESH",
}, {
id = "vehicle/plane/boeing_737/lod_0_flap_front_right.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,171.06,80), vec3.new(12.6405, -0.4236, -0.3735+2)),
type = "MESH",
}, {
id = "vehicle/plane/boeing_737_lod_0_front_wheel.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 10.9502, 0, -0.4198+2, 1,
},
type = "GROUP",
},
-- Aircraft rudders
{
id = "vehicle/plane/boeing_737/lod_0_aileron_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(106.232,-5.479,89.697), vec3.new(-2.702, 12.1271, 1.0303+2)),
type = "MESH",
},{
id = "vehicle/plane/boeing_737/lod_0_aileron_left.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(106.232,-5.479,89.697), vec3.new(-2.702, 12.1271, 1.0303+2))),
type = "MESH",
},
{
id = "vehicle/plane/boeing_737/lod_0_elevator_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(-69.849,-174.301,-90.101), vec3.new(-13.431, 3.1295, 2.806+2)),
type = "MESH",
},{
id = "vehicle/plane/boeing_737/lod_0_elevator_left.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(-69.849,-174.301,-90.101), vec3.new(-13.431, 3.1295, 2.806+2))),
type = "MESH",
}, {
id = "vehicle/plane/boeing_737/lod_0_inboard_flap_left1.msh",
transf = transf.rotZYXTransl(transf.degToRad(107.153,-5.442,104.228), vec3.new(-0.6018, 5.2439, 0.1916+2)),
type = "MESH",
},{
id = "vehicle/plane/boeing_737/lod_0_inboard_flap_left1.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(107.153,-5.442,104.228), vec3.new(-0.6018, 5.2439, 0.1916+2))),
type = "MESH",
}, {
id = "vehicle/plane/boeing_737/lod_0_inboard_flap_left2.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,-5.596,44.053), vec3.new(-0.4405, 3.2216, 0.0978+2)),
type = "MESH",
}, {
id = "vehicle/plane/boeing_737/lod_0_inboard_flap_left2.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(90,-5.596,44.053), vec3.new(-0.4405, 3.2216, 0.0978+2))),
type = "MESH",
}, {
id = "vehicle/plane/boeing_737/lod_0_rudder.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,-21.1209,0.952), vec3.new(-12.5152, 0, 6.029+2)),
type = "MESH",
},
-- lights
{
id = "vehicle/plane/boeing_737/lod_0_aft_light.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
},{
id = "vehicle/plane/boeing_737/lod_0_anti_collision_strobo_bottom.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
},{
id = "vehicle/plane/boeing_737/lod_0_anti_collision_strobo_top.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
},{
id = "vehicle/plane/boeing_737/lod_0_landing_lights.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
},{
id = "vehicle/plane/boeing_737/lod_0_navigation_light_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
},{
id = "vehicle/plane/boeing_737/lod_0_navigation_light_right.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/boeing_737/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_737/lod_0_logo_rudder.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,-21.1209,0.952), vec3.new(-12.5152, 0, 6.029+2)),
type = "MESH",
},
},
events = {
open_doors_left = {
[2] = {
forward = true,
name = "opend1",
},
[3] = {
forward = true,
name = "opend2",
},
},
close_doors_left = {
[2] = {
forward = false,
name = "opend1",
},
[3] = {
forward = false,
name = "opend2",
},
},
open_doors_right = {
[4] = {
forward = true,
name = "opend3",
},
[5] = {
forward = true,
name = "opend4",
},
},
close_doors_right = {
[4] = {
forward = false,
name = "opend3",
},
[5] = {
forward = false,
name = "opend4",
},
},
close_wheels = {
[9] = {
forward = false,
name = "open",
},
[10] = {
forward = false,
name = "open",
},
[11] = {
forward = false,
name = "open",
},
[12] = {
forward = false,
name = "open",
},
[13] = {
forward = true,
name = "close",
},
[14] = {
forward = true,
name = "close",
},
[15] = {
forward = false,
name = "open",
},
},
open_wheels = {
[9] = {
forward = true,
name = "open",
},
[10] = {
forward = true,
name = "open",
},
[11] = {
forward = true,
name = "open",
},
[12] = {
forward = true,
name = "open",
},
[13] = {
forward = false,
name = "close",
},
[14] = {
forward = false,
name = "close",
},
[15] = {
forward = true,
name = "open",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 6680,
},
},
metadata = {
airVehicle = {
weight = 28100.0,
maxPayload = 0,
maxTakeOffWeight = 50300.0,
maxThrust = 128000.0,
idleThrust = 6400.0,
timeToFullThrust = 3,
wingArea = 102,
topSpeed = 216.666666667,
configs = {
{
axles = {
"vehicle/plane/boeing_737/lod_0_w2.msh",
},
wheels = {
"vehicle/plane/boeing_737/lod_0_w1.msh",
},
elevator = {
ids = { 26, 27 },
maxAngle = 30
},
aileronLeft = {
ids = { 24 },
maxAngle = 30
},
aileronRight = {
ids = { 25 },
maxAngle = 30
},
flaps = { -- TODO, fixit
ids = { 28, 29, 30, 31 },
maxAngle = 35
},
rudder = {
ids = { 32,40 },
maxAngle = 30
}
}
}
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
description = {
name = _("Boeing 737"),
description = _("The Boeing 737 is an American short- to medium-range twinjet narrow-body airliner.")
},
maintenance = {
runningCosts = -1,
lifespan = 50
},
transportVehicle = {
carrier = "AIR",
capacities = {
{
type = "PASSENGERS",
capacity = 85,
}
},
loadSpeed = 6,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(12.1, 0.52, 0.48)), crew = true},
}
},
soundConfig = {
soundSet = { name = "aircraft_jet_old" }
}
},
}
end

View File

@ -0,0 +1,551 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
23.173807144165, 19.027015686035, 13.399807929993,
},
bbMin = {
-24.323081970215, -19.027015686035, -0.29814994335175,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/plane/boeing_757/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 18.4226, 1.8394, 1.0187+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.2031, 1.8617, 1.5733+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_d3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.7296, 1.8617, 1.3988+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_d4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -15.2515, 1.6702, 1.5977+3, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/boeing_757/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 18.4226, -1.8394, 1.0187+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 9.2031, -1.8617, 1.5733+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_d3.msh",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -6.7296, -1.8617, 1.3988+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_d4.msh",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -15.2515, -1.6702, 1.5977+3, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/boeing_757/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_rotor1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.0925, 6.5124, -1.181+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_rotor1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.0925, -6.5124, -1.181+3, 1,
},
type = "MESH",
},
-- front wheel
{
id = "vehicle/plane/boeing_757/lod_0_flap_front_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(179.382, 0.554, 39.0), vec3.new(18.423, 0.432, -0.83+3)),
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_flap_front_right.msh",
transf = transf.rotZYXTransl(transf.degToRad(0.618, -0.554, 39.0), vec3.new(18.423, -0.432, -0.83+3)),
type = "MESH",
}, {
id = "vehicle/plane/boeing_757_lod_0_front_wheel.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 16.714, 0, 0.0751+3, 1,
},
type = "GROUP",
},
-- back wheels
{
id = "vehicle/plane/boeing_757/lod_0_flap_back_inner_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.8996, 0.1625, -1.1532+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_flap_back_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.8852, 3.9129, -0.1449+3, 1,
},
type = "MESH",
},{
id = "vehicle/plane/boeing_757_lod_0_back_wheel.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.8964, 3.6957, 0.0937+3, 1,
},
type = "GROUP",
},
{
id = "vehicle/plane/boeing_757/lod_0_flap_back_inner_left.msh",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -1.8996, -0.1625, -1.1532+3, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_flap_back_left.msh",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -1.8852, -3.9129, -0.1449+3, 1,
},
type = "MESH",
},{
id = "vehicle/plane/boeing_757_lod_0_back_wheel.grp",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -1.8964, -3.6957, 0.0937+3, 1,
},
type = "GROUP",
},
-- Aircraft rudders
{
id = "vehicle/plane/boeing_757/lod_0_aileron_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(107.388,-4.177,89.633), vec3.new(-4.9719, 16.3974, 0.9995+3)),
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_elevator_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(-70.198, 186.485, -91.454), vec3.new(-21.8, 4.292, 1.75+3)),
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_inboard_flap_left1.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,-4.787,0), vec3.new(-2.217, 10.941, 0.413+3)),
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_inboard_flap_left2.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,0,0), vec3.new(-1.614, 4.163, -0.222+3)),
type = "MESH",
},
{
id = "vehicle/plane/boeing_757/lod_0_aileron_left.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(107.388,-4.177,89.633), vec3.new(-4.9719, 16.3974, 0.9995+3))),
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_elevator_left.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(-70.198, 186.485, -91.454), vec3.new(-21.8, 4.292, 1.75+3))),
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_inboard_flap_left1.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(90,-4.787,0), vec3.new(-2.217, 10.941, 0.413+3))),
type = "MESH",
}, {
id = "vehicle/plane/boeing_757/lod_0_inboard_flap_left2.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(90,0,0), vec3.new(-1.614, 4.163, -0.222+3))),
type = "MESH",
},
{
id = "vehicle/plane/boeing_757/lod_0_rudder.msh",
transf = transf.rotZYXTransl(transf.degToRad(180, -151.268, -180), vec3.new(-21.462, 0, 6.476+3)),
type = "MESH",
},
-- lights
{
id = "vehicle/plane/boeing_757/lod_0_aft_light.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
},{
id = "vehicle/plane/boeing_757/lod_0_anti_collision_strobo_bottom.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
},{
id = "vehicle/plane/boeing_757/lod_0_anti_collision_strobo_top.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
},{
id = "vehicle/plane/boeing_757/lod_0_landing_lights.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
},{
id = "vehicle/plane/boeing_757/lod_0_navigation_light_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
},{
id = "vehicle/plane/boeing_757/lod_0_navigation_light_right.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/boeing_757/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1,
},
type = "MESH",
},{
id = "vehicle/plane/boeing_757/lod_0_logo_rudder.msh",
transf = transf.rotZYXTransl(transf.degToRad(180, -151.268, -180), vec3.new(-21.462, 0, 6.476+3)),
type = "MESH",
},
},
events = {
open_doors_left = {
[2] = {
forward = true,
name = "opend1",
},
[3] = {
forward = true,
name = "opend1",
},
--[[
[4] = {
forward = true,
name = "opend1",
},
]]--
[5] = {
forward = true,
name = "opend1",
},
},
open_doors_right = {
[6] = {
forward = true,
name = "opend1",
},
[7] = {
forward = true,
name = "opend1",
},
--[[
[8] = {
forward = true,
name = "opend1",
},
]]--
[9] = {
forward = true,
name = "opend1",
},
},
close_doors_left = {
[2] = {
forward = false,
name = "opend1",
},
[3] = {
forward = false,
name = "opend1",
},
--[[
[4] = {
forward = false,
name = "opend1",
},
]]--
[5] = {
forward = false,
name = "opend1",
},
},
close_doors_right = {
[6] = {
forward = false,
name = "opend1",
},
[7] = {
forward = false,
name = "opend1",
},
--[[
[8] = {
forward = false,
name = "opend1",
},
]]--
[9] = {
forward = false,
name = "opend1",
},
},
open_wheels = {
[13] = {
forward = true,
name = "open"
},
[14] = {
forward = true,
name = "open"
},
[15] = {
forward = true,
name = "open"
},
[16] = {
forward = true,
name = "open"
},
[17] = {
forward = true,
name = "open"
},
[18] = {
forward = true,
name = "open"
},
[19] = {
forward = true,
name = "open"
},
[20] = {
forward = true,
name = "open"
},
[21] = {
forward = true,
name = "open"
},
},
close_wheels = {
[13] = {
forward = true,
name = "close"
},
[14] = {
forward = true,
name = "close"
},
[15] = {
forward = false,
name = "open"
},
[16] = {
forward = false,
name = "open"
},
[17] = {
forward = false,
name = "open"
},
[18] = {
forward = false,
name = "open"
},
[19] = {
forward = false,
name = "open"
},
[20] = {
forward = false,
name = "open"
},
[21] = {
forward = false,
name = "open"
},
}
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 9210,
},
},
metadata = {
airVehicle = {
weight = 57800.0,
maxPayload = 0,
maxTakeOffWeight = 115700.0,
maxThrust = 360000.0,
idleThrust = 18000.0,
timeToFullThrust = 3,
wingArea = 181.3,
topSpeed = 248.611111111,
configs = {
{
axles = {
"vehicle/plane/boeing_757/lod_0_w2.msh",
"vehicle/plane/boeing_757/lod_0_w3.msh"
},
wheels = {
"vehicle/plane/boeing_757/lod_0_w1.msh",
},
elevator = {
ids = { 33, 37 },
maxAngle = 20
},
aileronLeft = {
ids = { 32 },
maxAngle = 30
},
aileronRight = {
ids = { 36 },
maxAngle = 30
},
flaps = {
ids = { 34, 35, 38, 39 },
maxAngle = 20
},
rudder = {
ids = { 40 },
maxAngle = 30
}
}
}
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
description = {
name = _("Boeing 757"),
description = _("The Boeing 757 is the manufacturer's largest single-aisle passenger aircraft and was produced from 1981 to 2004.")
},
maintenance = {
runningCosts = -1,
lifespan = 50
},
transportVehicle = {
carrier = "AIR",
capacities = {
{
type = "PASSENGERS",
capacity = 220, -- wikipedia: max 239
}
},
loadSpeed = 10,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(20.38, 0.6, 0.1)), crew = true},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(20.38, -0.75, 0.1)), crew = true},
--passangers
}
},
soundConfig = {
soundSet = { name = "aircraft_jet_modern" }
}
},
}
end

View File

@ -0,0 +1,428 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
18.67066192627, 16.416221618652, 6.1334609985352,
},
bbMin = {
-17.215757369995, -16.416221618652, -2.7228879928589,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/plane/comet_4b/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/comet_4b/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.4939, 1.6301, 0.4705, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/comet_4b/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.4939, -1.6301, 0.4705, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/comet_4b/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
-- Aircraft rudders
{
id = "vehicle/plane/comet_4b/lod_0_aileron.msh",
transf = transf.rotZYXTransl(transf.degToRad(102.156,-3.48,89.112), vec3.new(-2.87, 10.8409, -0.2014)),
type = "MESH",
},
{
id = "vehicle/plane/comet_4b/lod_0_elevator.msh",
transf = transf.rotZYXTransl(transf.degToRad(93.435,-11.526,87.23), vec3.new(-15.6666, 0.5026, 1.2072)),
type = "MESH",
},
{
id = "vehicle/plane/comet_4b/lod_0_inboard_flap.msh",
transf = transf.rotZYXTransl(transf.degToRad(99.608,-3.78,88.416), vec3.new(-1.8631, 5.9335,-0.52)),
type = "MESH",
},{
id = "vehicle/plane/comet_4b/lod_0_outboard_flap.msh",
transf = transf.rotZYXTransl(transf.degToRad(99.608,-3.398,91.499), vec3.new(-2.3895, 9.0431,-0.3242)),
type = "MESH",
}, {
id = "vehicle/plane/comet_4b/lod_0_rudder.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -15.5296, 0, 3.8223, 1,
},
type = "MESH",
},
-- flipped rudders
{
id = "vehicle/plane/comet_4b/lod_0_aileron.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(102.156,-3.48,89.112), vec3.new(-2.87, 10.8409, -0.2014))),
type = "MESH",
}, {
id = "vehicle/plane/comet_4b/lod_0_elevator.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(93.435,-11.526,87.23), vec3.new(-15.6666, 0.5026, 1.2072))),
type = "MESH",
},
{
id = "vehicle/plane/comet_4b/lod_0_inboard_flap.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(99.608,-3.78,88.416), vec3.new(-1.8631, 5.9335,-0.52))),
type = "MESH",
},{
id = "vehicle/plane/comet_4b/lod_0_outboard_flap.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(99.608,-3.398,91.499), vec3.new(-2.3895, 9.0431,-0.3242))),
type = "MESH",
},
-- back wheels
{
id = "vehicle/plane/comet_4b_lod_0_back_wheel.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.4964, 4.4828, -0.9167, 1,
},
type = "GROUP",
},{
id = "vehicle/plane/comet_4b/lod_0_back_wheel_big_flap.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.0457, 6.3528, -0.7374, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/comet_4b/lod_0_back_wheel_small_flap.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,0,-80), vec3.new(-0.0093, 4.3823, -0.921)),
type = "MESH",
},
{
id = "vehicle/plane/comet_4b_lod_0_back_wheel.grp",
transf = transf.flipY({
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.4964, 4.4828, -0.9167, 1,
}),
type = "GROUP",
},{
id = "vehicle/plane/comet_4b/lod_0_back_wheel_big_flap.msh",
transf = transf.flipY({
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.0457, 6.3528, -0.7374, 1,
}),
type = "MESH",
}, {
id = "vehicle/plane/comet_4b/lod_0_back_wheel_small_flap.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,-80), vec3.new(-0.0093, 4.3823, -0.921))),
type = "MESH",
},
-- front wheel
{
id = "vehicle/plane/comet_4b/lod_0_flap_front_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,-4.318,-80), vec3.new(15.9928, 0.4109, -0.9182)),
type = "MESH",
}, {
id = "vehicle/plane/comet_4b/lod_0_flap_front_right.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,-4.318,-80), vec3.new(15.9928, -0.4109, -0.9182)),
type = "MESH",
},
{
id = "vehicle/plane/comet_4b_lod_0_front_wheel.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 15.6035, 0, -0.839, 1,
},
type = "GROUP",
},
-- lights
{
id = "vehicle/plane/comet_4b/lod_0_aft_light.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/plane/comet_4b/lod_0_anti_collision_strobo_bottom.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/plane/comet_4b/lod_0_landing_lights_inside.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/plane/comet_4b/lod_0_landing_lights_outside.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/plane/comet_4b/lod_0_navigation_light_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/plane/comet_4b/lod_0_navigation_light_right.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/plane/comet_4b/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/plane/comet_4b/lod_0_logo_rudder.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -15.5296, 0, 3.8223, 1,
},
type = "MESH",
},
},
events = {
open_doors_left = {
[2] = {
forward = true,
name = "opend1",
},
},
open_doors_right = {
[3] = {
forward = true,
name = "opend2",
},
},
close_doors_left = {
[2] = {
forward = false,
name = "opend1",
},
},
close_doors_right = {
[3] = {
forward = false,
name = "opend2",
},
},
open_wheels = {
[14] = {
forward = true,
name = "open",
},
[15] = {
forward = true,
name = "open",
},
[16] = {
forward = true,
name = "open",
},
[17] = {
forward = true,
name = "open",
},
[18] = {
forward = true,
name = "open",
},
[19] = {
forward = true,
name = "open",
},
[22] = {
forward = true,
name = "open",
}, [21] = {
forward = true,
name = "open",
}, [20] = {
forward = true,
name = "open",
},
},
close_wheels = {
[14] = {
forward = false,
name = "open",
},
[15] = {
forward = true,
name = "open",
},
[16] = {
forward = true,
name = "close",
},
[17] = {
forward = false,
name = "open",
},
[18] = {
forward = true,
name = "open",
},
[19] = {
forward = true,
name = "close",
},
[22] = {
forward = false,
name = "open",
}, [21] = {
forward = true,
name = "close",
}, [20] = {
forward = true,
name = "close",
},
}
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 7730,
},
},
metadata = {
airVehicle = {
weight = 33000.0,
maxPayload = 0,
maxTakeOffWeight = 71600.0,
maxThrust = 188000.0,
idleThrust = 9400.0,
timeToFullThrust = 3,
wingArea = 191.3,
topSpeed = 201.388888889,
configs = {
{
axles = {
"vehicle/plane/comet_4b/lod_0_back_w1.msh",
},
wheels = {
"vehicle/plane/comet_4b/lod_0_front_w1.msh",
},
elevator = {
ids = { 6, 11 },
maxAngle = 20
},
aileronLeft = {
ids = { 5 },
maxAngle = 30
},
aileronRight = {
ids = { 10 },
maxAngle = 30
},
flaps = {
ids = { 7, 8, 12, 13 },
maxAngle = 35
},
rudder = {
ids = { 9,43 },
maxAngle = 30
}
}
}
},
availability = {
yearFrom = 1960,
yearTo = 1967
},
cost = {
price = -1
},
description = {
name = _("De Havilland Comet 4B"),
description = _("Originally developed for Capital Airlines as the 4A, the 4B featured greater capacity through a 2m longer fuselage, and a shorter wingspan.")
},
maintenance = {
runningCosts = -1,
lifespan = 40
},
transportVehicle = {
carrier = "AIR",
capacities = {
{
type = "PASSENGERS",
capacity = 85, -- wikipedia
}
},
loadSpeed = 4,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(16.7, 0.39, -0.26)), crew = true},
}
},
soundConfig = {
soundSet = { name = "aircraft_jet_old" }
}
}
}
end

View File

@ -0,0 +1,527 @@
local vec3 = require "vec3"
local transf = require "transf"
-- transf = transf.rotZYXTransl(transf.degToRad(179.382,0.054,44.205), vec3.new(18.423, 0.432, -0.819+4)),
-- transf.flipY()
function data()
return {
boundingInfo = {
bbMax = {
35.955730438232, 12.800143241882, 12.222454071045,
},
bbMin = {
-24.32844543457, -12.800143241882, -0.33479624986649,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
-- Body
{
id = "vehicle/plane/concorde/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+4, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 23.7473, 1.3694, 0+4, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.9035, 1.3894, 0+4, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_d3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -7.8979, 1.3629, 0+4, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_d4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 23.7473, -1.3694, 0+4, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_d5.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.9035, -1.3894, 0+4, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_d6.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -7.8979, -1.3629, 0+4, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+4, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_nose.msh",
transf = transf.rotZYXTransl(transf.degToRad(-90,0,90), vec3.new(28.5702, 0, 0.0691+4)),
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_nose_window.msh",
transf = transf.rotZYXTransl(transf.degToRad(-90,0,90), vec3.new(27.8155, 0, 0.2827+4)),
type = "MESH",
},
-- back wheels
{
id = "vehicle/plane/concorde/lod_0_flap_back_left1.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,-1.784,-46.358), vec3.new(-0.5968, 3.9065, -0.1049+4)),
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_flap_back_left2.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,0,90), vec3.new(-0.2251, 0.075, -0.5258+4)),
type = "MESH",
},
{
id = "vehicle/plane/concorde/lod_0_back_wheel_mount_left_strut.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-0.2207, 1.3113, -0.0756+4)),
type = "MESH",
}, {
id = "vehicle/plane/concorde_lod_0_back_wheel.grp",
transf = transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-0.0934, 3.7455, 0.0552+4)),
type = "GROUP",
},
-- back wheels mirrored
{
id = "vehicle/plane/concorde/lod_0_flap_back_left1.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,-1.784,-46.358), vec3.new(-0.5968, 3.9065, -0.1049+4))),
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_flap_back_left2.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,90), vec3.new(-0.2251, 0.075, -0.5258+4))),
type = "MESH",
},{
id = "vehicle/plane/concorde/lod_0_back_wheel_mount_left_strut.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-0.2207, 1.3113, -0.0756+4))),
type = "MESH",
},{
id = "vehicle/plane/concorde_lod_0_back_wheel.grp",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-0.0934, 3.7455, 0.0552+4))),
type = "GROUP",
},
-- end wheel
{
id = "vehicle/plane/concorde/lod_0_flap_tail_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,10.618,46.368), vec3.new(-18.8415, 0.1937, 1.1772+4)),
type = "MESH",
},{
id = "vehicle/plane/concorde/lod_0_flap_tail_left.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,10.618,46.368), vec3.new(-18.8415, 0.1937, 1.1772+4))),
type = "MESH",
},{
id = "vehicle/plane/concorde_lod_0_tail_wheel.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -17.5255, 0, 1.0068+4, 1,
},
type = "GROUP",
},
-- front wheels
{
id = "vehicle/plane/concorde/lod_0_flap_front_left1.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(20.6553, 0.5019, -0.3512+4)),
type = "MESH",
}, { -- CLOSE not open anim
id = "vehicle/plane/concorde/lod_0_flap_front_left2.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,0,-65), vec3.new(17.7644, 0.5019, -0.3512+4)),
type = "MESH",
},{
id = "vehicle/plane/concorde/lod_0_flap_front_left1.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(20.6553, 0.5019, -0.3512+4))),
type = "MESH",
}, { -- CLOSE not open anim
id = "vehicle/plane/concorde/lod_0_flap_front_left2.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,-65), vec3.new(17.7644, 0.5019, -0.3512+4))),
type = "MESH",
}, {
id = "vehicle/plane/concorde_lod_0_front_wheel.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 17.5105, 0, 0.2064+4, 1,
},
type = "GROUP",
},
-- Aircraft rudders
{
id = "vehicle/plane/concorde/lod_0_aileron_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,10.887,-262.65), vec3.new(-9.2316, 9.3404, -0.0929+4)),
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_aileron_right.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,-10.887,97.35), vec3.new(-9.2316, -9.3404, -0.0929+4)),
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_inboard_flap_left1.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,4.778,91.76), vec3.new(-9.2316, 8.1387, 0.0076+4)),
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_inboard_flap_left2.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,0,90), vec3.new( -9.2316, 2.9728, 0.208+4)),
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_inboard_flap_right1.msh",
transf = transf.rotZYXTransl(transf.degToRad(-270,-4.778,91.76), vec3.new(-9.2316, -8.1387, 0.0076+4)),
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_inboard_flap_right2.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,0,90), vec3.new(-9.2316, -2.9728, 0.208+4)),
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_rudder_bottom.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -17.8003, 0, 2.5222+4, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_rudder_top.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -17.8003, 0, 4.9894+4, 1,
},
type = "MESH",
},
-- lights
{
id = "vehicle/plane/concorde/lod_0_navigation_light_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+4, 1,
},
type = "MESH",
},{
id = "vehicle/plane/concorde/lod_0_navigation_light_right.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+4, 1,
},
type = "MESH",
},{
id = "vehicle/plane/concorde/lod_0_aft_light.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+4, 1,
},
type = "MESH",
},{
id = "vehicle/plane/concorde/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+4, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/concorde/lod_0_logo_rudder_top.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -17.8003, 0, 4.9894+4, 1,
},
type = "MESH",
},
},
events = {
open_wheels = {
[11] = {
forward = true,
name = "open",
},
[12] = {
forward = true,
name = "open",
},
[13] = {
forward = true,
name = "open",
},
[14] = {
forward = true,
name = "open",
},
[15] = {
forward = true,
name = "open",
},
[16] = {
forward = true,
name = "open",
},
[17] = {
forward = true,
name = "open",
},
[18] = {
forward = true,
name = "open",
},
[19] = {
forward = true,
name = "open",
},
[20] = {
forward = true,
name = "open",
},
[21] = {
forward = true,
name = "open",
},
[22] = {
forward = true,
name = "open",
},
[23] = {
forward = true,
name = "open",
},
[24] = {
forward = true,
name = "open",
},
[25] = {
forward = true,
name = "open",
},
[26] = {
forward = true,
name = "open",
},
},
close_wheels = {
[11] = {
forward = false,
name = "open",
},
[12] = {
forward = false,
name = "open",
},
[13] = {
forward = false,
name = "open",
},
[14] = {
forward = false,
name = "open",
},
[15] = {
forward = false,
name = "open",
},
[16] = {
forward = false,
name = "open",
},
[17] = {
forward = false,
name = "open",
},
[18] = {
forward = false,
name = "open",
},
[19] = {
forward = false,
name = "open",
},
[20] = {
forward = false,
name = "open",
},
[21] = {
forward = false,
name = "open",
},
[22] = {
forward = false,
name = "open",
},
[23] = {
forward = true,
name = "close",
},
[24] = {
forward = false,
name = "open",
},
[25] = {
forward = true,
name = "close",
},
[26] = {
forward = false,
name = "open",
},
},
open_doors_left = {
[2] = {
forward = true,
name = "opend1",
},
},
open_doors_right = {
[5] = {
forward = true,
name = "opend4",
},
},
close_doors_left = {
[2] = {
forward = false,
name = "opend1",
},
},
close_doors_right = {
[5] = {
forward = false,
name = "opend4",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 7430,
},
},
metadata = {
airVehicle = {
weight = 78700.0,
maxPayload = 0,
maxTakeOffWeight = 187000.0,
maxThrust = 560000.0,
idleThrust = 28000.0,
timeToFullThrust = 5,
wingArea = 358,
topSpeed = 599.444444444,
configs = {
{
axles = {
"vehicle/plane/concorde/lod_0_w2.msh",
"vehicle/plane/concorde/lod_0_w3.msh",
},
wheels = {
"vehicle/plane/concorde/lod_0_w1.msh",
},
elevator = {
ids = { 44, 45, 46, 47 },
maxAngle = 15
},
aileronLeft = {
ids = { 42 },
maxAngle = 15
},
aileronRight = {
ids = { 43 },
maxAngle = 15
},
flaps = {
ids = { 9, 10, 44, 45, 46, 47 },
maxAngle = 12.5
},
rudder = {
ids = { 48, 49, 54 },
maxAngle = 20
}
}
}
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
description = {
name = _("Concorde"),
description = _("The Concorde is a British-French turbojet-powered supersonic passenger jet airliner that was operated until 2003.")
},
maintenance = {
runningCosts = -1,
lifespan = 50
},
transportVehicle = {
carrier = "AIR",
capacities = {
{
type = "PASSENGERS",
capacity = 95, -- AirFrance, wikipedia
}
},
loadSpeed = 4,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(28.2, 0.45, 0.28)), crew = true},
}
},
soundConfig = {
soundSet = { name = "concorde" }
}
}
}
end

View File

@ -0,0 +1,223 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
4.0987110137939, 9.8033895492554, 4.0756769180298,
},
bbMin = {
-8.8827104568481, -9.8033895492554, -0.045518010854721,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/plane/dornier_b_merkur/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/dornier_b_merkur/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.1219, 0.7326, 0+2, 1,
},
type = "MESH",
},{
id = "vehicle/plane/dornier_b_merkur/lod_0_aileron_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,0,90), vec3.new(-1.0298, 4.454, 1.1375+2)),
type = "MESH",
}, {
id = "vehicle/plane/dornier_b_merkur/lod_0_aileron_right.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,0,90), vec3.new(-1.0298, -4.454, 1.1375+2)),
type = "MESH",
}, {
id = "vehicle/plane/dornier_b_merkur/lod_0_elevator.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,0,90), vec3.new(-8.1202, 0, 0.4191+2)),
type = "MESH",
}, {
id = "vehicle/plane/dornier_b_merkur/lod_0_rotor.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.5057, 0, 0.0795+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/dornier_b_merkur/lod_0_rudder.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -7.8998, 0, 1.5568+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/dornier_b_merkur/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.812, -1.1339, -1.5584+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/dornier_b_merkur/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0.812, 1.1339, -1.5584+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/junkers_f_13/lod_0_w3.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-7.25, 0, 1.6)),
type = "MESH",
}, {
id = "vehicle/plane/dornier_b_merkur/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/dornier_b_merkur/lod_0_navigation_light_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/dornier_b_merkur/lod_0_navigation_light_right.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
},{
id = "vehicle/plane/dornier_b_merkur/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
},
},
events = {
open_doors_left = {
[2] = {
forward = true,
name = "opend1",
},
},
close_doors_left = {
[2] = {
forward = false,
name = "opend1",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 3270,
},
},
metadata = {
airVehicle = {
weight = 2300.0,
maxPayload = 0,
maxTakeOffWeight = 3700.0,
maxThrust = 8000.0,
idleThrust = 0.0,
timeToFullThrust = 3,
power = 500,
wingArea = 64,
topSpeed = 48.6111111111,
configs = {
{
axles = {
"vehicle/plane/dornier_b_merkur/lod_0_w1.msh"
},
wheels = {
"vehicle/plane/junkers_f_13/lod_0_w3.msh"
},
elevator = {
ids = { 5 },
maxAngle = 30
},
aileronLeft = {
ids = { 3 },
maxAngle = 30
},
aileronRight = {
ids = { 4 },
maxAngle = 30
},
props = {
ids = { 6 }
},
rudder = {
ids = { 7 },
maxAngle = 30
}
}
}
},
availability = {
yearFrom = 1925,
yearTo = 1960
},
cost = {
price = -1
},
description = {
name = _("Dornier Merkur"),
description = _("The Dornier Merkur was a German passenger aircraft, built in the Dornier factories in Friedrichshafen.")
},
maintenance = {
runningCosts = -1,
lifespan = 30
},
transportVehicle = {
carrier = "AIR",
capacities = {
{
type = "PASSENGERS",
capacity = 20, -- wikipedia: 6
}
},
loadSpeed = 1,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.55, 0.22, -0.26)), crew = true},
}
},
soundConfig = {
soundSet = { name = "aircraft_prop_old" }
}
}
}
end

View File

@ -0,0 +1,312 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
5.9152231216431, 14.999654769897, 5.1760401725769,
},
bbMin = {
-14.783146858215, -15.000291824341, -2.4586050510406,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/plane/douglas_dc3/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc3/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc3/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.4883, 1.2115, 0.9232, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc3/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.4882, -1.2118, 0.9232, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc3_lod_0_front_wheel.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.9394, 0, -0.3704, 1,
},
type = "GROUP",
}, {
id = "vehicle/plane/douglas_dc3/lod_0_elevator.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,0,90), vec3.new(-13.4067, 0, 1.5292)),
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc3/lod_0_aileron_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(93.1955,-7.3464,92.6335), vec3.new(-3.1911, 10.2588, 0.6605)),
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc3/lod_0_aileron_right.msh",
transf = transf.rotZYXTransl(transf.degToRad(86.808,7.269,92.638), vec3.new(-3.1911, -10.2588, 0.6465)),
type = "MESH",
},{
id = "vehicle/plane/douglas_dc3/lod_0_inboard_flap.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,0,90), vec3.new(-2.7608, 0, -0.309)),
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc3/lod_0_outboard_flap_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(94.642,-7.902,85.991), vec3.new(-2.876, 5.2532,-0.0579)),
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc3/lod_0_outboard_flap_right.msh",
transf = transf.rotZYXTransl(transf.degToRad(85.365,7.51,85.6161), vec3.new(-2.8759, -5.2526,-0.0624)),
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc3/lod_0_rotor1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.0102, -2.9669, 0.0112, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc3/lod_0_rotor2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.0101, 2.9691, 0.0152, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc3/lod_0_rudder.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -12.9493, 0, 4.0397, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc3/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -11.9626, 0, 0.3711, 1,
},
type = "MESH",
},
-- lights
{
id = "vehicle/plane/douglas_dc3/lod_0_aft_light.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/douglas_dc3/lod_0_landing_lights.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/douglas_dc3/lod_0_navigation_light_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/douglas_dc3/lod_0_navigation_light_right.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/douglas_dc3/lod_0_navigation_light_top.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/plane/douglas_dc3/lod_0_logo_rudder.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -12.9493, 0, 4.0397, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc3/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
close_wheels = {
[5] = {
forward = true,
name = "open",
},
},
open_wheels = {
[5] = {
forward = false,
name = "open",
},
},
open_doors_left = {
[3] = {
forward = true,
name = "opend1",
},
},
open_doors_right = {
[4] = {
forward = true,
name = "opend2",
},
},
close_doors_left = {
[3] = {
forward = false,
name = "opend1",
},
},
close_doors_right = {
[4] = {
forward = false,
name = "opend2",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 5170,
},
},
metadata = {
airVehicle = {
weight = 7700.0,
maxPayload = 0,
maxTakeOffWeight = 11400.0,
maxThrust = 25000.0,
idleThrust = 0.0,
timeToFullThrust = 3,
power = 1700,
wingArea = 91.7,
topSpeed = 92.5,
configs = {
{
axles = {
"vehicle/plane/douglas_dc3/lod_0_w2.msh",
},
wheels = {
"vehicle/plane/douglas_dc3/lod_0_w1.msh",
},
elevator = {
ids = { 10 },
maxAngle = 30
},
aileronLeft = {
ids = { 11 },
maxAngle = 30
},
aileronRight = {
ids = { 12 },
maxAngle = 30
},
flaps = {
ids = { 13, 14, 15 },
maxAngle = 30
},
props = {
ids = { 16, 17 }
},
rudder = {
ids = { 18,25 },
maxAngle = 30
}
}
}
},
availability = {
yearFrom = 1935,
yearTo = 1967
},
cost = {
price = -1
},
description = {
name = _("Douglas DC-3"),
description = _("The Douglas DC-3 is a fixed-wing propeller-driven airliner. Its cruise speed and range revolutionized air transport in the 1930s and 1940s.")
},
maintenance = {
runningCosts = -1,
lifespan = 40
},
transportVehicle = {
carrier = "AIR",
capacities = {
{
type = "PASSENGERS",
capacity = 32, -- wikipedia
}
},
loadSpeed = 2,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.7, 0.35, 0.4)), crew = true},
}
},
soundConfig = {
soundSet = { name = "aircraft_prop_modern" }
}
}
}
end

View File

@ -0,0 +1,464 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
11.156785964966, 17.897922515869, 9.5514421463013,
},
bbMin = {
-17.841180801392, -17.897922515869, -0.0012209415435791,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/plane/douglas_dc4/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.3957, 1.5736, 1.609+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -6.3957, -1.5736, 1.609+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_rotor_1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.7615, -7.9967, 1.211+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_rotor_1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.1918, -3.7889, 0.7079+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_rotor_1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.7615, 7.9967, 1.211+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_rotor_1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.1918, 3.7889, 0.7079+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
},
-- wheels
{
id = "vehicle/plane/douglas_dc4/lod_0_flap_front_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(-180,16.9551,-80), vec3.new(9.2647, 0.4019, 0.3443+2)),
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_flap_front_right.msh",
transf = transf.rotZYXTransl(transf.degToRad(-180,16.9551,-80), vec3.new(9.2647, -0.4019, 0.3443+2)),
type = "MESH",
},{
id = "vehicle/plane/douglas_dc4_lod_0_front_wheel.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 8.1562, 0, 0.4795+2, 1,
},
type = "GROUP",
},
{
id = "vehicle/plane/douglas_dc4/lod_0_back_wheel_mount1_flap.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.1419, 3.7889, -0.0414+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_flap_back_left_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.5775, 4.3023, 0.104+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_flap_back_left_right.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.5775, 3.2756, 0.104+2, 1,
},
type = "MESH",
},{
id = "vehicle/plane/douglas_dc4_lod_0_back_wheel.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 3.7889, 0.3252+2, 1,
},
type = "GROUP",
},
{
id = "vehicle/plane/douglas_dc4/lod_0_back_wheel_mount1_flap.msh",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -0.1419, -3.7889, -0.0414+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_flap_back_left_left.msh",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1.5775, -4.3023, 0.104+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_flap_back_left_right.msh",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1.5775, -3.2756, 0.104+2, 1,
},
type = "MESH",
},{
id = "vehicle/plane/douglas_dc4_lod_0_back_wheel.grp",
transf = {
1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, -3.7889, 0.3252+2, 1,
},
type = "GROUP",
},
-- Aircraft rudders
{
id = "vehicle/plane/douglas_dc4/lod_0_aileron_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(-274.398,-7.434,-269.273), vec3.new(-0.7108, 13.3219, 1.7098+2)),
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_inboard_flap_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(-275.343,-7.5898,90), vec3.new(-1.605, 4.3023, 0.4863+2)),
type = "MESH",
},{
id = "vehicle/plane/douglas_dc4/lod_0_aileron_left.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(-274.398,-7.434,-269.273), vec3.new(-0.7108, 13.3219, 1.7098+2))),
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_inboard_flap_left.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(-275.343,-7.5898,90), vec3.new(-1.605, 4.3023, 0.4863+2))),
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_elevator.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,0,90), vec3.new(-14.9954, 0, 2.0716+2)),
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_rudder.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -15.3562, 0, 3.0529+2, 1,
},
type = "MESH",
},
-- lights
{
id = "vehicle/plane/douglas_dc4/lod_0_aft_light.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
},{
id = "vehicle/plane/douglas_dc4/lod_0_navigation_light_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
},{
id = "vehicle/plane/douglas_dc4/lod_0_navigation_light_right.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
},{
id = "vehicle/plane/douglas_dc4/lod_0_navigation_light_top.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/douglas_dc4/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2, 1,
},
type = "MESH",
},
},
events = {
open_wheels = {
[9] = {
forward = true,
name = "open",
},
[10] = {
forward = true,
name = "open",
},
[11] = {
forward = true,
name = "open",
},
[12] = {
forward = true,
name = "switch",
},
[13] = {
forward = true,
name = "open",
},
[14] = {
forward = true,
name = "open",
},
[15] = {
forward = true,
name = "open",
},
[16] = {
forward = true,
name = "switch",
},
[17] = {
forward = true,
name = "open",
},
[18] = {
forward = true,
name = "open",
},
[19] = {
forward = true,
name = "open",
},
},
close_wheels = {
[9] = {
forward = true,
name = "close",
},
[10] = {
forward = true,
name = "close",
},
[11] = {
forward = true,
name = "close",
},
[12] = {
forward = false,
name = "switch",
},
[13] = {
forward = true,
name = "close",
},
[14] = {
forward = true,
name = "close",
},
[15] = {
forward = true,
name = "close",
},
[16] = {
forward = false,
name = "switch",
},
[17] = {
forward = true,
name = "close",
},
[18] = {
forward = true,
name = "close",
},
[19] = {
forward = true,
name = "close",
},
},
open_doors_left = {
[2] = {
forward = true,
name = "opend1",
},
},
close_doors_left = {
[2] = {
forward = false,
name = "opend1",
},
},
open_doors_right = {
[3] = {
forward = true,
name = "opend1",
},
},
close_doors_right = {
[3] = {
forward = false,
name = "opend1",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 6990,
},
},
metadata = {
airVehicle = {
weight = 19600.0,
maxPayload = 0,
maxTakeOffWeight = 33100.0,
maxThrust = 70000.0,
idleThrust = 0.0,
timeToFullThrust = 3,
power = 0,
wingArea = 135.6,
topSpeed = 101.388888889,
configs = {
{
axles = {
"vehicle/plane/douglas_dc4/lod_0_w2.msh",
},
wheels = {
"vehicle/plane/douglas_dc4/lod_0_w1.msh",
},
elevator = {
ids = { 32 },
maxAngle = 20
},
aileronLeft = {
ids = { 28 },
maxAngle = 30
},
aileronRight = {
ids = { 30 },
maxAngle = 30
},
flaps = {
ids = { 9, 10, 15, 16, 22, 23, 29, 31 },
maxAngle = 30
},
props = {
ids = { 4, 5, 6, 7 }
},
rudder = {
ids = { 33 },
maxAngle = 30
}
}
}
},
availability = {
yearFrom = 1944,
yearTo = 1967
},
cost = {
price = -1
},
description = {
name = _("Douglas DC-4"),
description = _("The Douglas DC-4 is a four-engine (piston) propeller-driven airliner developed by the Douglas Aircraft Company. From 1945, many civil airlines operated it worldwide.")
},
maintenance = {
runningCosts = -1,
lifespan = 40
},
transportVehicle = {
carrier = "AIR",
capacities = {
{
type = "PASSENGERS",
capacity = 60,
}
},
loadSpeed = 2,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(7.8, 0.65, 1.2)), crew = true},
}
},
soundConfig = {
soundSet = { name = "aircraft_prop_modern" }
}
}
}
end

View File

@ -0,0 +1,219 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
2.5336039066315, 7.4893770217896, 1.5860749483109,
},
bbMin = {
-5.4609370231628, -7.4893770217896, -1.0071635246277,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/plane/junkers_f_13/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/junkers_f_13/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/junkers_f_13/lod_0_d1.msh",
transf = transf.rotZYXTransl(transf.degToRad(-4.509,-102.845,138.747), vec3.new(-0.2883, 0.5891, 0.8249)),
type = "MESH",v
}, {
id = "vehicle/plane/junkers_f_13/lod_0_d2.msh",
transf = transf.rotZYXTransl(transf.degToRad(-4.509,-102.845,138.747), vec3.new(-0.2883, -0.5891, 0.8249)),
type = "MESH",
}, {
id = "vehicle/plane/junkers_f_13/lod_0_aileron_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(-100.501,-174.599,-91.3586), vec3.new(-0.545, 5.312, 0.309)),
type = "MESH",
}, {
id = "vehicle/plane/junkers_f_13/lod_0_aileron_right.msh",
transf = transf.rotZYXTransl(transf.degToRad(-79.499,174.5992,-91.359), vec3.new(-0.545, -5.312, 0.309)),
type = "MESH",
}, {
id = "vehicle/plane/junkers_f_13/lod_0_elevator.msh",
transf = transf.rotZYXTransl(transf.degToRad(-90,-180.1739,-90), vec3.new(-4.6621, 0, 0.7878)),
type = "MESH",
}, {
id = "vehicle/plane/junkers_f_13/lod_0_rotor.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.2812, 0, 0.6181, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/junkers_f_13/lod_0_rudder.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.861, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/junkers_f_13/lod_0_w3.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-4.5444, 0, -0.0802)),
type = "MESH",
}, {
id = "vehicle/plane/junkers_f_13/lod_0_w1.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,0,1.499), vec3.new(0.689, 0.98, -0.641)),
type = "MESH",
}, {
id = "vehicle/plane/junkers_f_13/lod_0_w2.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,0,-1.499), vec3.new(0.689, -0.98, -0.641)),
type = "MESH",
},
{
id = "vehicle/plane/junkers_f_13/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
open_doors_left = {
[3] = {
forward = true,
name = "opend1",
},
},
open_doors_right = {
[4] = {
forward = true,
name = "opend2",
},
},
close_doors_left = {
[3] = {
forward = false,
name = "opend1",
},
},
close_doors_right = {
[4] = {
forward = false,
name = "opend2",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 2140,
},
},
metadata = {
airVehicle = {
weight = 1000.0,
maxPayload = 0,
maxTakeOffWeight = 1800.0,
maxThrust = 3500.0,
idleThrust = 0.0,
timeToFullThrust = 3,
power = 228,
wingArea = 34.5,
topSpeed = 38.8888888889,
configs = {
{
axles = {
"vehicle/plane/junkers_f_13/lod_0_w1.msh"
},
wheels = {
"vehicle/plane/junkers_f_13/lod_0_w3.msh"
},
elevator = {
ids = { 7 },
maxAngle = 30
},
aileronLeft = {
ids = { 5 },
maxAngle = 30
},
aileronRight = {
ids = { 6 },
maxAngle = 30
},
props = {
ids = { 8 }
},
rudder = {
ids = { 9 },
maxAngle = 30
}
}
}
},
availability = {
yearFrom = 1920,
yearTo = 1950
},
cost = {
price = -1
},
description = {
name = _("Junkers F 13"),
description = _("The Junkers F 13 was the world's first all-metal transport aircraft, developed in Germany at the end of World War I.")
},
maintenance = {
runningCosts = -1,
lifespan = 30
},
transportVehicle = {
carrier = "AIR",
capacities = {
{
type = "PASSENGERS",
capacity = 12, -- wikipedia: 4
}
},
loadSpeed = 1,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, -25.0, 0.0), vec3.new(0.27, 0.15, -0.218)), crew = true},
}
},
soundConfig = {
soundSet = { name = "aircraft_prop_old" }
}
}
}
end

View File

@ -0,0 +1,545 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
14.125260353088, 18.76124382019, 8.2268190383911,
},
bbMin = {
-21.242317199707, -18.76124382019, -0.10195410251617,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
-- Body
{
id = "vehicle/plane/super_connie/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2.8, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.7727, 0, 0+2.8, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -8.0748, 0, 0+2.8, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_d3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.7727, 0, 0+2.8, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_d4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -8.0748, 0, 0+2.8, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/super_connie/lod_0_rotor1.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(3.1649, 9.102, 0.6674+2.8)),
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_rotor2.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(3.5654, -4.2845, 0.1352+2.8)),
type = "MESH",
},{
id = "vehicle/plane/super_connie/lod_0_rotor1.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(3.1649, 9.102, 0.6674+2.8))),
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_rotor2.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(3.5654, -4.2845, 0.1352+2.8))),
type = "MESH",
},
{
id = "vehicle/plane/super_connie/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2.8, 1,
},
type = "MESH",
},
-- front wheels
{
id = "vehicle/plane/super_connie/lod_0_flap_front_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 8.6123, 0.5154, -0.3604+2.8, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_flap_front_right.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 8.6123, -0.5154, -0.3604+2.8, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/super_connie_lod_0_front_wheel.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 11.1576, 0, -0.3479+2.8, 1,
},
type = "GROUP",
},{
id = "vehicle/plane/super_connie/lod_0_front_wheel_mount_strut.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.3643, 0, 0.5488+2.8, 1,
},
type = "MESH",
},
-- back wheels
{
id = "vehicle/plane/super_connie_lod_0_back_wheel.grp",
transf = transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-2.0474, 4.2847, 0.3222+2.8)),
type = "GROUP",
},
{
id = "vehicle/plane/super_connie/lod_0_flap_back_left_left_back.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-1.6849, 4.8547, -0.3414+2.8)),
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_flap_back_left_left_front.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-0.0944, 4.8619, -0.3907+2.8)),
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_flap_back_left_right_back.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-1.6849, 3.7147, -0.3414+2.8)),
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_flap_back_left_right_front.msh",
transf = transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-0.0944, 3.7052, -0.3919+2.8)),
type = "MESH",
},
-- back wheels mirrored
{
id = "vehicle/plane/super_connie_lod_0_back_wheel.grp",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-2.0474, 4.2847, 0.3222+2.8))),
type = "GROUP",
},
{
id = "vehicle/plane/super_connie/lod_0_flap_back_left_left_back.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-1.6849, 4.8547, -0.3414+2.8))),
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_flap_back_left_left_front.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-0.0944, 4.8619, -0.3907+2.8))),
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_flap_back_left_right_back.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-1.6849, 3.7147, -0.3414+2.8))),
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_flap_back_left_right_front.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-0.0944, 3.7052, -0.3919+2.8))),
type = "MESH",
},
-- Aircraft rudders
{
id = "vehicle/plane/super_connie/lod_0_aileron_left.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,-6.714,90.007), vec3.new(-2.6105, 14.1795, 1.3078+2.8)),
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_aileron_left.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(90,-6.714,90.007), vec3.new(-2.6105, 14.1795, 1.3078+2.8))),
type = "MESH",
},
{
id = "vehicle/plane/super_connie/lod_0_elevator.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,0,90), vec3.new(-19.807, 0, 2.3763+2.8)),
type = "MESH",
},
{
id = "vehicle/plane/super_connie/lod_0_inboard_flap_left1.msh",
transf = transf.rotZYXTransl(transf.degToRad(85.8,-7.4329,88.2698), vec3.new(-3.0228, 4.8729, 0.0747+2.8)),
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_inboard_flap_left2.msh",
transf = transf.rotZYXTransl(transf.degToRad(90,-2.2817,78.5972), vec3.new(-3.2113, 1.2298, -0.2665+2.8)),
type = "MESH",
},
{
id = "vehicle/plane/super_connie/lod_0_inboard_flap_left1.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(85.8,-7.4329,88.2698), vec3.new(-3.0228, 4.8729, 0.0747+2.8))),
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_inboard_flap_left2.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(90,-2.2817,78.5972), vec3.new(-3.2113, 1.2298, -0.2665+2.8))),
type = "MESH",
},
{
id = "vehicle/plane/super_connie/lod_0_rudder.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -19.8591, 0, 2.3763+2.8, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_rudder_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -20.0068, 6.441, 2.3763+2.8, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_rudder_right.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -20.0068, -6.441, 2.3763+2.8, 1,
},
type = "MESH",
},
-- lights
{
id = "vehicle/plane/super_connie/lod_0_aft_light.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2.8, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/super_connie/lod_0_navigation_light_bottom.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2.8, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/super_connie/lod_0_navigation_light_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2.8, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/super_connie/lod_0_navigation_light_right.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2.8, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/super_connie/lod_0_navigation_light_top.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2.8, 1,
},
type = "MESH",
},
{
id = "vehicle/plane/super_connie/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+2.8, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_logo_rudder_left.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -20.0068, 6.441, 2.3763+2.8, 1,
},
type = "MESH",
}, {
id = "vehicle/plane/super_connie/lod_0_logo_rudder_right.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -20.0068, -6.441, 2.3763+2.8, 1,
},
type = "MESH",
},
},
events = {
open_doors_left = {
[2] = {
forward = true,
name = "opend1",
},[3] = {
forward = true,
name = "opend2",
},
},
close_doors_left = {
[2] = {
forward = false,
name = "opend1",
},[3] = {
forward = false,
name = "opend2",
},
},
open_wheels = {
[11] = {
forward = true,
name = "open",
},
[12] = {
forward = true,
name = "open",
},
[13] = {
forward = true,
name = "open",
},
[14] = {
forward = true,
name = "open",
},
[15] = {
forward = true,
name = "open",
},
[16] = {
forward = true,
name = "open",
},
[17] = {
forward = true,
name = "open",
},
[18] = {
forward = true,
name = "open",
},
[19] = {
forward = true,
name = "open",
},
[20] = {
forward = true,
name = "open",
},
[21] = {
forward = true,
name = "open",
},
[22] = {
forward = true,
name = "open",
},
[23] = {
forward = true,
name = "open",
},
[24] = {
forward = true,
name = "open",
},
},
close_wheels = {
[11] = {
forward = false,
name = "open",
},
[12] = {
forward = false,
name = "open",
},
[13] = {
forward = false,
name = "open",
},
[14] = {
forward = false,
name = "open",
},
[15] = {
forward = false,
name = "open",
},
[16] = {
forward = false,
name = "open",
},
[17] = {
forward = false,
name = "open",
},
[18] = {
forward = false,
name = "open",
},
[19] = {
forward = false,
name = "open",
},
[20] = {
forward = false,
name = "open",
},
[21] = {
forward = false,
name = "open",
},
[22] = {
forward = false,
name = "open",
},
[23] = {
forward = false,
name = "open",
},
[24] = {
forward = false,
name = "open",
},
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 8270,
},
},
metadata = {
airVehicle = {
weight = 31300.0,
maxPayload = 0,
maxTakeOffWeight = 54400.0,
maxThrust = 150000.0,
idleThrust = 0.0,
timeToFullThrust = 3,
power = 0,
wingArea = 153.3,
topSpeed = 135.833333333,
configs = {
{
axles = {
"vehicle/plane/super_connie/lod_0_w2.msh",
"vehicle/plane/super_connie/lod_0_w3.msh",
},
wheels = {
"vehicle/plane/super_connie/lod_0_w1.msh",
},
elevator = {
ids = { 37 },
maxAngle = 25
},
aileronLeft = {
ids = { 35 },
maxAngle = 30
},
aileronRight = {
ids = { 36},
maxAngle = 30
},
flaps = {
ids = { 38,39,40,41 },
maxAngle = 30
},
props = {
ids = { 6,7,8,9 }
},
rudder = {
ids = { 42, 43, 44, 51, 52 },
maxAngle = 30
}
}
}
},
availability = {
yearFrom = 1952,
yearTo = 1967
},
cost = {
price = -1
},
description = {
name = _("Lockheed Super Constellation"),
description = _("The Lockheed L-1049 Super Constellation is an American aircraft, a member of the Lockheed Constellation aircraft line.")
},
maintenance = {
runningCosts = -1,
lifespan = 50
},
transportVehicle = {
carrier = "AIR",
capacities = {
{
type = "PASSENGERS",
capacity = 90,
}
},
loadSpeed = 4,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(10.9, 0.5, 0.35)), crew = true},
}
},
soundConfig = {
soundSet = { name = "aircraft_prop_modern" }
}
}
}
end

View File

@ -0,0 +1,129 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/a3_5_705_lod_0_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/a3_5_705_lod_0_coalcar.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -7.3599, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/a3_5_705_lod_0_bogie1.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.0275, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
[1] = {
forward = true,
name = "drive",
}
},
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1700,
},
},
metadata = {
description = {
name = _("A 3/5"),
description = _("This 4-6-0 locomotive was the first really fast locomotive of the Jura-Simplon and the Gotthard line.")
},
railVehicle = {
topSpeed = 100,
weight = 107,
engines = {
{ type = "STEAM", power = 1000, tractiveEffort = 120 }
},
configs = {
{
axles = {
"vehicle/train/a3_5_705/lod_0_w1.msh",
"vehicle/train/a3_5_705/lod_0_w2.msh",
"vehicle/train/a3_5_705/lod_0_w3.msh",
"vehicle/train/a3_5_705/lod_0_w4.msh"
}
}
},
soundSet = { name = "train_steam_modern", horn = "vehicle/train_steam_old/steam_horn_20.wav" }
},
transportVehicle = {
carrier = "RAIL",
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.3, -.9, 1.52)), crew = true, standing = true},
},
},
availability = {
yearFrom = 1902,
yearTo = 1949
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 35
},
particleSystem = {
emitters = {
{
position = {5.0613, .0, 4.4544},
velocity = { .0, .0, 10.0 },
color = { .3, .3, .3 },
frequency = 80,
lifeTime = 20.0,
size01 = { .8, 10.0 },
child = 1
},
{
position = { 2.5735, 1.321, 0.6688 },
velocity = { .0, 4.0, 0.0 },
color = { .4, .4, .4 },
frequency = 12,
lifeTime = 10.0,
size01 = { .8, 10.0 },
child = 1
},
{
position = { 2.5735, -1.321, 0.6688 },
velocity = { .0, -4.0, 0.0 },
color = { .4, .4, .4 },
frequency = 12,
lifeTime = 10.0,
size01 = { .8, 10.0 },
child = 1
}
}
}
},
}
end

View File

@ -0,0 +1,273 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
8.5573291778564, 1.5480879545212, 5.8759250640869,
},
bbMin = {
-8.5573291778564, -1.5480879545212, -0.90987700223923,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/ae_4_7/lod_2_ae_4-7.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/ae_4_7/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.2051, 0, 0.8306, 1,
},
type = "MESH",
}, {
id = "vehicle/train/ae_4_7/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.2644, 0, 0.8306, 1,
},
type = "MESH",
}, {
id = "vehicle/train/ae_4_7/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6763, 0, 0.8306, 1,
},
type = "MESH",
}, {
id = "vehicle/train/ae_4_7/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.617, 0, 0.8306, 1,
},
type = "MESH",
}, {
id = "vehicle/train/ae_4_7/lod_2_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.5274, 0, 0.5345, 1,
},
type = "MESH",
}, {
id = "vehicle/train/ae_4_7/lod_2_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.3279, 0, 0.5345, 1,
},
type = "MESH",
}, {
id = "vehicle/train/ae_4_7/lod_2_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.0669, 0, 0.5345, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 350,
visibleTo = 1870,
}, {
animations = {
},
children = {
{
id = "vehicle/train/ae_4_7/lod_1_ae_4-7.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/ae_4_7/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.2051, 0, 0.8306, 1,
},
type = "MESH",
}, {
id = "vehicle/train/ae_4_7/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.2644, 0, 0.8306, 1,
},
type = "MESH",
}, {
id = "vehicle/train/ae_4_7/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6763, 0, 0.8306, 1,
},
type = "MESH",
}, {
id = "vehicle/train/ae_4_7/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.617, 0, 0.8306, 1,
},
type = "MESH",
}, {
id = "vehicle/train/ae_4_7/lod_1_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.5274, 0, 0.5345, 1,
},
type = "MESH",
}, {
id = "vehicle/train/ae_4_7/lod_1_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.3279, 0, 0.5345, 1,
},
type = "MESH",
}, {
id = "vehicle/train/ae_4_7/lod_1_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.0669, 0, 0.5345, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 150,
visibleTo = 350,
}, {
animations = {
},
children = {
{
id = "vehicle/train/ae_4_7_lod_0_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/ae_4_7_lod_0_bogie1.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.5259, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/ae_4_7_lod_0_bogie2.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.0669, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 150,
},
},
metadata = {
description = {
name = _("Ae 4/7"),
description = _("A universal locomotive from Switzerland, very long-lasting thanks to the so-called Buchli drive.")
},
railVehicle = {
topSpeed = 100,
weight = 121,
engines = {
{ type = "ELECTRIC", power = 2300, tractiveEffort = 196 }
},
configs = {
{
},
{
axles = {
"vehicle/train/ae_4_7/lod_1_w1.msh",
"vehicle/train/ae_4_7/lod_1_w2.msh",
}
},
{
axles = {
"vehicle/train/ae_4_7/lod_0_w1.msh",
"vehicle/train/ae_4_7/lod_0_w2.msh",
}
}
},
soundSet = { name = "train_electric_old", horn = "vehicle/train_steam_old/steam_horn_12.wav" }
},
transportVehicle = {
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.88, -0.6, 1.68)), crew = true, standing = true},
},
carrier = "RAIL"
},
availability = {
yearFrom = 1927,
yearTo = 1949
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 45
}
},
}
end

View File

@ -0,0 +1,122 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/borsig_1860_lod_0_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/borsig_1860_lod_0_coalcar.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.8124, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
[1] = {
forward = true,
name = "drive",
}
},
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1320,
},
},
metadata = {
description = {
name = _("Borsig"),
description = _("Borsig was a German company based in Berlin. For that time it was a very competitive model, but it was still manufactured without a roofed cabine.")
},
railVehicle = {
topSpeed = 45,
weight = 32,
engines = {
{ type = "STEAM", power = 90, tractiveEffort = 20 }
},
configs = {
{
axles = {
"vehicle/train/borsig_1860/lod_0_w1.msh",
"vehicle/train/borsig_1860/lod_0_w2.msh",
"vehicle/train/borsig_1860/lod_0_w4.msh",
}
}
},
soundSet = { name = "train_steam_old", horn = "vehicle/train_steam_old/steam_horn_6.wav" }
},
transportVehicle = {
carrier = "RAIL",
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.4, 0.6, 1.2)), crew = true, standing = true},
},
},
availability = {
yearFrom = 1862,
yearTo = 1866
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
},
particleSystem = {
emitters = {
{
position = { 2.6578, .0, 4.1311},
velocity = { .0, .0, 10.0 },
color = { .3, .3, .3 },
frequency = 80,
lifeTime = 20.0,
size01 = { .8, 10.0 },
child = 1
},
{
position = { 2.0035, 0.4482, .0 },
velocity = { .0, 4.0, 0.0 },
color = { .4, .4, .4 },
frequency = 12,
lifeTime = 10.0,
size01 = { .8, 10.0 },
child = 1
},
{
position = { 2.0035, -0.4482, .0 },
velocity = { .0, -4.0, 0.0 },
color = { .4, .4, .4 },
frequency = 12,
lifeTime = 10.0,
size01 = { .8, 10.0 },
child = 1
}
}
}
},
}
end

View File

@ -0,0 +1,140 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
7.5803556442261, 1.5251049995422, 4.1649751663208,
},
bbMin = {
-7.5355091094971, -1.5251049995422, -0.025150001049042,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/br53preusg3_lod_0_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/br53preusg3_lod_0_coalcar.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.4561, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
[1] = {
forward = true,
name = "drive",
}
},
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1480,
},
},
metadata = {
description = {
name = _("Class 53 Prussian G 3"),
description = _(
"The Class G 3 was a family of six-coupled, medium-powered, freight train, tank locomotives.")
},
railVehicle = {
topSpeed = 50,
weight = 38,
engines = {
{ type = "STEAM", power = 160, tractiveEffort = 60 }
},
configs = {
{
axles = {
"vehicle/train/br53_preus_g3/lod_0_w1.msh",
"vehicle/train/br53_preus_g3/lod_0_w2.msh",
"vehicle/train/br53_preus_g3/lod_0_w3.msh",
}
}
},
soundSet = "train_steam_old"
},
transportVehicle = {
carrier = "RAIL",
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.1, -.9, 1.22)), crew = true, standing = true},
},
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
},
particleSystem = {
emitters = {
{
position = { 5.857, .0, 4.165},
velocity = { .0, .0, 10.0 },
color = { .3, .3, .3 },
frequency = 80,
lifeTime = 20.0,
size01 = { .8, 10.0 },
child = 1
},
{
position = { 5.4388, 1.4608, .0 },
velocity = { .0, 4.0, 0.0 },
color = { .4, .4, .4 },
frequency = 12,
lifeTime = 10.0,
size01 = { .8, 10.0 },
child = 1
},
{
position = { 5.4388, -1.4608, .0 },
velocity = { .0, -4.0, 0.0 },
color = { .4, .4, .4 },
frequency = 12,
lifeTime = 10.0,
size01 = { .8, 10.0 },
child = 1
}
}
}
},
}
end

View File

@ -0,0 +1,364 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
6.0623202323914, 1.5864230394363, 4.5724639892578,
},
bbMin = {
-6.0107669830322, -1.5864230394363, -0.030532002449036,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/br75_4/lod_2_br75_4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_2_g1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.1647999286652, 0, 0.8134999871254, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_2_g2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.12099999934435, 0, 0.50400000810623, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_2_g3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.12099999934435, 0, 0.50400000810623, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_2_g7.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.5628000497818, 0, 1.4045000076294, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_2_g9.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.12099999934435, 0, 0.50400000810623, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.4906001091003, 0, 0.50040000677109, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_2_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.1451001167297, 0, 0.81209999322891, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_2_w3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.11200000345707, 0, 0.81209999322891, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_2_w4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6540999412537, 0, 0.81209999322891, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_2_w5.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.9739999771118, 0, 0.50040000677109, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 400,
visibleTo = 1400,
}, {
animations = {
},
children = {
{
id = "vehicle/train/br75_4/lod_1_br75_4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_1_g1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.1647999286652, 0, 0.8134999871254, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_1_g2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.12099999934435, 0, 0.50400000810623, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_1_g3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.12099999934435, 0, 0.50400000810623, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_1_g4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.1451001167297, 0, 0.62919998168945, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_1_g5.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.6493999958038, 0, 0.60339999198914, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_1_g6.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.6419999599457, 0, 1.4213999509811, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_1_g7.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.5628000497818, 0, 1.4045000076294, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_1_g8.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.32910001277924, 0, 0.84320002794266, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_1_g9.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.12099999934435, 0, 0.50400000810623, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.4906001091003, 0, 0.50040000677109, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_1_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.1451001167297, 0, 0.81209999322891, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_1_w3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.11200000345707, 0, 0.81209999322891, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_1_w4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6540999412537, 0, 0.81209999322891, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br75_4/lod_1_w5.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.9739999771118, 0, 0.50040000677109, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 150,
visibleTo = 400,
}, {
animations = {
},
children = {
{
id = "vehicle/train/br75_4_lod_0_body.grp",
transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 },
type = "GROUP",
}, {
id = "vehicle/train/br75_4_lod_0_bogie_front.grp",
transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.4906001091003, 0, 0.50040000677109, 1 },
type = "GROUP",
}, {
id = "vehicle/train/br75_4_lod_0_bogie_back.grp",
transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.9739999771118, 0, 0.50040000677109, 1 },
type = "GROUP",
},
},
events = {
drive = {
[1] = {
forward = true,
name = "drive",
}
},
},
matConfigs = {
{ 0, 0, 0 }
},
static = false,
visibleFrom = 0,
visibleTo = 150,
},
},
metadata = {
description = {
name = _("Class 75.4 Baden VI c"),
description = _("Built by the Maschinenbau-Gesellschaft Karlsruhe for service in south-western Germany, this locomotive was equipped with larger wheels and a longer, fixed wheelbase.")
},
railVehicle = {
topSpeed = 90,
weight = 76,
engines = {
{ type = "STEAM", power = 580, tractiveEffort = 90 }
},
configs = {
{ },
{
--[[axles = {
"vehicle/train/br75_4/lod_1_w1.msh",
"vehicle/train/br75_4/lod_1_w2.msh",
"vehicle/train/br75_4/lod_1_w3.msh",
"vehicle/train/br75_4/lod_1_w4.msh",
"vehicle/train/br75_4/lod_1_w5.msh"
}]]
}, {
axles = {
"vehicle/train/br75_4/lod_0_w1.msh",
"vehicle/train/br75_4/lod_0_w2.msh",
"vehicle/train/br75_4/lod_0_w3.msh",
"vehicle/train/br75_4/lod_0_w4.msh",
"vehicle/train/br75_4/lod_0_w5.msh"
}
}
},
soundSet = { name = "train_steam_modern", horn = "vehicle/train_steam_old/steam_horn_2.wav" }
},
transportVehicle = {
carrier = "RAIL",
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.1, -.7, 1.65)), crew = true, standing = true},
},
},
availability = {
yearFrom = 1914,
yearTo = 1949
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
},
particleSystem = {
emitters = {
{
position = { 3.9332, .0, 4.8},
velocity = { .0, .0, 10.0 },
color = { .3, .3, .3 },
frequency = 80,
lifeTime = 20.0,
size01 = { .8, 10.0 },
child = 1
},
{
position = { 2.898, 1.3568, .0 },
velocity = { .0, 4.0, 0.0 },
color = { .4, .4, .4 },
frequency = 12,
lifeTime = 10.0,
size01 = { .8, 10.0 },
child = 1
},
{
position = { 2.898, -1.3568, .0 },
velocity = { .0, -4.0, 0.0 },
color = { .4, .4, .4 },
frequency = 12,
lifeTime = 10.0,
size01 = { .8, 10.0 },
child = 1
}
}
}
},
}
end

View File

@ -0,0 +1,203 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
4.1387271881104, 1.4581869840622, 4.1176562309265,
},
bbMin = {
-4.4749689102173, -1.4581869840622, -0.62410598993301,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/br89/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br89/lod_0_g1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.5517, 0, 0.5479, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br89/lod_0_g2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.0158, 0, 0.2894, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br89/lod_0_g3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.0158, 0, 0.2872, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br89/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.6487, 0, 0.5522, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br89/lod_0_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.0158, 0, 0.5522, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br89/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.3121, 0, 0.5522, 1,
},
type = "MESH",
},{
id = "vehicle/train/br89/lod_0_logos.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.2,1.2),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 3.23, 0.0, 2.68)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,2.0,2.0),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 3.58, -0.915, 1.55)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,2.0,2.0),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 3.58, 0.915, 1.55)),
type = "MESH",
},
},
events = {
drive = {
[2] = {
forward = true,
name = "drive",
},
[3] = {
forward = true,
name = "drive",
},
[4] = {
forward = true,
name = "drive",
}
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1170,
},
},
metadata = {
description = {
name = _("Class 89 Prussian T 3"),
description = _("As a 0-6-0 tank locomotive, it was the first that was built to German state railway norms.")
},
railVehicle = {
topSpeed = 40,
weight = 30,
engines = {
{ type = "STEAM", power = 290, tractiveEffort = 65 }
},
configs = {
{
axles = {
"vehicle/train/br89/lod_0_w1.msh",
"vehicle/train/br89/lod_0_w2.msh",
}
}
},
soundSet = { name = "train_steam_old", horn = "vehicle/train_steam_old/steam_horn_3.wav" }
},
transportVehicle = {
carrier = "RAIL",
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.2, -.8, 1.24)), crew = true, standing = true},
},
},
availability = {
yearFrom = 1885,
yearTo = 1932
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 35
},
particleSystem = {
emitters = {
{
position = { 2.6552, .0, 4.1177},
velocity = { .0, .0, 10.0 },
color = { .3, .3, .3 },
frequency = 80,
lifeTime = 20.0,
size01 = { .8, 10.0 },
child = 1
},
{
position = { 2.2019, 1.1399, .0 },
velocity = { .0, 4.0, 0.0 },
color = { .3, .3, .3 },
frequency = 12,
lifeTime = 20.0,
size01 = { .8, 10.0 },
child = 1
},
{
position = { 2.2019, -1.1399, .0 },
velocity = { .0, -4.0, 0.0 },
color = { .3, .3, .3 },
frequency = 12,
lifeTime = 20.0,
size01 = { .8, 10.0 },
child = 1
}
}
}
},
}
end

View File

@ -0,0 +1,137 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
9.9406566619873, 1.4929430484772, 5.9128289222717,
},
bbMin = {
-9.9796762466431, -1.4929430484772, -0.70098698139191,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/br_103_1/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br_103_1_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.8498, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/br_103_1_lod_0_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -4.8498, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/br_103_1/lod_0_windows.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br_103_1/lod_0_logos.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.0,1.0),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 9.41, 0.0, 2.74)),
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.0,1.0),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 9.25, -0.89, 1.64)),
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.0,1.0),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 9.25, 0.89, 1.64)),
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
0, 0, 0,
0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 2010,
},
},
metadata = {
description = {
name = _("Class 103"),
description = _("This fast and heavy electric locomotive was, for a long period, the flagship of German rolling stock.")
},
railVehicle = {
topSpeed = 200,
weight = 114,
engines = {
{ type = "ELECTRIC", power = 5940, tractiveEffort = 314 }
},
configs = {
{
axles = {
"vehicle/train/br_103_1/lod_0_w1.msh"
}
}
},
soundSet = { name = "train_electric_modern", horn = "vehicle/train_electric_modern/horn_16.wav" }
},
transportVehicle = {
carrier = "RAIL",
seats = {
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(7.9, -.62, 1.82)), crew = true, standing = false},
},
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 45
},
},
}
end

View File

@ -0,0 +1,132 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
9.8356332778931, 1.597198009491, 5.8987860679626,
},
bbMin = {
-9.8356332778931, -1.597198009491, -0.69894200563431,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = { {
id = "vehicle/train/br_185_traxx/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br_185_traxx_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.4432, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/br_185_traxx_lod_0_bogie.grp",
transf = {
-1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.4432, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/br_185_traxx/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/train/br_185_traxx/lod_0_logos.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.9,0.9),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 9.4, 0.94, 1.59)),
type = "MESH",
},{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.9,0.9),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 9.4, -0.94, 1.59)),
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
0, 0, 0,
0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1990,
},
},
metadata = {
description = {
name = _("Class 185"),
description = _("The double voltage Class 185 was meant for international operation, and was also dubbed Europalok.")
},
railVehicle = {
topSpeed = 160,
weight = 84,
engines = {
{ type = "ELECTRIC", power = 4200, tractiveEffort = 300 }
},
configs = {
{
axles = {
"vehicle/train/br_185_traxx/lod_0_w1.msh",
}
}
},
soundSet = { name = "train_electric_modern", horn = "vehicle/train_electric_modern/horn_15.wav" }
},
transportVehicle = {
carrier = "RAIL",
seats = {
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(7.7, -.79, 1.6)), crew = true, standing = false},
},
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 50
},
},
}
end

View File

@ -0,0 +1,158 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
8.4321479797363, 1.5827790498734, 4.6462259292603,
},
bbMin = {
-8.4321479797363, -1.5827790498734, -0.57415497303009,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/br_218/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br_218_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.4806, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/br_218_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.4806, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/br_218/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/train/br_218/lod_0_logos.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.3,1.3),transf.degToRad( 19.0, 7.5, 0.0), vec3.new( 7.865, 0.98, 1.92)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.3,1.3),transf.degToRad( -19.0, 7.5, 0.0), vec3.new( 7.865, -0.98, 1.92)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.9,0.9),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 7.56, 0.0, 3.875)),
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1640,
},
},
metadata = {
description = {
name = _("Class 218"),
description = _("A diesel-hydraulic locomotive from Germany built for medium to heavy trains.")
},
railVehicle = {
topSpeed = 140,
weight = 80,
engines = {
{ type = "DIESEL", power = 2500, tractiveEffort = 235 }
},
configs = {
{
axles = {
"vehicle/train/br_218/lod_0_w1.msh",
}
}
},
soundSet = { name = "train_diesel", horn = "vehicle/train_electric_modern/horn_2.wav" }
},
transportVehicle = {
carrier = "RAIL",
seats = {
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.4, -.81, 1.91)), crew = true, standing = false},
},
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
},
particleSystem = {
emitters = {
{
position = {2.6121, -0.4018, 4.605 },
velocity = { .0, .0, 4.0 },
color = { .1, .1, .1 },
frequency = 30,
lifeTime = 1.0,
size01 = { .2, 4.0 },
child = 1
},
{
position = {2.6121, 0.4018, 4.605 },
velocity = { .0, .0, 4.0 },
color = { .1, .1, .1 },
frequency = 30,
lifeTime = 1.0,
size01 = { .2, 4.0 },
child = 1
},
}
}
},
}
end

View File

@ -0,0 +1,147 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
9.4412250518799, 1.4945479631424, 4.2960352897644,
},
bbMin = {
-9.4412250518799, -1.4945479631424, -0.67091447114944,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/br_246_traxx/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br_246_traxx/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br_246_traxx/lod_0_vent.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br_246_traxx_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.2243, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/br_246_traxx_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.2243, 0, 0, 1,
},
type = "GROUP",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.25,1.25),transf.degToRad( 0.0, -17.0, 0.0), vec3.new( 8.88, 0.0, 2.295)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.8,0.8),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 9.05, -0.905, 1.525)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.8,0.8),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 9.05, 0.905, 1.525)),
type = "MESH",
},{
id = "vehicle/train/br_246_traxx/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1680,
},
},
metadata = {
description = {
name = _("Class 246"),
description = _("In this diesel locomotive the fuel tank occupies the same space as the transformer in the electric version.")
},
railVehicle = {
topSpeed = 160,
weight = 80,
engines = {
{ type = "DIESEL", power = 2000, tractiveEffort = 240 }
},
configs = {
{
axles = {
"vehicle/train/br_246_traxx/lod_0_w1.msh",
"vehicle/train/br_246_traxx/lod_0_w2.msh"
}
},
},
soundSet = { name = "train_diesel", horn = "vehicle/truck_modern/horn.wav" }
},
transportVehicle = {
carrier = "RAIL",
seats = {
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(7.4, -.7, 1.52)), crew = true, standing = false},
},
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
}
},
}
end

View File

@ -0,0 +1,126 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/br_e94/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/br_e94_lod0_bogie1.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.322, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/br_e94_lod0_bogie1.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -3.322, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/train/br_e94/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/train/br_e94/lod_0_interior.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/train/br_e94/lod_0_logos.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.2,1.2,1.2),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 8.67, 0.0, 2.865)),
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.2,1.2,1.2),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 8.64, -0.905, 1.56)),
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.2,1.2,1.2),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 8.64, 0.905, 1.56)),
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1950,
},
},
metadata = {
description = {
name = _("Class E 94"),
description = _("This electric heavy freight locomotive was built for the Deutsche Reichsbahn since 1940 and is commonly known as the German Crocodile.")
},
railVehicle = {
topSpeed = 90,
weight = 119,
engines = {
{ type = "ELECTRIC", power = 3000, tractiveEffort = 363 }
},
configs = {
{
axles = {
"vehicle/train/br_e94/lod_0_w1.msh",
}
}
},
soundSet = "train_electric_old"
},
transportVehicle = {
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.18, -0.8, 1.95)), crew = true},
},
carrier = "RAIL"
},
availability = {
yearFrom = 1938,
yearTo = 1949
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 50
}
},
}
end

View File

@ -0,0 +1,133 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
10.25147819519, 1.599387049675, 5.9179420471191,
},
bbMin = {
-10.25147819519, -1.7070970535278, -0.027449011802673,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/c6_8_lod_0_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/c6_8_lod_0_idler.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.4119000434875, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/c6_8_lod_0_idler.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -7.4119000434875, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
[1] = {
forward = true,
name = "drive",
},
},
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 2030,
},
},
metadata = {
description = {
name = _("Ce 6/8 II Crocodile"),
description = _(
"Swiss electric locomotive known as the Crocodile, mainly used for heavy freight trains on sinuous routes like the Gotthard line.")
},
availability = {
yearFrom = 1921,
yearTo = 1949,
},
cost = {
price = -1,
},
maintenance = {
lifespan = 45,
runningCosts = -1,
},
railVehicle = {
configs = {
{
axles = {
"vehicle/train/c6_8/lod_0_w1.msh", "vehicle/train/c6_8/lod_0_w2.msh",
},
fakeBogies = {
},
},
},
engines = {
{
power = 1200,
tractiveEffort = 150,
type = "ELECTRIC",
},
},
soundSet = {
horn = "",
name = "train_electric_old",
},
topSpeed = 75,
weight = 128,
},
transportVehicle = {
capacities = {
},
carrier = "RAIL",
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.5, .85, 1.5)), crew = true, standing = true},
},
},
},
}
end

View File

@ -0,0 +1,127 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/d1_3_lod_0_body_new.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/d1_3_lod_0_coalcar_new.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.226, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
[1] = {
forward = true,
name = "drive",
},
}
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1230,
},
},
metadata = {
description = {
name = _("D 1/3"),
description = _("This legendary railway was known as the Spanisch-Brötli-Bahn, named after a delicacy of Baden, Switzerland.")
},
railVehicle = {
topSpeed = 40,
weight = 30,
engines = {
{ type = "STEAM", power = 50, tractiveEffort = 15 }
},
configs = {
{
axles = {
"vehicle/train/d1_3_new/lod_0_w2.msh",
"vehicle/train/d1_3_new/lod_0_w4.msh",
"vehicle/train/d1_3_new/lod_0_w1.msh",
}
}
},
soundSet = { name = "train_steam_old", horn = "vehicle/train_steam_old/steam_horn_10.wav" }
},
transportVehicle = {
carrier = "RAIL",
seats = {
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.0, -0.3, 1.05)), standing = true, crew = true },
}
},
availability = {
yearFrom = 1850,
yearTo = 1866
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
},
particleSystem = {
emitters = {
{
position = { 2.12, .0, 4.15 },
velocity = { .0, .0, 10.0 },
color = { .3, .3, .3 },
frequency = 80,
lifeTime = 20.0,
size01 = { .8, 10.0 },
child = 2
},
{
position = { 1.8, .9, .65 },
velocity = { .0, 4.0, 0.0 },
color = { .5, .5, .5 },
frequency = 12,
lifeTime = 5.0,
size01 = { .6, 8.0 },
child = 2
},
{
position = { 1.8, -.9, .65 },
velocity = { .0, -4.0, 0.0 },
color = { .5, .5, .5 },
frequency = 12,
lifeTime = 5.0,
size01 = { .6, 8.0 },
child = 2
}
}
}
},
}
end

View File

@ -0,0 +1,229 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
6.7790122032166, 1.5564210414886, 4.2407069206238,
},
bbMin = {
-7.0255718231201, -1.5564210414886, -0.55601000785828,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/db_v100/lod_2_v100.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/db_v100_lod_2_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.3699, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/db_v100_lod_2_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -3.6164, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 230,
visibleTo = 1420,
}, {
animations = {
},
children = {
{
id = "vehicle/train/db_v100/lod_1_v100.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/db_v100_lod_1_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.3699, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/db_v100_lod_1_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -3.6164, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 100,
visibleTo = 230,
}, {
animations = {
},
children = {
{
id = "vehicle/train/db_v100/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/db_v100_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.3699, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/db_v100_lod_0_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -3.6164, 0, 0, 1,
},
type = "GROUP",
},
{
id = "vehicle/train/db_v100/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/train/db_v100/lod_0_logos.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.95,.95),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 6.09, 0.745, 1.7)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.95,.95),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 6.09, -0.745, 1.7)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.1,1.1),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 6.01, 0, 3.3)),
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
0, 0, 0,
0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 100,
},
},
metadata = {
description = {
name = _("Class V 100"),
description = _("This diesel-hydraulic locomotive was produced for non-electrified branch lines as a replacement for steam locomotives.")
},
railVehicle = {
topSpeed = 90,
weight = 62,
engines = {
{ type = "DIESEL", power = 809, tractiveEffort = 177 }
},
configs = {
{
},
{
axles = {
"vehicle/train/db_v100/lod_1_w1.msh",
}
},
{
axles = {
"vehicle/train/db_v100/lod_0_w1.msh",
}
}
},
soundSet = "train_diesel"
},
transportVehicle = {
carrier = "RAIL",
seats = {
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-.7, -.62, 2.22)), crew = true, standing = false},
},
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
}
},
}
end

View File

@ -0,0 +1,373 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
7.7369499206543, 1.4122450351715, 4.0343117713928,
},
bbMin = {
-13.642044067383, -1.4122450351715, -0.070711970329285,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/lner_class_a4/lod_2_a4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_coalcar.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.5486001968384, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_g2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.66769999265671, 0, 0.7049999833107, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_g3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.66500002145767, 0, 0.7049999833107, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_g4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.0145998001099, 0, 0.82679998874664, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_g5.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.395299911499, 0, 0.82330000400543, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_g6.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.3962998390198, 0, 0.72869998216629, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_g7.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.3215999603271, 0, 1.6866999864578, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_g9.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.67320001125336, 0, 1.0255999565125, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_w7.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -11.920700073242, 0, 0.55870002508163, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_w3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.8698999881744, 0, 1.01859998703, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_w3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.66500002145767, 0, 1.01859998703, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_w3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.5398000478745, 0, 1.01859998703, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_w6.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.443699836731, 0, 0.44980001449585, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_w7.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -7.2048001289368, 0, 0.55870002508163, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_w7.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -8.7768001556396, 0, 0.55870002508163, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_w7.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -10.348799705505, 0, 0.55870002508163, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_b1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.5448999404907, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.500500202179, 0, 0.48989999294281, 1,
},
type = "MESH",
}, {
id = "vehicle/train/lner_class_a4/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.463399887085, 0, 0.48989999294281, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 300,
visibleTo = 1750,
}, {
animations = {
},
children = {
{
id = "vehicle/train/lner_class_a4_lod_1_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/lner_class_a4_lod_1_coalcar.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.5445995330811, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/lner_class_a4_lod_1_bogie1.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.5487999916077, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
{
forward = true,
name = "drive",
},
},
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 130,
visibleTo = 300,
}, {
animations = {
},
children = {
{
id = "vehicle/train/lner_class_a4_lod_0_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/lner_class_a4_lod_0_coalcar.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.5445995330811, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/lner_class_a4_lod_0_bogie1.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.5487999916077, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
{
forward = true,
name = "drive",
},
},
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 130,
},
},
metadata = {
description = {
name = _("Class A4"),
description = _("A streamlined 4-6-2 steam locomotive designed by Nigel Gresley for the London and North Eastern Railway. The \"4468 Mallard\" still holds the world record as the fastest steam locomotive.")
},
railVehicle = {
configs = {
{
}, {
axles = {
"vehicle/train/lner_class_a4/lod_1_w7.msh",
"vehicle/train/lner_class_a4/lod_1_w3.msh",
"vehicle/train/lner_class_a4/lod_1_w6.msh",
"vehicle/train/lner_class_a4/lod_1_w1.msh",
"vehicle/train/lner_class_a4/lod_1_w2.msh",
},
}, {
axles = {
"vehicle/train/lner_class_a4/lod_0_w7.msh",
"vehicle/train/lner_class_a4/lod_0_w3.msh",
"vehicle/train/lner_class_a4/lod_0_w6.msh",
"vehicle/train/lner_class_a4/lod_0_w1.msh",
"vehicle/train/lner_class_a4/lod_0_w2.msh",
},
},
},
engines = {
{
power = 1986,
tractiveEffort = 150,
type = "STEAM",
},
},
topSpeed = 145,
weight = 105,
soundSet = { name = "train_steam_modern", horn = "vehicle/train_steam_old/steam_horn_12.wav" }
},
transportVehicle = {
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.7, -0.6, 1.3)), crew = true, standing = true},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(30.0, 0.0, 0.0), vec3.new(-5, 0.7, 1.3)), crew = true, standing = true},
},
capacities = {
},
carrier = "RAIL",
},
availability = {
yearFrom = 1935,
yearTo = 1949
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
},
particleSystem = {
emitters = {
{
position = { 5.2, .0, 4.0343},
velocity = { .0, .0, 10.0 },
color = { .3, .3, .3 },
frequency = 100,
lifeTime = 15.0,
size01 = { 1.0, 12.0 },
child = 1
},
{
position = { 4.6839, 1.301, .0 },
velocity = { .0, 4.0, 0.0 },
color = { .3, .3, .3 },
frequency = 24,
lifeTime = 15.0,
size01 = { .8, 10.0 },
child = 1
},
{
position = { 4.6839, -1.301, .0 },
velocity = { .0, -4.0, 0.0 },
color = { .3, .3, .3 },
frequency = 24,
lifeTime = 15.0,
size01 = { .8, 10.0 },
child = 1
}
}
}
},
}
end

View File

@ -0,0 +1,149 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/lner_flying_scotsman_lod_0_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/lner_flying_scotsman_lod_0_coalcar.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.6228, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/lner_flying_scotsman_lod_0_bogie1.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.6884, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/lner_flying_scotsman_lod_0_bogie2.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.0821, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
[1] = {
forward = true,
name = "drive",
},
}
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1670,
},
},
metadata = {
description = {
name = _("Class A3 Flying Scotsman"),
description = _("The Flying Scotsman is an express passenger train that has operated between Edinburgh and London, the capitals of Scotland and England via the East Coast Main Line.")
},
railVehicle = {
topSpeed = 120,
weight = 97.8,
engines = {
{ type = "STEAM", power = 1655, tractiveEffort = 135 }
},
configs = {
{
axles = {
"vehicle/train/lner_flying_scotsman/lod_0_w1.msh",
"vehicle/train/lner_flying_scotsman/lod_0_w2.msh",
"vehicle/train/lner_flying_scotsman/lod_0_w3.msh",
"vehicle/train/lner_flying_scotsman/lod_0_w4.msh",
"vehicle/train/lner_flying_scotsman/lod_0_w5.msh",
}
}
},
soundSet = "train_steam_modern"
},
transportVehicle = {
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.7, -0.6, 1.3)), crew = true, standing = true},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(30.0, 0.0, 0.0), vec3.new(-5, 0.7, 1.3)), crew = true, standing = true},
},
carrier = "RAIL"
},
availability = {
yearFrom = 1925,
yearTo = 1949
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
},
particleSystem = {
emitters = {
{
position = {4.3632, .0, 3.8589},
velocity = { .0, .0, 10.0 },
color = { .3, .3, .3 },
frequency = 80,
lifeTime = 20.0,
size01 = { .8, 10.0 },
child = 1
},
{
position = { 4.195, 1.283, 1.0 },
velocity = { .0, 4.0, 0.0 },
color = { .4, .4, .4 },
frequency = 12,
lifeTime = 10.0,
size01 = { .8, 10.0 },
child = 1
},
{
position = { 4.195, -1.283, 1.0 },
velocity = { .0, -4.0, 0.0 },
color = { .4, .4, .4 },
frequency = 12,
lifeTime = 10.0,
size01 = { .8, 10.0 },
child = 1
}
}
}
},
}
end

View File

@ -0,0 +1,149 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
9.785943031311, 1.6869109869003, 4.4580950737,
},
bbMin = {
-9.785943031311, -1.6869109869003, -0.63750797510147,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/nohab_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.3174, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/train/nohab_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.3174, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/nohab/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/nohab/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/nohab/lod_0_interior.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/train/nohab/lod_0_logos.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.35,1.35),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 9.05, 1.153, 2.13)),
type = "MESH",
},{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.35,1.35),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 9.05, -1.153, 2.13)),
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.35,1.35),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 9.05, 0, 3.13)),
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
0, 0, 0,
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1740,
},
},
metadata = {
description = {
name = _("NoHAB AA16"),
description = _("This diesel-electric locomotive was a European variant of the American F-series from GM.")
},
railVehicle = {
topSpeed = 120,
weight = 108,
engines = {
{ type = "DIESEL", power = 1450, tractiveEffort = 200 }
},
configs = {
{
axles = {
"vehicle/train/nohab/lod_0_w1.msh",
"vehicle/train/nohab/lod_0_w1.msh",
"vehicle/train/nohab/lod_0_w1.msh",
"vehicle/train/nohab/lod_0_w1.msh",
"vehicle/train/nohab/lod_0_w1.msh",
}
}
},
soundSet = { name = "train_diesel", horn = "vehicle/train_diesel/horn_13_freight.wav" }
},
transportVehicle = {
carrier = "RAIL",
seats = {
{ group =11, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.8, .9, 2.22)), crew = true, standing = false},
},
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
},
},
}
end

View File

@ -0,0 +1,111 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/obb_1042_lod_0_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
transf = transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(0, 0, 0)), -- manual rotation
type = "GROUP",
}, {
id = "vehicle/train/obb_1042/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
transf = transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(0, 0, 0)), -- manual rotation
type = "MESH",
},{
id = "vehicle/train/obb_1042_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.9489, 0, 0, 1,
},
transf = transf.rotZYXTransl(transf.degToRad(180,0,0), vec3.new(3.9489, 0, 0)), -- manual rotation
type = "GROUP",
},{
id = "vehicle/train/obb_1042_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.9489, 0, 0, 1,
},
transf = transf.rotZYXTransl(transf.degToRad(180,0,0), vec3.new(-3.9489, 0, 0)), -- manual rotation
type = "GROUP",
}
},
events = {
},
matConfigs = {
{
0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1810,
},
},
metadata = {
description = {
name = _("Class 1042"),
description = _("The Class 1042 was a class of electric locomotives operated by the Austrian Federal Railways.")
},
railVehicle = {
topSpeed = 140,
weight = 83.9,
engines = {
{ type = "ELECTRIC", power = 3300, tractiveEffort = 260 }
},
configs = {
{
axles = {
"vehicle/train/obb_1042/lod_0_w1.msh",
}
},
},
soundSet = "train_electric_modern"
},
transportVehicle = {
carrier = "RAIL",
seats = {
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.9, -.7, 1.51)), crew = true, standing = false},
},
},
availability = {
yearFrom = 3000,
yearTo = 3000,
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 50
}
},
}
end

View File

@ -0,0 +1,124 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/plm_220_lod_0_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/train/plm_220_lod_0_coalcar.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -8.2365, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
[1] = {
forward = true,
name = "drive",
},
},
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1540,
},
},
metadata = {
description = {
name = _("PLM 220"),
description = _("The very futuristic \"Big C\" is a pioneer among the aerodynamic locomotives.")
},
railVehicle = {
topSpeed = 60,
weight = 57.4,
engines = {
{ type = "STEAM", power = 450, tractiveEffort = 75 }
},
configs = {
{
axles = {
"vehicle/train/plm_220/lod_0_w1.msh",
"vehicle/train/plm_220/lod_0_w2.msh",
"vehicle/train/plm_220/lod_0_w3.msh",
"vehicle/train/plm_220/lod_0_w4.msh"
}
}
},
soundSet = { name = "train_steam_old", horn = "vehicle/train_steam_old/steam_horn_20.wav" }
},
transportVehicle = {
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.2, -0.1, 1.4)), crew = true, standing = true},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(30.0, 0.0, 0.0), vec3.new(-5.4, 0.7, 1.4)), crew = true, standing = true},
},
carrier = "RAIL"
},
availability = {
yearFrom = 1890,
yearTo = 1940
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 35
},
particleSystem = {
emitters = {
{
position = {2.1654, .0, 4.207},
velocity = { .0, .0, 10.0 },
color = { .3, .3, .3 },
frequency = 80,
lifeTime = 20.0,
size01 = { .8, 10.0 },
child = 1
},
{
position = { -0.614, 1.2299, 1.0154 },
velocity = { .0, 4.0, 0.0 },
color = { .4, .4, .4 },
frequency = 12,
lifeTime = 10.0,
size01 = { .8, 10.0 },
child = 1
},
{
position = { -0.614, -1.2299, 1.0154 },
velocity = { .0, -4.0, 0.0 },
color = { .4, .4, .4 },
frequency = 12,
lifeTime = 10.0,
size01 = { .8, 10.0 },
child = 1
}
}
}
},
}
end

View File

@ -0,0 +1,367 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
12.39673614502, 1.5505640506744, 4.4065480232239,
},
bbMin = {
-12.780932426453, -1.5505640506744, -0.055481970310211,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/rabde_12_12_lod_2_front.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/rabde_12_12_lod_2_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.1577997207642, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/rabde_12_12_lod_2_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -9.1577997207642, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
{ name = "open_doors", forward = true },
},
close_all_doors = {
{ name = "open_doors", forward = false },
},
open_doors_left = {
{ name = "open_doors_left", forward = true },
},
close_doors_left = {
{ name = "open_doors_left", forward = false },
},
open_doors_right = {
{ name = "open_doors_right", forward = true },
},
close_doors_right = {
{ name = "open_doors_right", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0,
},
},
static = false,
visibleFrom = 350,
visibleTo = 2000,
},
{
animations = {
},
children = {
{
id = "vehicle/train/rabde_12_12_lod_1_front.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/rabde_12_12_lod_1_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.1577997207642, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/rabde_12_12_lod_1_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -9.1577997207642, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
{ name = "open_doors", forward = true },
},
close_all_doors = {
{ name = "open_doors", forward = false },
},
open_doors_left = {
{ name = "open_doors_left", forward = true },
},
close_doors_left = {
{ name = "open_doors_left", forward = false },
},
open_doors_right = {
{ name = "open_doors_right", forward = true },
},
close_doors_right = {
{ name = "open_doors_right", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0,
},
},
static = false,
visibleFrom = 120,
visibleTo = 350,
},
{
animations = {
},
children = {
{
id = "vehicle/train/rabde_12_12_lod_0_front.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/rabde_12_12_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.1577997207642, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/rabde_12_12_lod_0_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -9.1577997207642, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
{ name = "open_doors", forward = true },
},
close_all_doors = {
{ name = "open_doors", forward = false },
},
open_doors_left = {
{ name = "open_doors_left", forward = true },
},
close_doors_left = {
{ name = "open_doors_left", forward = false },
},
open_doors_right = {
{ name = "open_doors_right", forward = true },
},
close_doors_right = {
{ name = "open_doors_right", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 120,
},
},
metadata = {
availability = {
yearFrom = 3000,
yearTo = 3000,
},
cost = {
price = -1,
},
maintenance = {
lifespan = 50,
runningCosts = -1,
},
railVehicle = {
configs = {
{
axles = {
"vehicle/train/rabde_12_12_front/lod_2_w1.msh",
},
fakeBogies = {
},
},
{
axles = {
"vehicle/train/rabde_12_12_front/lod_1_w1.msh",
},
fakeBogies = {
},
},
{
axles = {
"vehicle/train/rabde_12_12_front/lod_0_w1.msh",
},
fakeBogies = {
},
},
},
engines = {
{
power = 815,
tractiveEffort = 80,
type = "ELECTRIC",
},
},
soundSet = {
horn = "",
name = "waggon_modern",
},
topSpeed = 125,
weight = 55,
},
transportVehicle = {
seats = {
-- driver
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(10.8, .7, 1)), crew = true, standing = false},
-- passengers
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.2, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(0.2, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.2, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(0.2, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(1.3, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(1.3, -1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.9, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.9, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.9, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.9, -1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.8, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(3.8, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.8, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(3.8, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.8, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(4.8, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.8, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(4.8, -1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.4, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(5.4, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.4, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(5.4, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.4, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(6.4, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.4, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(6.4, -1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(7.1, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(7.1, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(7.1, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(7.1, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(8.2, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(8.2, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(8.2, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(8.2, -1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.7, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-3.7, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.7, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-3.7, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.3, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-5.3, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.3, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-5.3, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.4, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-4.4, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.4, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-4.4, -1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-7.1, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-7.1, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-7.1, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-7.1, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.1, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-6.1, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.1, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-6.1, -1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-8.9, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-8.9, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-8.9, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-8.9,1, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-7.8, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-7.8, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-7.8, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-7.8, -1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-10.6, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-10.6, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-10.6, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-10.6,1, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-9.6, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-9.6, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-9.6, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-9.6, -1, 0.96)), },
},
capacities = {
{
capacity = 56,
type = "PASSENGERS",
},
},
carrier = "RAIL",
loadSpeed = 4,
multipleUnitOnly = true
},
},
}
end

View File

@ -0,0 +1,345 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
13.024568557739, 1.5505640506744, 5.8909320831299,
},
bbMin = {
-12.078281402588, -1.5505640506744, -0.055481970310211,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/rabde_12_12_lod_2_back.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/rabde_12_12_lod_2_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.3304004669189, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/rabde_12_12_lod_2_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 8.5118999481201, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
{ name = "open_doors", forward = true },
},
close_all_doors = {
{ name = "open_doors", forward = false },
},
open_doors_left = {
{ name = "open_doors_left", forward = true },
},
close_doors_left = {
{ name = "open_doors_left", forward = false },
},
open_doors_right = {
{ name = "open_doors_right", forward = true },
},
close_doors_right = {
{ name = "open_doors_right", forward = false },
},
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 350,
visibleTo = 2250,
},
{
animations = {
},
children = {
{
id = "vehicle/train/rabde_12_12_lod_1_back.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/rabde_12_12_lod_1_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.3304004669189, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/rabde_12_12_lod_1_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 8.5118999481201, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
{ name = "open_doors", forward = true },
},
close_all_doors = {
{ name = "open_doors", forward = false },
},
open_doors_left = {
{ name = "open_doors_left", forward = true },
},
close_doors_left = {
{ name = "open_doors_left", forward = false },
},
open_doors_right = {
{ name = "open_doors_right", forward = true },
},
close_doors_right = {
{ name = "open_doors_right", forward = false },
},
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 120,
visibleTo = 350,
},
{
animations = {
},
children = {
{
id = "vehicle/train/rabde_12_12_lod_0_back.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/rabde_12_12_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.3304004669189, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/rabde_12_12_lod_0_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 8.5118999481201, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
{ name = "open_doors", forward = true },
},
close_all_doors = {
{ name = "open_doors", forward = false },
},
open_doors_left = {
{ name = "open_doors_left", forward = true },
},
close_doors_left = {
{ name = "open_doors_left", forward = false },
},
open_doors_right = {
{ name = "open_doors_right", forward = true },
},
close_doors_right = {
{ name = "open_doors_right", forward = false },
},
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 120,
},
},
metadata = {
availability = {
yearFrom = 3000,
yearTo = 3000,
},
cost = {
price = -1,
},
maintenance = {
lifespan = 50,
runningCosts = -1,
},
railVehicle = {
configs = {
{
axles = {
"vehicle/train/rabde_12_12_front/lod_2_w1.msh",
},
fakeBogies = {
},
},
{
axles = {
"vehicle/train/rabde_12_12_front/lod_1_w1.msh",
},
fakeBogies = {
},
},
{
axles = {
"vehicle/train/rabde_12_12_front/lod_0_w1.msh",
},
fakeBogies = {
},
},
},
engines = {
{
power = 815,
tractiveEffort = 80,
type = "ELECTRIC",
},
},
soundSet = {
horn = "",
name = "train_electric_modern",
},
topSpeed = 125,
weight = 60,
},
transportVehicle = {
capacities = {
{
capacity = 144,
type = "PASSENGERS",
},
},
carrier = "RAIL",
loadSpeed = 3,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.2, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(0.2, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.2, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(0.2, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(1.3, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(1.3, -1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.9, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.9, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.9, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.9, -1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.8, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(3.8, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.8, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(3.8, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.8, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(4.8, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.8, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(4.8, -1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.1, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-4.1, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.1, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-4.1, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.1, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-3.1, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.1, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-3.1, -1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.9, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-5.9, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.9, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-4.9, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.9, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-4.9, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.9, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-4.9, -1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-7.6, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-7.6, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-7.6, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-7.6,1, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.6, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-6.6, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.6, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-6.6, -1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-9.4, -0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-9.4, -1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-9.4, 0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-9.3,1, 1, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-8.3, 0.8, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-8.3, 1.2, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-8.3, -0.55, 0.96)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-8.3, -1, 0.96)), },
},
multipleUnitOnly = true
},
},
}
end

View File

@ -0,0 +1,235 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
7.4868950843811, 1.5592080354691, 5.9032998085022,
},
bbMin = {
-7.4868950843811, -1.5592080354691, -0.54285299777985,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/re_44i/lod_2_re_44i.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/re_44i/lod_2_w.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.4563, 0, 0.4873, 1,
},
type = "MESH",
}, {
id = "vehicle/train/re_44i/lod_2_w.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.4907, 0, 0.4873, 1,
},
type = "MESH",
}, {
id = "vehicle/train/re_44i/lod_2_w.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.4563, 0, 0.4873, 1,
},
type = "MESH",
}, {
id = "vehicle/train/re_44i/lod_2_w.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.4907, 0, 0.4873, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0
},
},
static = false,
visibleFrom = 340,
visibleTo = 1770,
}, {
animations = {
},
children = {
{
id = "vehicle/train/re_44i/lod_1_re_44i.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/train/re_44i_lod_1_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.9748, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/re_44i_lod_1_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -3.9748, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 200,
visibleTo = 340,
}, {
animations = {
},
children = {
{
id = "vehicle/train/re_44i/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/re_44i_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.9748, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/re_44i_lod_0_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -3.9748, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/re_44i/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/train/re_44i/lod_0_logos.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.1,1.1),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 6.77, -0.885, 1.455)),
type = "MESH",
},{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.1,1.1),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 6.77, 0.885, 1.455)),
type = "MESH",
},{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.0,1.0),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 6.815, 0.0, 3.235)),
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 200,
},
},
metadata = {
description = {
name = _("Re 4/4"),
description = _("A light-weight locomotive for fast passenger trains, the first in Switzerland equipped with bogies.")
},
railVehicle = {
topSpeed = 125,
weight = 57,
engines = {
{ type = "ELECTRIC", power = 1900, tractiveEffort = 135 }
},
configs = {
{
},{
axles = {
"vehicle/train/re_44i/lod_1_w.msh",
}
},{
axles = {
"vehicle/train/re_44i/lod_0_w1.msh",
}
}
},
soundSet = { name = "train_electric_old", horn = "vehicle/train_electric_modern/horn_16.wav" }
},
transportVehicle = {
carrier = "RAIL",
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.5, .9, 1.25)), crew = true, standing = false},
},
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 55
}
},
}
end

View File

@ -0,0 +1,229 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
9.5686473846436, 1.3927730321884, 5.8968467712402,
},
bbMin = {
-9.1911715698242, -1.3927730321884, -0.55368798971176,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/re_450_lod_2_front_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.1392, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/re_450_lod_2_front_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.3955, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/train/re_450_lod_2_front.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 300,
visibleTo = 1990,
},
{
animations = {
},
children = {
{
id = "vehicle/train/re_450_lod_1_front_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.1392, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/re_450_lod_1_front_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.3955, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/train/re_450_lod_1_front.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[3] = { name = "open_doors", forward = true },
},
close_all_doors = {
[3] = { name = "open_doors", forward = false },
},
open_doors_left = {
[3] = { name = "open_doors", forward = true },
},
close_doors_left = {
[3] = { name = "open_doors", forward = false },
},
open_doors_right = {
[3] = { name = "open_doors", forward = true },
},
close_doors_right = {
[3] = { name = "open_doors", forward = false },
},
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 100,
visibleTo = 300,
},
{
animations = {
},
children = {
{
id = "vehicle/train/re_450_lod_0_front_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.1392, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/re_450_lod_0_front_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.3955, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/re_450_lod_0_front.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[3] = { name = "open_doors", forward = true },
},
close_all_doors = {
[3] = { name = "open_doors", forward = false },
},
open_doors_left = {
[3] = { name = "open_doors", forward = true },
},
close_doors_left = {
[3] = { name = "open_doors", forward = false },
},
open_doors_right = {
[3] = { name = "open_doors", forward = true },
},
close_doors_right = {
[3] = { name = "open_doors", forward = false },
},
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 100,
},
},
metadata = {
railVehicle = {
topSpeed = 130,
weight = 74,
engines = {
{ type = "ELECTRIC", power = 3200, tractiveEffort = 240 }
},
configs = {
{
axles = {
"vehicle/train/re_450/lod_2_w1.msh",
}
},
{
axles = {
"vehicle/train/re_450/lod_1_w1.msh",
}
},
{
axles = {
"vehicle/train/re_450/lod_0_w1.msh",
}
}
},
soundSet = { name = "train_electric_modern", horn = "vehicle/train_electric_modern/horn_21_intercity125.wav" }
},
transportVehicle = {
carrier = "RAIL",
multipleUnitOnly = true,
seats = {
-- driver
{ group =9, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(7.8, .6, 1.4)), crew = true, standing = false},
},
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 50
}
},
}
end

View File

@ -0,0 +1,410 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
13.32302570343, 1.4731160402298, 4.5481429100037,
},
bbMin = {
-13.327101707458, -1.4731160402298, -0.50950002670288,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/re_450_lod_2_repeat_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.9427, 0, 0, 1,
},
type = "GROUP",
},
{
id = "vehicle/train/re_450_lod_2_repeat_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.9427, 0, 0, 1,
},
type = "GROUP",
},
{
id = "vehicle/train/re_450_lod_2_mid.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[3] = { name = "open_doors", forward = true },
},
close_all_doors = {
[3] = { name = "open_doors", forward = false },
},
open_doors_left = {
[3] = { name = "open_doors_left", forward = true },
},
close_doors_left = {
[3] = { name = "open_doors_left", forward = false },
},
open_doors_right = {
[3] = { name = "open_doors_right", forward = true },
},
close_doors_right = {
[3] = { name = "open_doors_right", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0,
},
},
static = false,
visibleFrom = 300,
visibleTo = 2100,
},
{
animations = {
},
children = {
{
id = "vehicle/train/re_450_lod_1_repeat_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.9427, 0, 0, 1,
},
type = "GROUP",
},
{
id = "vehicle/train/re_450_lod_1_repeat_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.9427, 0, 0, 1,
},
type = "GROUP",
},
{
id = "vehicle/train/re_450_lod_1_mid.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[3] = { name = "open_doors", forward = true },
},
close_all_doors = {
[3] = { name = "open_doors", forward = false },
},
open_doors_left = {
[3] = { name = "open_doors_left", forward = true },
},
close_doors_left = {
[3] = { name = "open_doors_left", forward = false },
},
open_doors_right = {
[3] = { name = "open_doors_right", forward = true },
},
close_doors_right = {
[3] = { name = "open_doors_right", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0,
},
},
static = false,
visibleFrom = 100,
visibleTo = 300,
},
{
animations = {
},
children = {
{
id = "vehicle/train/re_450_lod_0_repeat_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.9427, 0, 0, 1,
},
type = "GROUP",
},
{
id = "vehicle/train/re_450_lod_0_repeat_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.9427, 0, 0, 1,
},
type = "GROUP",
},
{
id = "vehicle/train/re_450_lod_0_mid.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[3] = { name = "open_doors", forward = true },
},
close_all_doors = {
[3] = { name = "open_doors", forward = false },
},
open_doors_left = {
[3] = { name = "open_doors_left", forward = true },
},
close_doors_left = {
[3] = { name = "open_doors_left", forward = false },
},
open_doors_right = {
[3] = { name = "open_doors_right", forward = true },
},
close_doors_right = {
[3] = { name = "open_doors_right", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 100,
},
},
metadata = {
description = {
name = _("Double-deck car"),
description = _("A standard double-deck train car, often used for local transport.")
},
railVehicle = {
topSpeed = 130,
weight = 48,
configs = {
{
axles = {
"vehicle/train/re_450_b/lod_2_w2.msh",
}
},
{
axles = {
"vehicle/train/re_450_b/lod_1_w2.msh",
}
},
{
axles = {
"vehicle/train/re_450_b/lod_0_w2.msh",
}
}
},
soundSet = "waggon_modern"
},
transportVehicle = {
capacities = {
{ type = "PASSENGERS", capacity = 132 }
},
carrier = "RAIL",
loadSpeed = 4,
seats = {
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(11.5, -0.6, 1.2)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(11.5, -1.15, 1.2)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(11.5, 0.4, 1.2)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(11.5, 0.9, 1.2)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(12.4, 0.6, 1.2)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(12.4, 1.15, 1.2)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(12.4, -0.4, 1.2)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(12.4, -0.9, 1.2)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, -0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(0.3, -1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, 0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(0.3, 0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.2, 0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(1.2, 1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.2, -0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(1.2, -0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2, -0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(2, -1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2, 0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(2, 0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, 0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.9, 1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, -0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.9, -0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.7, -0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(3.7, -1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.7, 0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(3.7, 0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.6, 0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(4.6, 1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.6, -0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(4.6, -0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.3, -0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(5.3, -1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.3, 0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(5.3, 0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.2, 0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(6.2, 1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.2, -0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(6.2, -0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(7.3, 0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(7.3, 1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(7.3, -0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.2, -0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-1.2, -1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.2, 0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-1.2, 0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.3, 0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-0.3, 1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.3, -0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-0.3, -0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.9, -0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-2.9, -1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.9, 0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-2.9, 0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2, 0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-2, 1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2, -0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-2, -0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.6, -0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-4.6, -1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.6, 0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-4.6, 0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, 0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-3.7, 1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, -0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-3.7, -0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.2, -0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-6.2, -1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.2, 0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-6.2, 0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-5.3, 0.6, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-5.3, 1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-5.3, -0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-5.3, -0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(.0, 0.0, 0.0), vec3.new(-7.2, 0.4, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-7.2, -1.1, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-7.2, 0.9, 0.4)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, -0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(0.3, -1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, 0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(0.3, 0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.2, 0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(1.2, 1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.2, -0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(1.2, -0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2, -0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(2, -1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2, 0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(2, 0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, 0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.9, 1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, -0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.9, -0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.7, -0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(3.7, -1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.7, 0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(3.7, 0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.6, 0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(4.6, 1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.6, -0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(4.6, -0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.3, -0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(5.3, -1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.3, 0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(5.3, 0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.2, 0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(6.2, 1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.2, -0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(6.2, -0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(7.3, 1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(7.3, -0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.2, -0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-1.2, -1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.2, 0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-1.2, 0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.3, 0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-0.3, 1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.3, -0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-0.3, -0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.9, -0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-2.9, -1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.9, 0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-2.9, 0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2, 0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-2, 1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2, -0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-2, -0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.6, -0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-4.6, -1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.6, 0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-4.6, 0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, 0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-3.7, 1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, -0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-3.7, -0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.2, -0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-6.2, -1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.2, 0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-6.2, 0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-5.3, 0.6, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-5.3, 1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-5.3, -0.4, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-5.3, -0.9, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-7.2, -1.1, 2.45)), },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-7.2, 0.9, 2.45)), },
},
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 50
}
},
}
end

View File

@ -0,0 +1,390 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
13.272323608398, 1.4731160402298, 4.5481429100037,
},
bbMin = {
-13.513454437256, -1.4731160402298, -0.06113899871707,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/re_450_lod_2_repeat_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.8879, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/train/re_450_lod_2_repeat_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.9331, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/re_450_lod_2_end.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[3] = { name = "open_doors", forward = true },
},
close_all_doors = {
[3] = { name = "open_doors", forward = false },
},
open_doors_left = {
[3] = { name = "open_doors_left", forward = true },
},
close_doors_left = {
[3] = { name = "open_doors_left", forward = false },
},
open_doors_right = {
[3] = { name = "open_doors_right", forward = true },
},
close_doors_right = {
[3] = { name = "open_doors_right", forward = false },
},
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 300,
visibleTo = 2100,
},
{
animations = {
},
children = {
{
id = "vehicle/train/re_450_lod_1_repeat_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.8879, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/train/re_450_lod_1_repeat_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.9331, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/re_450_lod_1_end.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[3] = { name = "open_doors", forward = true },
},
close_all_doors = {
[3] = { name = "open_doors", forward = false },
},
open_doors_left = {
[3] = { name = "open_doors_left", forward = true },
},
close_doors_left = {
[3] = { name = "open_doors_left", forward = false },
},
open_doors_right = {
[3] = { name = "open_doors_right", forward = true },
},
close_doors_right = {
[3] = { name = "open_doors_right", forward = false },
},
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 100,
visibleTo = 300,
},
{
animations = {
},
children = {
{
id = "vehicle/train/re_450_lod_0_repeat_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.8879, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/train/re_450_lod_0_repeat_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.9331, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/re_450_lod_0_end.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[3] = { name = "open_doors", forward = true },
},
close_all_doors = {
[3] = { name = "open_doors", forward = false },
},
open_doors_left = {
[3] = { name = "open_doors_left", forward = true },
},
close_doors_left = {
[3] = { name = "open_doors_left", forward = false },
},
open_doors_right = {
[3] = { name = "open_doors_right", forward = true },
},
close_doors_right = {
[3] = { name = "open_doors_right", forward = false },
},
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 100,
},
},
metadata = {
railVehicle = {
topSpeed = 130,
weight = 49,
configs = {
{
axles = {
"vehicle/train/re_450_b/lod_2_w2.msh",
}
},
{
axles = {
"vehicle/train/re_450_b/lod_1_w2.msh",
}
},
{
axles = {
"vehicle/train/re_450_b/lod_0_w2.msh",
}
}
},
soundSet = "waggon_modern"
},
transportVehicle = {
capacities = {
{ type = "PASSENGERS", capacity = 132 }
},
carrier = "RAIL",
loadSpeed = 4,
seats = {
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(11.5, -0.6, 1.2)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(11.5, -1.15, 1.2)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(11.5, 0.4, 1.2)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(11.5, 0.9, 1.2)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(12.4, 0.6, 1.2)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(12.4, 1.15, 1.2)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(12.4, -0.4, 1.2)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(12.4, -0.9, 1.2)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, -0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(0.3, -1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, 0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(0.3, 0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.2, 0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(1.2, 1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.2, -0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(1.2, -0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2, -0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(2, -1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2, 0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(2, 0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, 0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.9, 1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, -0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.9, -0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.7, -0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(3.7, -1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.7, 0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(3.7, 0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.6, 0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(4.6, 1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.6, -0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(4.6, -0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.3, -0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(5.3, -1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.3, 0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(5.3, 0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.2, 0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(6.2, 1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.2, -0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(6.2, -0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(7.3, 0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(7.3, 1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(7.3, -0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.2, -0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-1.2, -1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.2, 0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-1.2, 0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.3, 0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-0.3, 1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.3, -0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-0.3, -0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.9, -0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-2.9, -1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.9, 0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-2.9, 0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2, 0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-2, 1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2, -0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-2, -0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.6, -0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-4.6, -1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.6, 0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-4.6, 0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, 0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-3.7, 1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, -0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-3.7, -0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.2, -0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-6.2, -1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.2, 0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-6.2, 0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-5.3, 0.6, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-5.3, 1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-5.3, -0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-5.3, -0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(.0, 0.0, 0.0), vec3.new(-7.2, 0.4, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-7.2, -1.1, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-7.2, 0.9, 0.4)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, -0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(0.3, -1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, 0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(0.3, 0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.2, 0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(1.2, 1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.2, -0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(1.2, -0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2, -0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(2, -1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2, 0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(2, 0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, 0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.9, 1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, -0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.9, -0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.7, -0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(3.7, -1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.7, 0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(3.7, 0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.6, 0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(4.6, 1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.6, -0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(4.6, -0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.3, -0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(5.3, -1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.3, 0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(5.3, 0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.2, 0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(6.2, 1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.2, -0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(6.2, -0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(7.3, 1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(7.3, -0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.2, -0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-1.2, -1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.2, 0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-1.2, 0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.3, 0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-0.3, 1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.3, -0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-0.3, -0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.9, -0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-2.9, -1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.9, 0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-2.9, 0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2, 0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-2, 1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2, -0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-2, -0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.6, -0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-4.6, -1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.6, 0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-4.6, 0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, 0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-3.7, 1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, -0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-3.7, -0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.2, -0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-6.2, -1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.2, 0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-6.2, 0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-5.3, 0.6, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-5.3, 1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-5.3, -0.4, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-5.3, -0.9, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-7.2, -1.1, 2.45)), crew = false },
{ group =18, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-7.2, 0.9, 2.45)), crew = false },
},
multipleUnitOnly = true
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 50
}
},
}
end

View File

@ -0,0 +1,258 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
12.747671127319, 1.6252870559692, 5.9047808647156,
},
bbMin = {
-12.747671127319, -1.6252870559692, -0.53837102651596,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/roterpfeil/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/roterpfeil_lod_0_doors.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.1544, -1.4209, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/roterpfeil_lod_0_doors.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -6.1544, 1.4209, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/roterpfeil_lod_0_doors2.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -6.1544, -1.4209, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/roterpfeil_lod_0_doors2.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.1544, 1.4209, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/roterpfeil_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.0916, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/roterpfeil_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.0916,0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/roterpfeil/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/train/roterpfeil/lod_0_logos.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(0.8,0.8,0.8),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 10.17, 0.0, 3.19)),
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(0.8,0.8,0.8),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 11.86, -0.81, 1.41)),
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(0.8,0.8,0.8),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 11.86, 0.81, 1.41)),
type = "MESH",
},
},
events = {
open_all_doors = {
[2] = { name = "open_doors", forward = true },
[3] = { name = "open_doors", forward = true },
[4] = { name = "open_doors", forward = true },
[5] = { name = "open_doors", forward = true },
},
close_all_doors = {
[2] = { name = "open_doors", forward = false },
[3] = { name = "open_doors", forward = false },
[4] = { name = "open_doors", forward = false },
[5] = { name = "open_doors", forward = false },
},
open_doors_left = {
[3] = { name = "open_doors", forward = true },
[5] = { name = "open_doors", forward = true },
},
close_doors_left = {
[3] = { name = "open_doors", forward = false },
[5] = { name = "open_doors", forward = false },
},
open_doors_right = {
[2] = { name = "open_doors", forward = true },
[4] = { name = "open_doors", forward = true },
},
close_doors_right = {
[2] = { name = "open_doors", forward = false },
[4] = { name = "open_doors", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 2270,
},
},
metadata = {
description = {
name = _("CLe 2/4 Red Arrow"),
description = _("This single unit express rail car was very popular in Switzerland.")
},
railVehicle = {
topSpeed = 125,
weight = 33,
engines = {
{ type = "ELECTRIC", power = 315, tractiveEffort = 50 }
},
configs = {
{
axles = {
"vehicle/train/roterpfeil/lod_0_w1.msh"
}
}
},
soundSet = "train_electric_old"
},
transportVehicle = {
carrier = "RAIL",
capacities = {
{ type = "PASSENGERS", capacity = 70 }
},
loadSpeed = 2,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(8.0, -0.7, 0.9)), crew = true},
-- passengers
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.5, -0.7, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-0.5, -1.1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.5, 0.5, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-0.5, 1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.5, 0.7, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(0.5, 1.1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.5, -0.5, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(0.5, -1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.2, -0.7, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.2, -1.1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.2, 0.5, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.2, 1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.2, 0.7, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.2, 1.1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.2, -0.5, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.2, -1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.9, -0.7, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(2.9, -1.1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.9, 0.5, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(2.9, 1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.9, 0.7, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(3.9, 1.1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.9, -0.5, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(3.9, -1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.6, -0.7, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(4.6, -1.1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.6, 0.5, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(4.6, 1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5.6, 0.7, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(5.6, 1.1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5.6, -0.5, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(5.6, -1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.2, -0.7, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-2.2, -1.1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.2, 0.5, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-2.2, 1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.2, 0.7, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-1.2, 1.1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.2, -0.5, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-1.2, -1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.9, -0.7, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-3.9, -1.1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.9, 0.5, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-3.9, 1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.9, 0.7, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-2.9, 1.1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.9, -0.5, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-2.9, -1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.6, -0.7, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-5.6, -1.1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.6, 0.5, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-5.6, 1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.6, 0.7, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-4.6, 1.1, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.6, -0.5, 0.8)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-4.6, -1, 0.8)), crew = false},
},
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
}
},
}
end

View File

@ -0,0 +1,388 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
6.770984172821, 1.4350030422211, 3.3898859024048,
},
bbMin = {
-6.770984172821, -1.4350030422211, -0.488813996315,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/schienenbus/lod_2_lod2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/schienenbus/lod_2_w_lod2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.9114, 0, 0.4608, 1,
},
type = "MESH",
}, {
id = "vehicle/train/schienenbus/lod_2_w_lod2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.9114, 0, 0.4608, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 220,
visibleTo = 1260,
}, {
animations = {
},
children = {
{
id = "vehicle/train/schienenbus/lod_1_lod1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/schienenbus/lod_1_w_lod1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.9114, 0, 0.4608, 1,
},
type = "MESH",
}, {
id = "vehicle/train/schienenbus/lod_1_w_lod1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.9114, 0, 0.4608, 1,
},
type = "MESH",
}, {
id = "vehicle/train/schienenbus_doors_lod1.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.4433, 1.4327, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/schienenbus_doors_lod1.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.4433, -1.4010, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/schienenbus_doors_lod1.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -5.4433, -1.4327, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/schienenbus_doors_lod1.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -5.4433, 1.4010, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[4] = { name = "open_all_doors", forward = true },
[5] = { name = "open_all_doors_inv", forward = true },
[6] = { name = "open_all_doors", forward = true },
[7] = { name = "open_all_doors_inv", forward = true },
},
close_all_doors = {
[4] = { name = "open_all_doors", forward = false },
[5] = { name = "open_all_doors_inv", forward = false },
[6] = { name = "open_all_doors", forward = false },
[7] = { name = "open_all_doors_inv", forward = false },
},
open_doors_left = {
[4] = { name = "open_all_doors", forward = true },
[7] = { name = "open_all_doors_inv", forward = true },
},
close_doors_left = {
[4] = { name = "open_all_doors", forward = false },
[7] = { name = "open_all_doors_inv", forward = false },
},
open_doors_right = {
[5] = { name = "open_all_doors_inv", forward = true },
[6] = { name = "open_all_doors", forward = true },
},
close_doors_right = {
[5] = { name = "open_all_doors_inv", forward = false },
[6] = { name = "open_all_doors", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 120,
visibleTo = 220,
}, {
animations = {
},
children = {
{
id = "vehicle/train/schienenbus/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/schienenbus/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.9114, 0, 0.4608, 1,
},
type = "MESH",
}, {
id = "vehicle/train/schienenbus/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.9114, 0, 0.4608, 1,
},
type = "MESH",
}, {
id = "vehicle/train/schienenbus_doors_lod0.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.4433, 1.4327, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/schienenbus_doors_lod0.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.4433, -1.4010, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/schienenbus_doors_lod0.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -5.4433, -1.4327, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/schienenbus_doors_lod0.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -5.4433, 1.4010, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/schienenbus/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,.9,.9),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 6.22, -0.003, 2.965)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,.8,.8),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 6.35, 0.845, 1.48)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,.8,.8),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 6.35, -0.845, 1.48)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_red.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,.8,.8),transf.degToRad( 180.0, 0.0, 0.0), vec3.new( -6.35, 0.845, 1.48)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_red.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,.8,.8),transf.degToRad( 180.0, 0.0, 0.0), vec3.new( -6.35, -0.845, 1.48)),
type = "MESH",
},
{
id = "vehicle/train/schienenbus/lod_0_logos.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[4] = { name = "open_all_doors", forward = true },
[5] = { name = "open_all_doors_inv", forward = true },
[6] = { name = "open_all_doors", forward = true },
[7] = { name = "open_all_doors_inv", forward = true },
},
close_all_doors = {
[4] = { name = "open_all_doors", forward = false },
[5] = { name = "open_all_doors_inv", forward = false },
[6] = { name = "open_all_doors", forward = false },
[7] = { name = "open_all_doors_inv", forward = false },
},
open_doors_left = {
[4] = { name = "open_all_doors", forward = true },
[7] = { name = "open_all_doors_inv", forward = true },
},
close_doors_left = {
[4] = { name = "open_all_doors", forward = false },
[7] = { name = "open_all_doors_inv", forward = false },
},
open_doors_right = {
[5] = { name = "open_all_doors_inv", forward = true },
[6] = { name = "open_all_doors", forward = true },
},
close_doors_right = {
[5] = { name = "open_all_doors_inv", forward = false },
[6] = { name = "open_all_doors", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 120,
},
},
metadata = {
description = {
name = _("Railbus"),
description = _("These vehicles were diesel-powered, twin-axle rail buses of light construction. The motors were built into the chassis underneath the vehicle.")
},
railVehicle = {
topSpeed = 90,
weight = 13,
engines = {
{ type = "DIESEL", power = 110, tractiveEffort = 20 }
},
configs = {
{},
{
axles = {
"vehicle/train/schienenbus/lod_1_w_lod1.msh"
}
},
{
axles = {
"vehicle/train/schienenbus/lod_0_w1.msh"
}
}
},
soundSet = { name = "train_diesel", horn = "vehicle/truck_modern/horn.wav" }
},
transportVehicle = {
carrier = "RAIL",
capacities = {
{ type = "PASSENGERS", capacity = 57 }
},
loadSpeed = 2,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(5.1, 0.00, 1)), crew = true},
-- passengers
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.35, -0.6, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-0.35, -1.1, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-0.35, 0.9, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.35, -0.4, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(0.35, -0.9, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(0.35, 0.9, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.3, -0.6, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-2.3, -1.1, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-2.3, 0.9, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.3, -0.4, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-1.3, -0.9, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-1.3, 0.9, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.1, -0.6, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-4.1, -1.1, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-4.1, 0.9, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.1, -0.4, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-3.1, -0.9, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-3.1, 0.9, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.1, -0.6, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(4.1, -1.1, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(4.1, 0.9, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.1, -0.4, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(3.1, -0.9, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(3.1, 0.9, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.3, -0.6, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.1, -1.1, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.1, 0.9, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.1, -0.4, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.1, -0.9, 1)), crew = false},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.1, 0.9, 1)), crew = false},
},
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
}
},
}
end

View File

@ -0,0 +1,135 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
12.889254570007, 1.4482200145721, 5.9023561477661,
},
bbMin = {
-10.999389801025, -1.4482200145721, -0.071776986122131,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/tgv/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/tgv_lod_0_bogie1.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.5725002288818, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/tgv_lod_0_bogie1.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -7.5725002288818, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/tgv/lod_0_interior_front.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/train/tgv/lod_0_logos_front.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.0,1.0),transf.degToRad( 26.0, -60.0, 0.0), vec3.new( 11.98, 0.8, 1.785)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.0,1.0),transf.degToRad( -40.0, -60.0, 0.0), vec3.new( 11.98, -0.82, 1.775)),
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 2190,
},
},
metadata = {
railVehicle = {
topSpeed = 300,
weight = 70,
engines = {
{ type = "ELECTRIC", power = 3225, tractiveEffort = 350 }
},
configs = {
{
axles = {
"vehicle/train/tgv/lod_0_w1.msh",
}
}
},
soundSet = { name = "train_electric_modern", horn = "vehicle/train_electric_modern/horn_21_intercity125.wav" }
},
transportVehicle = {
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(8.6, -0.7, 1.65)), crew = true},
},
carrier = "RAIL",
multipleUnitOnly = true,
},
availability = {
yearFrom = 3000,
yearTo = 3000,
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 50
}
},
}
end

View File

@ -0,0 +1,370 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
12.709259986877, 1.4965599775314, 4.1977119445801,
},
bbMin = {
-9.551776663208, -1.4965599775314, -0.071776986122131,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
--[[
{
animations = {
},
children = {
{
id = "vehicle/train/tgv/tgv_lod_2_waggon_front.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv/tgv_lod_2_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.2533001899719, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv/tgv_lod_2_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.2533001899719, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv_lod_2_bogie1.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.5516996383667, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/tgv_lod_2_bogie2.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.5516996383667, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
},
close_all_doors = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
},
open_doors_left = {
[3] = { name = "opend2", forward = true },
},
close_doors_left = {
[3] = { name = "opend2", forward = false },
},
open_doors_right = {
[2] = { name = "opend1", forward = true },
},
close_doors_right = {
[2] = { name = "opend1", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 350,
visibleTo = 4000,
},
{
animations = {
},
children = {
{
id = "vehicle/train/tgv/tgv_lod_1_waggon_front.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv/tgv_lod_1_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.2533001899719, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv/tgv_lod_1_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.2533001899719, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv_lod_1_bogie1.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.5516996383667, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/tgv_lod_1_bogie2.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.5516996383667, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
},
close_all_doors = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
},
open_doors_left = {
[3] = { name = "opend2", forward = true },
},
close_doors_left = {
[3] = { name = "opend2", forward = false },
},
open_doors_right = {
[2] = { name = "opend1", forward = true },
},
close_doors_right = {
[2] = { name = "opend1", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 150,
visibleTo = 350,
},
]]--
{
animations = {
},
children = {
{
id = "vehicle/train/tgv/lod_0_waggon_front.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/train/tgv/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.2533001899719, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.2533001899719, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv_lod_0_bogie1.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.5516996383667, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/tgv_lod_0_bogie2.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.5516996383667, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/tgv/lod_0_interior_waggon_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 = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
},
close_all_doors = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
},
open_doors_left = {
[3] = { name = "opend2", forward = true },
},
close_doors_left = {
[3] = { name = "opend2", forward = false },
},
open_doors_right = {
[2] = { name = "opend1", forward = true },
},
close_doors_right = {
[2] = { name = "opend1", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1920,
},
},
metadata = {
availability = {
yearFrom = 3000,
yearTo = 3000,
},
cost = {
price = -1,
},
maintenance = {
lifespan = 50,
runningCosts = -1,
},
railVehicle = {
configs = {
--[[
{
axles = {
"vehicle/train/tgv/tgv_lod_2_w1.msh",
}
},
{
axles = {
"vehicle/train/tgv/tgv_lod_1_w1.msh",
}
},
]]--
{
axles = {
"vehicle/train/tgv/lod_0_w1.msh",
}
}
},
engines = {
},
soundSet = {
horn = "",
name = "waggon_modern",
},
topSpeed = 300,
weight = 32.5,
},
transportVehicle = {
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(-1.5, 0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20, 0.0, 0.0), vec3.new(-1.5, 1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(-1.5, -0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20, 0.0, 0.0), vec3.new(-1.5, -1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(-0.6, -0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200, 0.0, 0.0), vec3.new(-0.6, -1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(-0.6, 0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200, 0.0, 0.0), vec3.new(-0.6, 1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(0.5, 0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20, 0.0, 0.0), vec3.new(0.5, 1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(0.5, -0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20, 0.0, 0.0), vec3.new(0.5, -1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(1.4, -0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200, 0.0, 0.0), vec3.new(1.4, -1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(1.4, 0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200, 0.0, 0.0), vec3.new(1.4, 1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(2.5, 0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20, 0.0, 0.0), vec3.new(2.5, 1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(2.5, -0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20, 0.0, 0.0), vec3.new(2.5, -1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(3.4, -0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200, 0.0, 0.0), vec3.new(3.4, -1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(3.4, 0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200, 0.0, 0.0), vec3.new(3.4, 1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(-3.5, 0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20, 0.0, 0.0), vec3.new(-3.5, 1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(-3.5, -0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20, 0.0, 0.0), vec3.new(-3.5, -1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(-2.6, -0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200, 0.0, 0.0), vec3.new(-2.6, -1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(-2.6, 0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200, 0.0, 0.0), vec3.new(-2.6, 1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(-5.5, 0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20, 0.0, 0.0), vec3.new(-5.5, 1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(-5.5, -0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20, 0.0, 0.0), vec3.new(-5.5, -1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(-4.6, -0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200, 0.0, 0.0), vec3.new(-4.6, -1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(-4.6, 0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200, 0.0, 0.0), vec3.new(-4.6, 1.2, 1)), },
},
capacities = {
{
capacity = 52,
type = "PASSENGERS",
},
},
carrier = "RAIL",
loadSpeed = 1,
multipleUnitOnly = true
},
},
}
end

View File

@ -0,0 +1,379 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
-- minus 1.9886
bbMax = {
10.151077047729, 1.4965599775314, 3.9383640289307,
},
bbMin = {
-8.915776983643, -1.4965599775314, -0.071776986122131,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
--[[
{
animations = {
},
children = {
{
id = "vehicle/train/tgv/tgv_lod_2_waggon_mid.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv/tgv_lod_2_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.8803000450134, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv/tgv_lod_2_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.8803000450134, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv_lod_2_bogie2.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 10.151000022888, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/tgv_lod_2_bogie2.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -8.9156999588013, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
},
close_all_doors = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
},
open_doors_left = {
[3] = { name = "opend2", forward = true },
},
close_doors_left = {
[3] = { name = "opend2", forward = false },
},
open_doors_right = {
[2] = { name = "opend1", forward = true },
},
close_doors_right = {
[2] = { name = "opend1", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 350,
visibleTo = 4000,
},
{
animations = {
},
children = {
{
id = "vehicle/train/tgv/tgv_lod_1_waggon_mid.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv/tgv_lod_1_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.8803000450134, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv/tgv_lod_1_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.8803000450134, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv_lod_1_bogie2.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 10.151000022888, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/tgv_lod_1_bogie2.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -8.9156999588013, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
},
close_all_doors = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
},
open_doors_left = {
[3] = { name = "opend2", forward = true },
},
close_doors_left = {
[3] = { name = "opend2", forward = false },
},
open_doors_right = {
[2] = { name = "opend1", forward = true },
},
close_doors_right = {
[2] = { name = "opend1", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 150,
visibleTo = 350,
},
]]--
{
animations = {
},
children = {
{
id = "vehicle/train/tgv/lod_0_waggon_mid.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.8803000450134, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.8803000450134, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/tgv_lod_0_bogie2.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 10.151000022888, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/tgv_lod_0_bogie2.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -8.9156999588013, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/tgv/lod_0_interior_waggon_mid.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
},
close_all_doors = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
},
open_doors_left = {
[3] = { name = "opend2", forward = true },
},
close_doors_left = {
[3] = { name = "opend2", forward = false },
},
open_doors_right = {
[2] = { name = "opend1", forward = true },
},
close_doors_right = {
[2] = { name = "opend1", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1820,
},
},
metadata = {
availability = {
yearFrom = 3000,
yearTo = 3000,
},
cost = {
price = -1,
},
maintenance = {
lifespan = 50,
runningCosts = -1,
},
railVehicle = {
configs = {
--[[
{
axles = {
"vehicle/train/tgv/tgv_lod_2_w1.msh",
}
},
{
axles = {
"vehicle/train/tgv/tgv_lod_1_w1.msh",
}
},
]]--
{
axles = {
"vehicle/train/tgv/lod_0_w1.msh",
}
}
},
engines = {
},
soundSet = {
horn = "",
name = "waggon_modern",
},
topSpeed = 300,
weight = 30,
},
transportVehicle = {
capacities = {
{
capacity = 92,
type = "PASSENGERS",
},
},
carrier = "RAIL",
loadSpeed = 1,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(3.9, -0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200, 0.0, 0.0), vec3.new(3.9, -1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(3.9, 0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200, 0.0, 0.0), vec3.new(3.9, 1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(2.8, -0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200, 0.0, 0.0), vec3.new(2.8, -1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(2.8, 0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200, 0.0, 0.0), vec3.new(2.8, 1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(0.6, 0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20, 0.0, 0.0), vec3.new(0.6, 1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(0.6, -0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20, 0.0, 0.0), vec3.new(0.6, -1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(1.6, -0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200, 0.0, 0.0), vec3.new(1.6, -1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(1.6, 0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200, 0.0, 0.0), vec3.new(1.6, 1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(-1.5, 0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20, 0.0, 0.0), vec3.new(-1.5, 1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(-1.5, -0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20, 0.0, 0.0), vec3.new(-1.5, -1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(-.4, 0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20, 0.0, 0.0), vec3.new(-.4, 1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(-.4, -0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20, 0.0, 0.0), vec3.new(-.4, -1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(-3.5, 0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20, 0.0, 0.0), vec3.new(-3.5, 1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(-3.5, -0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20, 0.0, 0.0), vec3.new(-3.5, -1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(-2.6, -0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200, 0.0, 0.0), vec3.new(-2.6, -1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(-2.6, 0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200, 0.0, 0.0), vec3.new(-2.6, 1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(-5.5, 0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20, 0.0, 0.0), vec3.new(-5.5, 1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(-5.5, -0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20, 0.0, 0.0), vec3.new(-5.5, -1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(-4.6, -0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200, 0.0, 0.0), vec3.new(-4.6, -1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(-4.6, 0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200, 0.0, 0.0), vec3.new(-4.6, 1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(4.9, 0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20, 0.0, 0.0), vec3.new(4.9, 1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0, 0.0, 0.0), vec3.new(4.9, -0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20, 0.0, 0.0), vec3.new(4.9, -1.2, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(5.85, -0.5, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200, 0.0, 0.0), vec3.new(5.85, -1, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180, 0.0, 0.0), vec3.new(5.85, 0.7, 1)), },
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200, 0.0, 0.0), vec3.new(5.85, 1.2, 1)), },
},
multipleUnitOnly = true
},
},
}
end

View File

@ -0,0 +1,511 @@
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

View File

@ -0,0 +1,551 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
13.272152900696, 1.4717669487, 4.8094282150269,
},
bbMin = {
-13.272152900696, -1.4717669487, -0.064345985651016,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/train/twindexx/lod_2_d5.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.2399997711182, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/twindexx/lod_2_d6.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.2399997711182, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/twindexx/lod_2_d5.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -5.2399997711182, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/twindexx/lod_2_d6.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 5.2399997711182, 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.6660995483398, 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, 9.6660995483398, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/twindexx/lod_2_back.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 = "opend5", forward = true },
{ name = "opend6", forward = true },
{ name = "opend5", forward = true },
{ name = "opend6", forward = true },
},
close_all_doors = {
{ name = "opend5", forward = false },
{ name = "opend6", forward = false },
{ name = "opend5", forward = false },
{ name = "opend6", forward = false },
},
open_doors_left = {
[1] = { name = "opend5", forward = true },
[2] = { name = "opend6", forward = true },
},
close_doors_left = {
[1] = { name = "opend5", forward = false },
[2] = { name = "opend6", forward = false },
},
open_doors_right = {
[3] = { name = "opend5", forward = true },
[4] = { name = "opend6", forward = true },
},
close_doors_right = {
[3] = { name = "opend5", forward = false },
[4] = { name = "opend6", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 450,
visibleTo = 2140,
},
{
animations = {
},
children = {
{
id = "vehicle/train/twindexx/lod_1_d5.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.2399997711182, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/twindexx/lod_1_d6.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.2399997711182, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/twindexx/lod_1_d5.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -5.2399997711182, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/twindexx/lod_1_d6.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 5.2399997711182, 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.6660995483398, 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, 9.6660995483398, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/twindexx/lod_1_back.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 = "opend5", forward = true },
{ name = "opend6", forward = true },
{ name = "opend5", forward = true },
{ name = "opend6", forward = true },
},
close_all_doors = {
{ name = "opend5", forward = false },
{ name = "opend6", forward = false },
{ name = "opend5", forward = false },
{ name = "opend6", forward = false },
},
open_doors_left = {
[1] = { name = "opend5", forward = true },
[2] = { name = "opend6", forward = true },
},
close_doors_left = {
[1] = { name = "opend5", forward = false },
[2] = { name = "opend6", forward = false },
},
open_doors_right = {
[3] = { name = "opend5", forward = true },
[4] = { name = "opend6", forward = true },
},
close_doors_right = {
[3] = { name = "opend5", forward = false },
[4] = { name = "opend6", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 150,
visibleTo = 450,
},
{
animations = {
},
children = {
{
id = "vehicle/train/twindexx/lod_0_d5.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.2399997711182, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/twindexx/lod_0_d6.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.2399997711182, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/twindexx/lod_0_d5.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -5.2399997711182, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/train/twindexx/lod_0_d6.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 5.2399997711182, 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.6660995483398, 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, 9.6660995483398, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/train/twindexx/lod_0_back.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_interior_back.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_logos_back.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 = "opend5", forward = true },
{ name = "opend6", forward = true },
{ name = "opend5", forward = true },
{ name = "opend6", forward = true },
},
close_all_doors = {
{ name = "opend5", forward = false },
{ name = "opend6", forward = false },
{ name = "opend5", forward = false },
{ name = "opend6", forward = false },
},
open_doors_left = {
[1] = { name = "opend5", forward = true },
[2] = { name = "opend6", forward = true },
},
close_doors_left = {
[1] = { name = "opend5", forward = false },
[2] = { name = "opend6", forward = false },
},
open_doors_right = {
[3] = { name = "opend5", forward = true },
[4] = { name = "opend6", forward = true },
},
close_doors_right = {
[3] = { name = "opend5", forward = false },
[4] = { name = "opend6", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 150,
},
},
metadata = {
availability = {
yearFrom = 3000,
yearTo = 3000,
},
cost = {
price = -1,
},
maintenance = {
lifespan = 50,
runningCosts = -1,
},
railVehicle = {
configs = {
{
axles = {
"vehicle/train/twindexx/lod_2_w1.msh",
},
fakeBogies = {
},
},
{
axles = {
"vehicle/train/twindexx/lod_1_w1.msh",
},
fakeBogies = {
},
},
{
axles = {
"vehicle/train/twindexx/lod_0_w1.msh",
},
fakeBogies = {
},
},
},
engines = {
},
soundSet = {
horn = "",
name = "waggon_modern",
},
topSpeed = 200,
weight = 45,
},
transportVehicle = {
capacities = {
{
capacity = 152,
type = "PASSENGERS",
},
},
carrier = "RAIL",
loadSpeed = 4,
seats = {
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.3, -0.7, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.3, -1.1, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.3, 0.5, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.3, 0.95, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.3, 0.7, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.3, 1.1, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.3, -0.5, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.3, -0.9, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4, -0.7, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4, -1.1, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4, 0.5, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4, 0.95, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3, 0.7, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3, 1.1, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3, -0.5, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3, -0.9, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.3, -0.7, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.3, -1.1, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.3, 0.5, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.3, 0.95, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.3, 0.7, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.3, 1.1, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.3, -0.5, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.3, -0.9, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3, -0.7, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3, -1.1, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3, 0.5, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3, 0.95, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4, 0.7, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4, 1.1, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4, -0.5, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4, -0.9, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.45, -0.7, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.45, -1.1, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.45, 0.5, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.45, 0.95, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.45, 0.7, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.45, 1.1, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.45, -0.5, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.45, -0.9, 0.5)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, -0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, -1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, 0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, 0.95, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, 0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, 1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, -0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, -0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, -0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, -1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, 0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.3, 0.95, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, 0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, 1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, -0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, -0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.5, -0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.5, -1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.5, 0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.5, 0.95, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.5, 0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.5, 1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.5, -0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.5, -0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2, -0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2, -1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2, 0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.2, 0.95, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2, 0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2, 1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2, -0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.2, -0.95, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-9.2, 0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-9.2, 0.95, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-8.2, 0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-8.2, 1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-10.9, -0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-10.9, -1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-10.9, 0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-10.9, 0.95, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-9.9, 0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-9.9, 1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-9.9, -0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-9.9, -0.95, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.7, -0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.7, -1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.7, 0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.7, 0.95, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, 0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, 1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, -0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, -0.95, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.6, -0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.6, -1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.6, 0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.6, 0.95, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.6, 0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.6, 1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.6, -0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.6, -0.95, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-5.5, 0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-6, 0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-6.5, 0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-7, 0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-5.5, -0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-6, -0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-6.5, -0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-7, -0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(5.5, 0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(6, 0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(6.5, 0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(7, 0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(5.5, -0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(6, -0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(6.5, -0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(7, -0.9, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(8.2, 0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(8.2, 0.95, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(9.2, 0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(9.2, 1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(9.9, -0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(9.9, -1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(9.9, 0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(9.9, 0.95, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(10.9, 0.7, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(10.9, 1.1, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(10.9, -0.5, 2.6)), },
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(10.9, -0.95, 2.6)), },
},
multipleUnitOnly = true,
},
},
}
end

View File

@ -0,0 +1,324 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
lods = {
{
animations = {
},
children = {
{
id = "vehicle/tram/be4_6mirage_lod_0_back.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.8193001747131, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/tram/be4_6mirage_lod_0_mid.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.22079999744892, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/tram/be4_6mirage_lod_0_front.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.377799987793, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[1] = {
forward = true,
name = "open_all_doors",
},
[2] = {
forward = true,
name = "open_all_doors",
},
[3] = {
forward = true,
name = "open_all_doors",
},
},
close_all_doors = {
[1] = {
forward = false,
name = "open_all_doors",
},
[2] = {
forward = false,
name = "open_all_doors",
},
[3] = {
forward = false,
name = "open_all_doors",
},
},
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 100,
}, {
children = {
{
id = "vehicle/tram/be4_6mirage_lod_0_back.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.8193001747131, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/tram/be4_6mirage_lod_0_mid.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.22079999744892, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/tram/be4_6mirage_lod_0_front.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.377799987793, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[1] = {
forward = true,
name = "open_all_doors",
},
[2] = {
forward = true,
name = "open_all_doors",
},
[3] = {
forward = true,
name = "open_all_doors",
},
},
close_all_doors = {
[1] = {
forward = false,
name = "open_all_doors",
},
[2] = {
forward = false,
name = "open_all_doors",
},
[3] = {
forward = false,
name = "open_all_doors",
},
},
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 100,
visibleTo = 1760,
},
},
metadata = {
description = {
name = _("Be 4/6 Mirage"),
description = _("The big cost-overrun during the acquisition of this tram led to its nickname \"Mirage\", a fighter plane which also cost much more than foreseen.")
},
railVehicle = {
configs = {
{
axles = {
"vehicle/tram/be4_6mirage/lod_0_w1.msh",
},
fakeBogies = {
{ group = 1, position = -0.2387, offset = -2.0459 },
--{ group = 26, position = -0.22, offset = 0 },
{ group = 31, position = -0.2387, offset = 2.0459 }
},
}, {
axles = {
"vehicle/tram/be4_6mirage/lod_0_w1.msh", },
fakeBogies = {
{ group = 1, position = -0.2387, offset = -2.0459 },
--{ group = 26, position = -0.22, offset = 0 },
{ group = 31, position = -0.2387, offset = 2.0459 }
},
}
},
topSpeed = 60,
weight = 26,
engines = {
{ type = "ELECTRIC", power = 300, tractiveEffort = 50 }
},
soundSet = "tram_modern"
},
transportVehicle = {
carrier = "TRAM",
capacities = {
{
type = "PASSENGERS",
capacity = 90,
}
},
loadSpeed = 7,
seats = {
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.7, -0.1, .75)), crew = true, standing = false},
-- front
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1.0, 0.65, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.5, 0.65, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(-95.0, 0.0, 0.0), vec3.new(1.0, -0.45, 0.75)), standing = true },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.15, 0.05, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.15, 0.55, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.15, -0.65, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.85, 0.05, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.85, 0.55, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.85, -0.65, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.6, 0.05, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.6, 0.55, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.6, -0.65, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.3, 0.05, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.3, 0.55, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.3, -0.65, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.0, 0.05, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.0, 0.55, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.7, 0.55, 0.75)) },
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(-85.0, 0.0, 0.0), vec3.new(-3.3, -0.4, 0.75)), standing = true },
-- mid
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.15, 0.05, 0.75)) },
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.15, 0.55, 0.75)) },
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.15, -0.65, 0.75)) },
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.35, 0.05, 0.75)) },
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.35, 0.55, 0.75)) },
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.35, -0.65, 0.75)) },
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.35, 0.05, 0.75)) },
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.35, 0.55, 0.75)) },
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.05, 0.05, 0.75)) },
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.05, 0.55, 0.75)) },
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(-85.0, 0.0, 0.0), vec3.new(-1.1, -0.4, 0.75)), standing = true },
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(-105.0, 0.0, 0.0), vec3.new(-0.4, -0.4, 0.75)), standing = true },
-- back
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.45, 0.05, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.45, 0.55, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.45, -0.65, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.75, 0.05, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.75, 0.55, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.75, -0.65, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.05, 0.05, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.05, 0.55, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.05, -0.65, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.35, 0.05, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.35, 0.55, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.35, -0.65, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.65, 0.05, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.65, 0.55, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.65, -0.65, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.05, 0.05, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.05, 0.55, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.05, -0.65, 0.75)) },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(-85.0, 0.0, 0.0), vec3.new(-1.4, 0.65, 0.75)), standing = true },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(-105.0, 0.0, 0.0), vec3.new(-0.7, 0.65, 0.75)), standing = true },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(-45.0, 0.0, 0.0), vec3.new(-1.9, 0.45, 0.75)), standing = true },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.05, -0.35, 0.75)), standing = true },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(-85.0, 0.0, 0.0), vec3.new(-1.4, -0.4, 0.75)), standing = true },
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(-15.0, 0.0, 0.0), vec3.new(-0.5, -0.4, 0.75)), standing = true },
}
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
}
},
}
end

View File

@ -0,0 +1,394 @@
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

View File

@ -0,0 +1,133 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/tram/dampftram_lod_0_front.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/tram/dampftram_lod_0_back.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.1901, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1180,
},
},
metadata = {
description = {
name = _("Steam tram"),
description = _("Twin axle steam tram, used for example in Vienna as \"Dampftramway\".")
},
railVehicle = {
configs = {
{
axles = { "vehicle/tram/dampftram/lod_0_w3.msh","vehicle/tram/dampftram/lod_0_w1.msh",},
}
},
topSpeed = 20,
weight = 8,
engines = {
{ type = "STEAM", power = 20, tractiveEffort = 6 }
},
soundSet = "tram_old"
},
transportVehicle = {
carrier = "TRAM",
capacities = {
{ type = "PASSENGERS", capacity = 28 }
},
loadSpeed = 2,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.6, -0.1, .82)), crew = true, standing = true},
-- front
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.0, 0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.5, 0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1.5, 0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1, 0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(2, 0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-0.5, 0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-1.5, 0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-1, 0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-2, 0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.0, -0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.5, -0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(1.5, -0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(1, -0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(2, -0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-0.5, -0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1.5, -0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1, -0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-2, -0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1, -0.68, 0.45)) },
{ group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-60.0, 0.0, 0.0), vec3.new(-3, -0.3, 0.5)),standing = true },
}
},
availability = {
yearFrom = 1877,
yearTo = 1930
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
},
particleSystem = {
emitters = {
{
position = { 1.0999, .0, 3.3066},
velocity = { .0, .0, 7.0 },
color = { .3, .3, .3 },
frequency = 60,
lifeTime = 10.0,
size01 = { .7, 8.0 },
child = 2
},
}
}
},
}
end

View File

@ -0,0 +1,219 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
3.4578530788422, 0.98381000757217, 4.8104958534241,
},
bbMin = {
-3.4319260120392, -0.98381000757217, -0.33427900075912,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/tram/halle/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/tram/halle/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.881, -0.8389, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/tram/halle/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.881, 0.8389, 0, 1,
},
type = "MESH",
},{
id = "vehicle/tram/halle/lod_0_d2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -2.881, -0.8389, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/tram/halle/lod_0_d1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -2.881, 0.8389, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/tram/halle/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.8475, 0, 0.304, 1,
},
type = "MESH",
}, {
id = "vehicle/tram/halle/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.8475, 0, 0.304, 1,
},
type = "MESH",
}, {
id = "vehicle/tram/halle/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.4,1.4,1.4),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 3.46, 0.0, 3.16)),
type = "MESH",
}, {
id = "vehicle/tram/halle/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
close_all_doors = {
[2] = {
forward = false,
name = "opend1",
},
[3] = {
forward = false,
name = "opend2",
},
[4] = {
forward = false,
name = "opend2",
},
[5] = {
forward = false,
name = "opend1",
},
},
open_all_doors = {
[2] = {
forward = true,
name = "opend1",
},
[3] = {
forward = true,
name = "opend2",
},
[4] = {
forward = true,
name = "opend2",
},
[5] = {
forward = true,
name = "opend1",
},
},
},
matConfigs = {
{
0, 0, 0,
0, 0, 0,
0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1210,
},
},
metadata = {
description = {
name = _("Halle tram"),
description = _("Twin axle electrical tram with open platforms on both ends, used by the \"Allgemeine Elektricitaets-Gesellschaft Stadtbahn Halle\".")
},
railVehicle = {
configs = {
{
axles = { "vehicle/tram/halle/lod_0_w1.msh"},
}
},
topSpeed = 27,
weight = 12,
engines = {
{ type = "ELECTRIC", power = 50, tractiveEffort = 20 }
},
soundSet = "tram_old"
},
transportVehicle = {
carrier = "TRAM",
capacities = {
{ type = "PASSENGERS", capacity = 36 }
},
loadSpeed = 2,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.8, -0.1, .64)), crew = true, standing = true},
-- front
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.0, 0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.5, 0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1.5, 0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1, 0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-0.5, 0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-1.5, 0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-1, 0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-2, 0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.0, -0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.5, -0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(1.5, -0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(1, -0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(2, -0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-0.5, -0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1.5, -0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1, -0.6, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1, -0.68, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-60.0, 0.0, 0.0), vec3.new(-3, -0.3, 0.6)),standing = true },
}
},
availability = {
yearFrom = 1887,
yearTo = 1945
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
}
},
}
end

View File

@ -0,0 +1,166 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
lods = {
{
animations = {
},
children = {
{
id = "vehicle/tram/schst_lod_0_front.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5, 0, 0, 1,
},
type = "GROUP",
},
{
id = "vehicle/tram/schst_lod_0_back.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.8755, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
close_all_doors = {
[1] = {
forward = true,
name = "close_doors",
},
[2] = {
forward = true,
name = "close_doors",
},
},
open_all_doors = {
[1] = {
forward = true,
name = "open_doors",
},
[2] = {
forward = true,
name = "open_doors",
},
},
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1700,
},
},
metadata = {
description = {
name = _("Ce 2/2 SchSt"),
description = _("Twin axle electrical tram from the game's home town, Schaffhausen, Switzerland.")
},
railVehicle = {
configs = {
{
axles = { "vehicle/tram/schst/lod_0_w1.msh" },
}
},
topSpeed = 40,
weight = 20,
engines = {
{ type = "ELECTRIC", power = 100, tractiveEffort = 40 }
},
soundSet = "tram_old"
},
transportVehicle = {
carrier = "TRAM",
capacities = {
{ type = "PASSENGERS", capacity = 45 }
},
loadSpeed = 4,
seats = {
--driver
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.4, 0.0, 0.6)), crew = true, standing = true },
-- front
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.0, 0.6, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.5, 0.6, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1.5, 0.6, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1, 0.6, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-0.5, 0.6, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-1.5, 0.6, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-1, 0.6, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-2, 0.6, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.0, -0.6, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.5, -0.6, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(1.5, -0.6, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(1, -0.7, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(2, -0.7, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-0.5, -0.6, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1.5, -0.6, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1, -0.6, 0.6)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1, -0.68, 0.45)) },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(-60.0, 0.0, 0.0), vec3.new(-3, -0.3, 0.6)),standing = true },
{ group =1 , transf = transf.rotZYXTransl(transf.degToRad(80.0, 0.0, 0.0), vec3.new(-3.5, 0.3, 0.6)),standing = true },
--back
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.0, 0.6, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.5, 0.6, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1.5, 0.6, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1, 0.6, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-0.5, 0.6, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-1.5, 0.6, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-1, 0.6, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-2, 0.6, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.0, -0.6, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.5, -0.6, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(1.5, -0.6, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(1, -0.7, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(2, -0.7, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-0.5, -0.6, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1.5, -0.6, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1, -0.6, 0.6)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1, -0.68, 0.45)) },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(-60.0, 0.0, 0.0), vec3.new(-3, -0.3, 0.6)),standing = true },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(80.0, 0.0, 0.0), vec3.new(-2.8, 0.3, 0.6)),standing = true },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(-60.0, 0.0, 0.0), vec3.new(-3, -0.3, 0.6)),standing = true },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(120.0, 0.0, 0.0), vec3.new(2.3, 0.5, 0.6)),standing = true },
{group =20 , transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.4, 0, 0.6)),standing = true },
}
},
availability = {
yearFrom = 1901,
yearTo = 1959
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
}
},
}
end

View File

@ -0,0 +1,132 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
lods = {
{
animations = {
},
children = {
{
id = "vehicle/tram/strassenbahn_lod_0_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/tram/strassenbahn_lod_0_guide.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.9697, 0, 0.5662, 1,
},
type = "GROUP",
},{
id = "ross1-lod0.grp",
transf = {
0.32, 0, 0, 0, 0, 0.32, 0, 0, 0, 0, 0.32, 0, 5.3723, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
[3] = {
forward = true,
name = "walk",
},
},
close_all_doors = {
[1] = {
forward = false,
name = "open_all_doors",
},
},
open_all_doors = {
[1] = {
forward = true,
name = "open_all_doors",
},
},
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1010,
},
},
metadata = {
description = {
name = _("Horse tram"),
description = _("The first trams in history were horse-driven. Thanks to the rail only one horse was enough.")
},
railVehicle = {
configs = {
{
axles = { "vehicle/tram/strassenbahn_1850/lod_0_w.msh" },
fakeBogies = {
{ group = 13, position = 0, offset = 2.6137 } ,
{ group = 13, position = 4.8723, offset = 0.0 } ,
{ group = 15, position = 4.8723, offset = 0.0 }
}
}
},
topSpeed = 15,
weight = 1,
engines = {
{ type = "HORSE", power = 2, tractiveEffort = 2 }
},
soundSet = "tram_horse"
},
transportVehicle = {
carrier = "TRAM",
capacities = {
{ type = "PASSENGERS", capacity = 20 }
},
loadSpeed = 2,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.4, -0.1, .64)), crew = true, standing = true},
--passangers
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(1.2, -0.6, .64)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.7, -0.6, .64)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.2, -0.6, .64)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-0.3, -0.6, .64)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-0.8, -0.6, .64)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1.2, 0.6, .64)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.7, 0.6, .64)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.2, 0.6, .64)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-0.3, 0.6, .64)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-0.8, 0.6, .64)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-2.1, 0.2, .64)),standing = true},
}
},
availability = {
yearFrom = 1850,
yearTo = 1905
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
},
},
}
end

View File

@ -0,0 +1,160 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
lods = {
{
animations = {
},
children = {
{
id = "vehicle/tram/typ1_lod_0_front.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5, 0, 0, 1,
},
type = "GROUP",
},
{
id = "vehicle/tram/typ1_lod_0_back.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.55, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
close_all_doors = {
[1] = {
forward = true,
name = "close_doors",
},
[2] = {
forward = true,
name = "close_doors",
},
},
open_all_doors = {
[1] = {
forward = true,
name = "open_doors",
},
[2] = {
forward = true,
name = "open_doors",
},
},
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 1850,
},
},
metadata = {
description = {
name = _("Type T1"),
description = _("From this Type T1, built by Gothaer Waggonbau/Bothman, one unit is still running on a museum line.")
},
railVehicle = {
configs = {
{
axles = { "vehicle/tram/typ1/lod_0_w1.msh" },
}
},
topSpeed = 60,
weight = 26,
engines = {
{ type = "ELECTRIC", power = 190, tractiveEffort = 45 }
},
soundSet = "tram_old"
},
transportVehicle = {
carrier = "TRAM",
capacities = {
{ type = "PASSENGERS", capacity = 65 }
},
loadSpeed = 4,
seats = {
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.2, 0.0, 0.7)), crew = true, standing = true },
--passangers
--front
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.67, -0.55, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.7, -0.35, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.67, 0.35, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.7, 0.55, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(0.25, -0.55, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(1.25, -0.35, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(0.25, 0.35, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(1.25, 0.55, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-1.2, -0.55, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-0.2, -0.35, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-1.2, 0.35, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-0.2, 0.55, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-2.7, -0.55, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-1.7, -0.35, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-2.7, 0.35, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-1.7, 0.55, .7)),},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(-4, 0.15, .7)), standing = true},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(98.0, 0.0, 0.0), vec3.new(-2, 0.05, .7)), standing = true},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-98.0, 0.0, 0.0), vec3.new(1.7, 0.05, .7)), standing = true},
--back
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.67, -0.55, 0.7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.7, -0.35, .7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.67, 0.35, .7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.7, 0.55, .7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(0.25, -0.55, .7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(1.25, -0.35, .7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(0.25, 0.35, .7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(1.25, 0.55, .7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-1.2, -0.55, .7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-0.2, -0.35, .7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-1.2, 0.35, .7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-0.2, 0.55, .7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-2.7, -0.55, .7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-1.7, -0.35, .7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-2.7, 0.35, .7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-1.7, 0.55, .7)),},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(-4, 0.15, .7)), standing = true},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(98.0, 0.0, 0.0), vec3.new(-2, 0.05, .7)), standing = true},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(-98.0, 0.0, 0.0), vec3.new(1.7, 0.05, .7)), standing = true},
{ group =20, transf = transf.rotZYXTransl(transf.degToRad(-98.0, 0.0, 0.0), vec3.new(3.9, 0.05, .7)), standing = true},
}
},
availability = {
yearFrom = 1928,
yearTo = 1959
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 35
}
},
}
end

View File

@ -0,0 +1,271 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
6.8575000762939, 1.3035019636154, 3.2154319286346,
},
bbMin = {
-5.9623646736145, -1.3035019636154, -0.0072360038757324,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/truck/40_tons_lod_2_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.5114998817444, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/truck/40_tons_lod_2_trailer.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.2750000953674, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 250,
visibleTo = 1190,
},
{
animations = {
},
children = {
{
id = "vehicle/truck/40_tons_lod_1_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.5114998817444, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/truck/40_tons_lod_1_trailer.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.2750000953674, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 150,
visibleTo = 250,
},
{
animations = {
},
children = {
{
id = "vehicle/truck/40_tons_lod_0_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.5114998817444, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/truck/40_tons_lod_0_trailer.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.2750000953674, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 150,
},
},
metadata = {
availability = {
yearFrom = 1995,
yearTo = 2003,
},
cost = {
price = -1,
},
description = {
name = _("40 Tons Truck"),
description = _("A six axle semi-trailer truck, equipped with a V8 turbo diesel engine of 456 kW power."),
},
maintenance = {
lifespan = 35,
runningCosts = -1,
},
roadVehicle = {
configs = {
{
axles = {
"vehicle/truck/40_tons/lod_2_w2.msh",
},
fakeBogies = {
{
group = 1,
offset = 0,
position = 4,
}, {
group = 7,
offset = 0,
position = 2.5750000476837,
}, {
group = 7,
offset = 0,
position = -1,
},
},
wheels = {
"vehicle/truck/40_tons/lod_2_w1.msh",
},
}, {
axles = {
"vehicle/truck/40_tons/lod_1_w2.msh",
},
fakeBogies = {
{
group = 1,
offset = 0,
position = 4,
}, {
group = 7,
offset = 0,
position = 2.5750000476837,
}, {
group = 7,
offset = 0,
position = -1,
},
},
wheels = {
"vehicle/truck/40_tons/lod_1_w1.msh",
},
},
{
axles = {
"vehicle/truck/40_tons/lod_0_w2.msh",
},
fakeBogies = {
{
group = 1,
offset = 0,
position = 4,
}, {
group = 14,
offset = 0,
position = 2.5750000476837,
}, {
group = 14,
offset = 0,
position = -1,
},
},
wheels = {
"vehicle/truck/40_tons/lod_0_w1.msh",
},
},
},
power = 456,
soundSet = {
horn = "",
name = "truck_modern",
},
topSpeed = 100,
tractiveEffort = 60,
weight = 10,
},
transportVehicle = {
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.3, 0.5, 0.7)), crew = true},
},
capacities = {
{ type = "LOGS", capacity = 80 },
{ type = "LIVESTOCK", capacity = 80 },
{ type = "COAL", capacity = 80 },
{ type = "IRON_ORE", capacity = 80 },
{ type = "STONE", capacity = 80 },
{ type = "GRAIN", capacity = 80 },
{ type = "CRUDE", capacity = 80 },
{ type = "STEEL", capacity = 80 },
{ type = "PLANKS", capacity = 80 },
{ type = "PLASTIC", capacity = 80 },
{ type = "SLAG", capacity = 80 },
{ type = "OIL", capacity = 80 },
{ type = "CONSTRUCTION_MATERIALS", capacity = 80 },
{ type = "MACHINES", capacity = 80 },
{ type = "FUEL", capacity = 80 },
{ type = "TOOLS", capacity = 80 },
{ type = "FOOD", capacity = 80 },
{ type = "GOODS", capacity = 80 },
},
carrier = "ROAD",
loadSpeed = 5
},
},
}
end

View File

@ -0,0 +1,261 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
2.9773321151733, 1.0804109573364, 2.9427399635315,
},
bbMin = {
-2.9773321151733, -1.0804109573364, -0.47391700744629,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/truck/benz_1912_lkw/lod_2_benz1912lkw.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/benz_1912_lkw/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6878, 0, 0.4427, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/benz_1912_lkw/lod_2_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.276, -0.8273, 0.464, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/benz_1912_lkw/lod_2_w2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2.276, 0.8273, 0.464, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/benz_1912_lkw/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0,
},
},
static = false,
visibleFrom = 180,
visibleTo = 820,
}, {
animations = {
},
children = {
{
id = "vehicle/truck/benz_1912_lkw/lod_1_benz1912lkw.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/benz_1912_lkw/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6878, 0, 0.4427, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/benz_1912_lkw/lod_1_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.276, -0.8273, 0.464, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/benz_1912_lkw/lod_1_w2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2.276, 0.8273, 0.464, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/benz_1912_lkw/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0,
},
},
static = false,
visibleFrom = 80,
visibleTo = 180,
}, {
animations = {
},
children = {
{
id = "vehicle/truck/benz_1912_lkw/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/benz_1912_lkw/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6878, 0, 0.4936, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/benz_1912_lkw/lod_0_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.276, -0.8273, 0.464, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/benz_1912_lkw/lod_0_w2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2.276, 0.8273, 0.464, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/benz_1912_lkw/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 80,
},
},
metadata = {
description = {
name = _("Benz"),
description = _("A typical early lorry by Mercedes-Benz still running on solid rubber tires.")
},
roadVehicle = {
topSpeed = 40,
weight = 1.5,
power = 35,
tractiveEffort = 5,
configs = {
{
},
{
wheels = {
"vehicle/truck/benz_1912_lkw/lod_1_w2.msh",
},
axles = {
"vehicle/truck/benz_1912_lkw/lod_1_w1.msh"
},
fakeBogies = { { group = 0, position = 0.0, offset = 0.0 } }
},
{
wheels = {
"vehicle/truck/benz_1912_lkw/lod_0_w2.msh",
},
axles = {
"vehicle/truck/benz_1912_lkw/lod_0_w1.msh"
},
fakeBogies = { { group = 0, position = 0.0, offset = 0.0 } }
}
},
soundSet = "truck_old"
},
transportVehicle = {
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.9, 0.36, 1)), crew = true},
},
carrier = "ROAD",
capacities = {
{ type = "LOGS", capacity = 32 },
{ type = "LIVESTOCK", capacity = 32 },
{ type = "COAL", capacity = 32 },
{ type = "IRON_ORE", capacity = 32 },
{ type = "STONE", capacity = 32 },
{ type = "GRAIN", capacity = 32 },
{ type = "CRUDE", capacity = 32 },
{ type = "STEEL", capacity = 32 },
{ type = "PLANKS", capacity = 32 },
{ type = "PLASTIC", capacity = 32 },
{ type = "SLAG", capacity = 32 },
{ type = "OIL", capacity = 32 },
{ type = "CONSTRUCTION_MATERIALS", capacity = 32 },
{ type = "MACHINES", capacity = 32 },
{ type = "FUEL", capacity = 32 },
{ type = "TOOLS", capacity = 32 },
{ type = "FOOD", capacity = 32 },
{ type = "GOODS", capacity = 32 },
},
loadSpeed = 2
},
availability = {
yearFrom = 1912,
yearTo = 1913
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
}
},
}
end

View File

@ -0,0 +1,255 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
1.9699840545654, 0.73222798109055, 2.4889459609985,
},
bbMin = {
-2.3102269172668, -0.73222798109055, -0.47430199384689,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.4814, -0.4775, 0.411, 1,
},
type = "MESH",
},{
id = "vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_2_w1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1.4814, 0.4775, 0.411, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_2_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.4057, 0, 0.4694, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0,
},
},
static = false,
visibleFrom = 300,
visibleTo = 730,
}, {
animations = {
},
children = {
{
id = "vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_1_body.msh",
transf = {
1.1, 0, 0, 0, 0, 1.1, 0, 0, 0, 0, 1.1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_1_w1.msh",
transf = {
1.1, 0, 0, 0, 0, 1.1, 0, 0, 0, 0, 1.1, 0, 1.4814, -0.4775, 0.411, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_1_w1.msh",
transf = {
-1.1, 0, 0, 0, 0, -1.1, 0, 0, 0, 0, 1.1, 0, 1.4814, 0.4775, 0.411, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_1_w2.msh",
transf = {
1.1, 0, 0, 0, 0, 1.1, 0, 0, 0, 0, 1.1, 0, -1.4057, 0, 0.4694, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0,
},
},
static = false,
visibleFrom = 100,
visibleTo = 300,
}, {
animations = {
},
children = {
{
id = "vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_0_body.msh",
transf = {
1.1, 0, 0, 0, 0, 1.1, 0, 0, 0, 0, 1.1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_0_w1.msh",
transf = {
1.1, 0, 0, 0, 0, 1.1, 0, 0, 0, 0, 1.1, 0, 1.4814, -0.4775, 0.411, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_0_w1.msh",
transf = {
-1.1, 0, 0, 0, 0, -1.1, 0, 0, 0, 0, 1.1, 0, 1.4814, 0.4775, 0.411, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_0_w2.msh",
transf = {
1.1, 0, 0, 0, 0, 1.1, 0, 0, 0, 0, 1.1, 0, -1.4057, 0, 0.4694, 1,
},
type = "MESH",
},
-- lights
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.8,0.8),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 2.168, -0.34, 1.077)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.8,0.8),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 2.168, 0.34, 1.077)),
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 100,
},
},
metadata = {
description = {
name = _("DMG Cannstatt"),
description = _("Daimler Motors Corporation was a German engine and later automobile manufacturer, in operation from 1890 until 1926.")
},
roadVehicle = {
topSpeed = 25,
weight = 1,
power = 14,
tractiveEffort = 8,
configs = {
{
},
{
wheels = {
"vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_1_w1.msh",
},
axles = {
"vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_1_w2.msh"
},
fakeBogies = { { group = 0, position = 0.0, offset = 0.0 } }
},
{
wheels = {
"vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_0_w1.msh",
},
axles = {
"vehicle/truck/dmg_cannstatt/dmg_cannstatt_lod_0_w2.msh"
},
fakeBogies = { { group = 0, position = 0.0, offset = 0.0 } }
}
},
soundSet = "truck_old"
},
transportVehicle = {
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.6, -0.1, 1.3)), crew = true},
},
carrier = "ROAD",
capacities = {
{ type = "LOGS", capacity = 24 },
{ type = "LIVESTOCK", capacity = 24 },
{ type = "COAL", capacity = 24 },
{ type = "IRON_ORE", capacity = 24 },
{ type = "STONE", capacity = 24 },
{ type = "GRAIN", capacity = 24 },
{ type = "CRUDE", capacity = 24 },
{ type = "STEEL", capacity = 24 },
{ type = "PLANKS", capacity = 24 },
{ type = "PLASTIC", capacity = 24 },
{ type = "SLAG", capacity = 24 },
{ type = "OIL", capacity = 24 },
{ type = "CONSTRUCTION_MATERIALS", capacity = 24 },
{ type = "MACHINES", capacity = 24 },
{ type = "FUEL", capacity = 24 },
{ type = "TOOLS", capacity = 24 },
{ type = "FOOD", capacity = 24 },
{ type = "GOODS", capacity = 24 },
},
loadSpeed = 1.5
},
availability = {
yearFrom = 1890,
yearTo = 1913
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
}
},
}
end

View File

@ -0,0 +1,353 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
lods = {
{
animations = {
},
children = {
{
id = "vehicle/truck/horse_cart_lod_2_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/bus/postkutsche_lod_1_horses.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.4147, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
[2] = {
forward = true,
name = "drive",
},
},
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 400,
visibleTo = 940,
}, {
animations = {
},
children = {
{
id = "vehicle/truck/horse_cart_lod_1_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/bus/postkutsche_lod_1_horses.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.4147, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
[2] = {
forward = true,
name = "drive",
},
},
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 40,
visibleTo = 400,
}, {
animations = {
},
children = {
{
id = "vehicle/truck/horse_cart_lod_0_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/bus/postkutsche_lod_0_horses.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.4147, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
[2] = {
forward = true,
name = "drive",
},
},
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 40,
},
},
metadata = {
description = {
name = _("Horse cart"),
description = _("A two-horse vehicle with a simple twin axle carriage.")
},
roadVehicle = {
topSpeed = 20,
weight = 1,
power = 2,
tractiveEffort = 2,
configs = {
{
axles = {
"vehicle/truck/horse_cart/lod_2_w1.msh",
"vehicle/truck/horse_cart/lod_2_w2.msh",
},
fakeBogies = { { group = 84, position = 4.4147, offset = 0.0 } }
},{
axles = {
"vehicle/truck/horse_cart/lod_1_w1.msh",
"vehicle/truck/horse_cart/lod_1_w2.msh",
},
fakeBogies = { { group = 84, position = 4.4147, offset = 0.0 } }
},{
axles = {
"vehicle/truck/horse_cart/lod_0_w1.msh",
"vehicle/truck/horse_cart/lod_0_w2.msh",
},
fakeBogies = { { group = 86, position = 4.4147, offset = 0.0 } }
}
},
soundSet = "truck_horse"
},
transportVehicle = {
carrier = "ROAD",
capacities = {
{ type = "OIL", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 }
}
}
}
},
{ type = "GOODS", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 18, 19, 20, 21, 22, 23, 24, 25}
}
}
}
},
{ type = "LOGS", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37 }
}
}
}
},
{ type = "LIVESTOCK", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 38, 39}
}
}
}
},
{ type = "CRUDE", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 40, 41}
}
}
}
},
{ type = "STEEL", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 42,43}
}
}
}
},
{ type = "PLANKS", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 44,45}
}
}
}
},
{ type = "PLASTIC", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 46,47}
}
}
}
},
{ type = "CONSTRUCTION_MATERIALS", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 48,49}
}
}
}
},
{ type = "MACHINES", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 50,51}
}
}
}
},
{ type = "FUEL", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 52,53}
}
}
}
},
{ type = "TOOLS", capacity = 20,loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 54,55}
}
}
}
},
{ type = "FOOD", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 56,57}
}
}
}
},
{ type = "GRAIN", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 58,59}
}
}
}
},
{ type = "STONE", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 60,63}
}
}
}
},
{ type = "COAL", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 66,69}
}
}
}
},
{ type = "IRON_ORE", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 72,75}
}
}
}
},
{ type = "SLAG", capacity = 20, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 78,81}
}
}
}
},
},
loadSpeed = 1,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, 0.1, 1.45)), crew = true},
},
},
availability = {
yearFrom = 1870,
yearTo = 1913
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 20
}
},
}
end

View File

@ -0,0 +1,158 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
lods = {
{
animations = {
},
children = {
{
id = "vehicle/truck/horsewagon_1850_lod_1_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/bus/postkutsche_lod_1_horses.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.0147, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
[2] = {
forward = true,
name = "drive",
},
},
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 70,
visibleTo = 810,
},
{
animations = {
},
children = {
{
id = "vehicle/truck/horsewagon_1850_lod_0_body.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/bus/postkutsche_lod_0_horses.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.0147, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
drive = {
[2] = {
forward = true,
name = "drive",
},
},
},
matConfigs = {
{
0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 70,
},
},
metadata = {
description = {
name = _("Horse wagon"),
description = _("A two-horse vehicle with a simple twin axle carriage.")
},
roadVehicle = {
topSpeed = 15,
weight = 1.5,
power = 2,
tractiveEffort = 1.8,
configs = {
{
axles = {
"vehicle/truck/horse_wagon/horse_wagon_lod_1_w1.msh",
"vehicle/truck/horse_wagon/horse_wagon_lod_1_w2.msh",
},
fakeBogies = { { group = 7, position = 4.0147, offset = 0.0 } }
},
{
axles = {
"vehicle/truck/horse_wagon/horse_wagon_lod_0_w1.msh",
"vehicle/truck/horse_wagon/horse_wagon_lod_0_w2.msh",
},
fakeBogies = { { group = 7, position = 4.0147, offset = 0.0 } }
}
},
soundSet = "truck_horse"
},
transportVehicle = {
carrier = "ROAD",
capacities = {
{ type = "LOGS", capacity = 16 },
{ type = "LIVESTOCK", capacity = 16 },
{ type = "COAL", capacity = 16 },
{ type = "IRON_ORE", capacity = 16 },
{ type = "STONE", capacity = 16 },
{ type = "GRAIN", capacity = 16 },
{ type = "CRUDE", capacity = 16 },
{ type = "STEEL", capacity = 16 },
{ type = "PLANKS", capacity = 16 },
{ type = "PLASTIC", capacity = 16 },
{ type = "SLAG", capacity = 16 },
{ type = "OIL", capacity = 16 },
{ type = "CONSTRUCTION_MATERIALS", capacity = 16 },
{ type = "MACHINES", capacity = 16 },
{ type = "FUEL", capacity = 16 },
{ type = "TOOLS", capacity = 16 },
{ type = "FOOD", capacity = 16 },
{ type = "GOODS", capacity = 16 },
},
loadSpeed = 1,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, -0.1, 0.9)), crew = true},
},
},
availability = {
yearFrom = 1850,
yearTo = 1907
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 15
}
},
}
end

View File

@ -0,0 +1,298 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/truck/man_19_304/lod_2_man_1970.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.1674, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/man_19_304/lod_2_bw1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.439, 0, 0.3941, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/man_19_304/lod_2_bw2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.2181, 0, 0.3941, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/man_19_304/lod_2_fw.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.7027, -1.0218, 0.3941, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/man_19_304/lod_2_fw.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1.7027, 1.0218, 0.3941, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 250,
visibleTo = 950,
},
{
animations = {
},
children = {
{
id = "vehicle/truck/man_19_304/lod_1_man_1970.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.1674, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/man_19_304/lod_1_bw1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.439, 0, 0.3941, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/man_19_304/lod_1_bw2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.2181, 0, 0.3941, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/man_19_304/lod_1_fw.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.7027, -1.0218, 0.3941, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/man_19_304/lod_1_fw.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1.7027, 1.0218, 0.3941, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 120,
visibleTo = 250,
}, {
animations = {
},
children = {
{
id = "vehicle/truck/man_19_304/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/man_19_304/lod_0_bw1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.439, 0, 0.3941, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/man_19_304/lod_0_bw2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.2181, 0, 0.3941, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/man_19_304/lod_0_fw.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.7027, -1.0218, 0.3941, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/man_19_304/lod_0_fw.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1.7027, 1.0218, 0.3941, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/man_19_304/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
-- lights
{
id = "vehicle/asset/lod_0_light_square_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.3,0.65),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 3.0, 0.71, 0.56)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_square_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.3,0.65),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 3.0, -0.71, 0.56)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_red.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.3,0.4),transf.degToRad( 180.0, 0.0, 0.0), vec3.new( -3.276, -0.845, 0.77)),
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_red.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,0.3,0.4),transf.degToRad( 180.0, 0.0, 0.0), vec3.new( -3.276, 0.845, 0.77)),
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 120,
},
},
metadata = {
description = {
name = _("MAN 19.304"),
description = _("A three axle lorry with a 230 hp V8 motor. It had a foldaway cowling to ease maintenance.")
},
roadVehicle = {
topSpeed = 80,
weight = 6,
power = 223,
tractiveEffort = 10,
configs = {
{
wheels = {
"vehicle/truck/man_19_304/lod_2_fw.msh",
},
axles = {
"vehicle/truck/man_19_304/lod_2_bw2.msh",
"vehicle/truck/man_19_304/lod_2_bw1.msh"
},
fakeBogies = { { group = 0, position = 0.0, offset = 0.0 } }
},
{
wheels = {
"vehicle/truck/man_19_304/lod_1_fw.msh",
},
axles = {
"vehicle/truck/man_19_304/lod_1_bw2.msh",
"vehicle/truck/man_19_304/lod_1_bw1.msh"
},
fakeBogies = { { group = 0, position = 0.0, offset = 0.0 } }
},
{
wheels = {
"vehicle/truck/man_19_304/lod_0_fw.msh",
},
axles = {
"vehicle/truck/man_19_304/lod_0_bw2.msh",
"vehicle/truck/man_19_304/lod_0_bw1.msh"
},
fakeBogies = { { group = 0, position = 0.0, offset = 0.0 } }
}
},
soundSet = "truck_modern"
},
transportVehicle = {
carrier = "ROAD",
capacities = {
{ type = "LOGS", capacity = 64 },
{ type = "LIVESTOCK", capacity = 64 },
{ type = "COAL", capacity = 64 },
{ type = "IRON_ORE", capacity = 64 },
{ type = "STONE", capacity = 64 },
{ type = "GRAIN", capacity = 64 },
{ type = "CRUDE", capacity = 64 },
{ type = "STEEL", capacity = 64 },
{ type = "PLANKS", capacity = 64 },
{ type = "PLASTIC", capacity = 64 },
{ type = "SLAG", capacity = 64 },
{ type = "OIL", capacity = 64 },
{ type = "CONSTRUCTION_MATERIALS", capacity = 64 },
{ type = "MACHINES", capacity = 64 },
{ type = "FUEL", capacity = 64 },
{ type = "TOOLS", capacity = 64 },
{ type = "FOOD", capacity = 64 },
{ type = "GOODS", capacity = 64 },
},
loadSpeed = 4,
seats = {
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.3, 0.42, 0.6)), crew = true},
},
},
availability = {
yearFrom = 1995,
yearTo = 2003
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 35
}
},
}
end

View File

@ -0,0 +1,255 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
3.189001083374, 1.1996840238571, 3.0848240852356,
},
bbMin = {
-3.0658431053162, -1.1996840238571, -0.47877499461174,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/truck/opel_blitz/lod_2_opelblitz.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/opel_blitz/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.4843, 0, 0.4757, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/opel_blitz/lod_2_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.2848, 0.8081, 0.4757, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/opel_blitz/lod_2_w2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2.2848, -0.8081, 0.4757, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0,
},
},
static = false,
visibleFrom = 180,
visibleTo = 860,
}, {
animations = {
},
children = {
{
id = "vehicle/truck/opel_blitz/lod_1_opelblitz.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/opel_blitz/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.4843, 0, 0.4757, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/opel_blitz/lod_1_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.2848, 0.8081, 0.4757, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/opel_blitz/lod_1_w2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2.2848, -0.8081, 0.4757, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0,
},
},
static = false,
visibleFrom = 80,
visibleTo = 180,
}, {
animations = {
},
children = {
{
id = "vehicle/truck/opel_blitz/lod_0_opelblitz.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/opel_blitz/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.4843, 0, 0.4757, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/opel_blitz/lod_0_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.2848, 0.8081, 0.4757, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/opel_blitz/lod_0_w2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2.2848, -0.8081, 0.4757, 1,
},
type = "MESH",
}, {
id = "vehicle/truck/opel_blitz/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.0,1.0),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 2.9, 0.68, 1.06)),
type = "MESH",
},{
id = "vehicle/asset/lod_0_light_round_white.msh",
--manual lights
transf = transf.scaleRotZYXTransl(vec3.new(1.0,1.0,1.0),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 2.9, -0.68, 1.06)),
type = "MESH",
},
{
id = "vehicle/driver_static/lod_0_driver_static.msh",
transf = {
1.0, 0, 0, 0, 0, 1.0, 0, 0, 0, 0, 1.0, 0, -2.9, -0.22, 0.15, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0,0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 80,
},
},
metadata = {
description = {
name = _("Opel Blitz"),
description = _("A very popular lorry from Opel, built in diverse variants.")
},
roadVehicle = {
topSpeed = 60,
weight = 2.5,
power = 73.5,
tractiveEffort = 7,
configs = {
{
},
{
axles = { "vehicle/truck/opel_blitz/lod_1_w1.msh" },
wheels = { "vehicle/truck/opel_blitz/lod_1_w2.msh" },
fakeBogies = { { group = 0, position = 0.0, offset = 0.0 } }
},
{
axles = { "vehicle/truck/opel_blitz/lod_0_w1.msh" },
wheels = { "vehicle/truck/opel_blitz/lod_0_w2.msh" },
fakeBogies = { { group = 0, position = 0.0, offset = 0.0 } }
}
},
soundSet = "truck_old"
},
transportVehicle = {
carrier = "ROAD",
capacities = {
{ type = "LOGS", capacity = 44 },
{ type = "LIVESTOCK", capacity = 44 },
{ type = "COAL", capacity = 44 },
{ type = "IRON_ORE", capacity = 44 },
{ type = "STONE", capacity = 44 },
{ type = "GRAIN", capacity = 44 },
{ type = "CRUDE", capacity = 44 },
{ type = "STEEL", capacity = 44 },
{ type = "PLANKS", capacity = 44 },
{ type = "PLASTIC", capacity = 44 },
{ type = "SLAG", capacity = 44 },
{ type = "OIL", capacity = 44 },
{ type = "CONSTRUCTION_MATERIALS", capacity = 44 },
{ type = "MACHINES", capacity = 44 },
{ type = "FUEL", capacity = 44 },
{ type = "TOOLS", capacity = 44 },
{ type = "FOOD", capacity = 44 },
{ type = "GOODS", capacity = 44 },
},
loadSpeed = 3
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
}
},
}
end

View File

@ -0,0 +1,473 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
5.826176071167, 1.4250220060349, 3.7648839950562,
},
bbMin = {
-5.826176071167, -1.4250220060349, -0.55456000566483,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/3axes_person/lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_2_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.4398, 0.3328, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_2_d1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -4.4398, -0.3328, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0.5068, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.9806, 0, 0.5068, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.9806, 0, 0.5068, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
},
close_all_doors = {
},
open_doors_left = {
},
close_doors_left = {
},
open_doors_right = {
},
close_doors_right = {
},
},
matConfigs = {
{
0, 0, 0, 0, 0,
0, 0,
},
},
static = false,
visibleFrom = 450,
visibleTo = 1250,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/3axes_person/3axes_person_lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/3axes_person_lod_1_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.4398, 0.3328, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/3axes_person_lod_1_d1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -4.4398, -0.3328, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/3axes_person_lod_1_d3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.2806, -0.9389, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/3axes_person_lod_1_d4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.2806, 0.9389, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/3axes_person_lod_1_d3.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -5.2806, 0.9389, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/3axes_person_lod_1_d4.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -5.2806, -0.9389, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/3axes_person_lod_1_w3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0.5068, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/3axes_person_lod_1_w3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.9806, 0, 0.5068, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/3axes_person_lod_1_w3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.9806, 0, 0.5068, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend1", forward = true },
[4] = { name = "opend3", forward = true },
[5] = { name = "opend4", forward = true },
[6] = { name = "opend3", forward = true },
[7] = { name = "opend4", forward = true },
},
close_all_doors = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend1", forward = false },
[4] = { name = "opend3", forward = false },
[5] = { name = "opend4", forward = false },
[6] = { name = "opend3", forward = false },
[7] = { name = "opend4", forward = false },
},
open_doors_left = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend1", forward = true },
[5] = { name = "opend4", forward = true },
[6] = { name = "opend3", forward = true },
},
close_doors_left = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend1", forward = false },
[5] = { name = "opend4", forward = false },
[6] = { name = "opend3", forward = false },
},
open_doors_right = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend1", forward = true },
[4] = { name = "opend3", forward = true },
[7] = { name = "opend4", forward = true },
},
close_doors_right = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend1", forward = false },
[4] = { name = "opend3", forward = false },
[7] = { name = "opend4", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 80,
visibleTo = 450,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/3axes_person/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.4398, 0.3328, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_0_d1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -4.4398, -0.3328, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_0_d3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.2806, -0.9389, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_0_d3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.2806, 0.9389, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_0_d3.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -5.2806, 0.9389, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_0_d3.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -5.2806, -0.9389, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0.5068, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.9806, 0, 0.5068, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.9806, 0, 0.5068, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/3axes_person/lod_0_logos.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend1", forward = true },
[4] = { name = "opend3", forward = true },
[5] = { name = "opend4", forward = true },
[6] = { name = "opend3", forward = true },
[7] = { name = "opend4", forward = true },
},
close_all_doors = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend1", forward = false },
[4] = { name = "opend3", forward = false },
[5] = { name = "opend4", forward = false },
[6] = { name = "opend3", forward = false },
[7] = { name = "opend4", forward = false },
},
open_doors_left = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend1", forward = true },
[5] = { name = "opend4", forward = true },
[6] = { name = "opend3", forward = true },
},
close_doors_left = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend1", forward = false },
[5] = { name = "opend4", forward = false },
[6] = { name = "opend3", forward = false },
},
open_doors_right = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend1", forward = true },
[4] = { name = "opend3", forward = true },
[7] = { name = "opend4", forward = true },
},
close_doors_right = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend1", forward = false },
[4] = { name = "opend3", forward = false },
[7] = { name = "opend4", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 80,
},
},
metadata = {
description = {
name = _("Three-axle car"),
description = _("Three-axle coach with open platforms on both sides, used in Germany.")
},
railVehicle = {
topSpeed = 100,
weight = 15,
configs = {
{
axles = { "vehicle/waggon/3axes_person/lod_2_w1.msh" }
},
{
axles = { "vehicle/waggon/3axes_person/3axes_person_lod_1_w3.msh" }
},
{
axles = { "vehicle/waggon/3axes_person/lod_0_w1.msh" }
}
},
soundSet = "waggon_old"
},
transportVehicle = {
capacities = {
{ type = "PASSENGERS", capacity = 54 }
},
carrier = "RAIL",
loadSpeed = 2,
seats = {
--passangers
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(-4.15, 0.8, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(-4.15, 0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(10.0, 0.0, 0.0), vec3.new(-4.15, -1, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(10.0, 0.0, 0.0), vec3.new(-4.15, -0.6, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(-3.15, 0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(-3.15, -0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-160.0, 0.0, 0.0), vec3.new(-3.15, 1, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(-3.15, -.8, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(-2.65, 0.8, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(-2.65, 0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(10.0, 0.0, 0.0), vec3.new(-2.65, -1, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(10.0, 0.0, 0.0), vec3.new(-2.65, -0.6, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(-1.7, 0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(-1.7, -0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-160.0, 0.0, 0.0), vec3.new(-1.75, 1, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(-1.7, -.8, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(-1.2, 0.8, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(-1.2, 0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(10.0, 0.0, 0.0), vec3.new(-1.2, -1, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(10.0, 0.0, 0.0), vec3.new(-1.2, -0.6, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(-0.3, 0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(-0.3, -0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-160.0, 0.0, 0.0), vec3.new(-0.3, 1, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(-0.3, -.8, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(3.15, 0.8, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(3.15, 0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(10.0, 0.0, 0.0), vec3.new(3.15, -1, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(10.0, 0.0, 0.0), vec3.new(3.155, -0.6, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(4.15, 0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(4.15, -0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-160.0, 0.0, 0.0), vec3.new(4.15, 1, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(4.15, -.8, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(1.7, 0.8, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(1.7, 0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(10.0, 0.0, 0.0), vec3.new(1.7, -1, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(10.0, 0.0, 0.0), vec3.new(1.7, -0.6, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(2.65, 0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(2.65, -0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-160.0, 0.0, 0.0), vec3.new(2.65, 1, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(2.65, -.8, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(0.3, 0.8, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-10.0, 0.0, 0.0), vec3.new(0.3, 0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(10.0, 0.0, 0.0), vec3.new(0.32, -1, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(10.0, 0.0, 0.0), vec3.new(0.3, -0.6, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(1.2, 0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(1.2, -0.5, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-160.0, 0.0, 0.0), vec3.new(1.2, 1, 1.15))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(1.2, -.8, 1.15))},
}
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
}
},
}
end

View File

@ -0,0 +1,356 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
10.208726882935, 1.5492769479752, 4.0738768577576,
},
bbMin = {
-10.208726882935, -1.5492769479752, -0.017165005207062,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/bc4/lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/bc4_lod_2_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.6043, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/waggon/bc4_lod_2_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.6043, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/waggon/bc4/lod_2_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.1852, 0.9513, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/bc4/lod_2_d1.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-9.1852, 0.9513, 0))),
type = "MESH",
}, {
id = "vehicle/waggon/bc4/lod_2_d1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 9.1852, -0.9513, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/bc4/lod_2_d1.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(180,0,0), vec3.new(9.1852, -0.9513, 0))),
type = "MESH",
},
},
events = {
open_all_doors = {
},
close_all_doors = {
},
open_doors_left = {
},
close_doors_left = {
},
open_doors_right = {
},
close_doors_right = {
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0
},
},
static = false,
visibleFrom = 500,
visibleTo = 1700,
}, {
animations = {
},
children = {
{
id = "vehicle/waggon/bc4/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/bc4_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.6043, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/waggon/bc4_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.6043, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/waggon/bc4/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.1852, 0.9513, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/bc4/lod_0_d1.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-9.1852, 0.9513, 0))),
type = "MESH",
}, {
id = "vehicle/waggon/bc4/lod_0_d1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 9.1852, -0.9513, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/bc4/lod_0_d1.msh",
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(180,0,0), vec3.new(9.1852, -0.9513, 0))),
type = "MESH",
}, {
id = "vehicle/waggon/bc4/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/bc4/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[4] = { name = "opend1", forward = true },
[5] = { name = "opend1", forward = true },
[6] = { name = "opend1", forward = true },
[7] = { name = "opend1", forward = true },
},
close_all_doors = {
[4] = { name = "opend1", forward = false },
[5] = { name = "opend1", forward = false },
[6] = { name = "opend1", forward = false },
[7] = { name = "opend1", forward = false },
},
open_doors_left = {
[4] = { name = "opend1", forward = true },
[7] = { name = "opend1", forward = true },
},
close_doors_left = {
[4] = { name = "opend1", forward = false },
[7] = { name = "opend1", forward = false },
},
open_doors_right = {
[5] = { name = "opend1", forward = true },
[6] = { name = "opend1", forward = true },
},
close_doors_right = {
[5] = { name = "opend1", forward = false },
[6] = { name = "opend1", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0
},
},
static = false,
visibleFrom = 0,
visibleTo = 500,
},
},
metadata = {
description = {
name = _("BC4"),
description = _("Four axle two bogie heavy coach for fast passenger service.")
},
railVehicle = {
topSpeed = 120,
weight = 24,
configs = {
{
axles = { "vehicle/waggon/bc4/lod_2_w1.msh" }
},
{
axles = { "vehicle/waggon/bc4/lod_0_w1.msh" }
}
},
soundSet = "waggon_modern"
},
transportVehicle = {
capacities = {
{
type = "PASSENGERS",
capacity = 78,
}
},
carrier = "RAIL",
loadSpeed = 2,
seats = {
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-8.0, 0.9, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-8.0, 0.3, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-8.0, -1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.85, 1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.85, 0.4, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.85, -0.9, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.0, 0.9, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.0, 0.3, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.0, -1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.85, 1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.85, 0.4, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.85, -0.9, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.05, 0.9, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.05, 0.3, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.05, -1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.9, 1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.9, 0.4, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.9, -0.9, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.15, 0.9, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.15, 0.3, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.15, -1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.0, 1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.0, 0.4, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.0, -0.9, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.85, 0.9, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.85, 0.3, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.85, -1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(8.0, 1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(8.0, 0.4, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(8.0, -0.9, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.85, 0.9, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.85, 0.3, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.85, -1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.0, 1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.0, 0.4, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.0, -0.9, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.9, 0.9, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.9, 0.3, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.9, -1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.05, 1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.05, 0.4, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.05, -0.9, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.0, 0.9, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.0, 0.3, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.0, -1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.15, 1.0, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.15, 0.4, 1.2)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.15, -0.9, 1.2)) },
}
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 35
}
},
}
end

View File

@ -0,0 +1,779 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
6.1922078132629, 1.5036840438843, 4.171010017395,
},
bbMin = {
-6.1944198608398, -1.5036840438843, -0.5939080119133,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/compartment_car/lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_d_a_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.6192, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_d_a_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.9966, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_d_b_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.0771, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_d_b_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.4546, - 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_d_c_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.4611, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_d_c_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.8385, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_d_d_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.1143, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_d_d_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.7369, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_d_e_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.4177, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_d_e_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.0403, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_d_f_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.7411, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_d_f_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.3637, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_d_g_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.3901, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_d_g_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.0126, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.7123, 0, 0.5504, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.0505, 0, 0.5504, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.6329, 0, 0.5504, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[2] = { name = "opend", forward = true },
[3] = { name = "opend", forward = true },
[4] = { name = "opend", forward = true },
[5] = { name = "opend", forward = true },
[6] = { name = "opend", forward = true },
[7] = { name = "opend", forward = true },
[8] = { name = "opend", forward = true },
[9] = { name = "opend", forward = true },
[10] = { name = "opend", forward = true },
[11] = { name = "opend", forward = true },
[12] = { name = "opend", forward = true },
[13] = { name = "opend", forward = true },
[14] = { name = "opend", forward = true },
[15] = { name = "opend", forward = true },
},
close_all_doors = {
[2] = { name = "opend", forward = false },
[3] = { name = "opend", forward = false },
[4] = { name = "opend", forward = false },
[5] = { name = "opend", forward = false },
[6] = { name = "opend", forward = false },
[7] = { name = "opend", forward = false },
[8] = { name = "opend", forward = false },
[9] = { name = "opend", forward = false },
[10] = { name = "opend", forward = false },
[11] = { name = "opend", forward = false },
[12] = { name = "opend", forward = false },
[13] = { name = "opend", forward = false },
[14] = { name = "opend", forward = false },
[15] = { name = "opend", forward = false },
},
open_doors_left = {
[2] = { name = "opend", forward = true },
[4] = { name = "opend", forward = true },
[6] = { name = "opend", forward = true },
[8] = { name = "opend", forward = true },
[10] = { name = "opend", forward = true },
[12] = { name = "opend", forward = true },
[14] = { name = "opend", forward = true },
},
close_doors_left = {
[2] = { name = "opend", forward = false },
[4] = { name = "opend", forward = false },
[6] = { name = "opend", forward = false },
[8] = { name = "opend", forward = false },
[10] = { name = "opend", forward = false },
[12] = { name = "opend", forward = false },
[14] = { name = "opend", forward = false },
},
open_doors_right = {
[3] = { name = "opend", forward = true },
[5] = { name = "opend", forward = true },
[7] = { name = "opend", forward = true },
[9] = { name = "opend", forward = true },
[11] = { name = "opend", forward = true },
[13] = { name = "opend", forward = true },
[15] = { name = "opend", forward = true },
},
close_doors_right = {
[3] = { name = "opend", forward = false },
[5] = { name = "opend", forward = false },
[7] = { name = "opend", forward = false },
[9] = { name = "opend", forward = false },
[11] = { name = "opend", forward = false },
[13] = { name = "opend", forward = false },
[15] = { name = "opend", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 200,
visibleTo = 1350,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/compartment_car/lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_d_a_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.6192, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_d_a_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.9966, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_d_b_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.0771, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_d_b_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.4546, - 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_d_c_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.4611, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_d_c_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.8385, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_d_d_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.1143, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_d_d_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.7369, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_d_e_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.4177, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_d_e_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.0403, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_d_f_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.7411, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_d_f_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.3637, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_d_g_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.3901, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_d_g_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.0126, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.7123, 0, 0.5504, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.0505, 0, 0.5504, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.6329, 0, 0.5504, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[2] = { name = "opend", forward = true },
[3] = { name = "opend", forward = true },
[4] = { name = "opend", forward = true },
[5] = { name = "opend", forward = true },
[6] = { name = "opend", forward = true },
[7] = { name = "opend", forward = true },
[8] = { name = "opend", forward = true },
[9] = { name = "opend", forward = true },
[10] = { name = "opend", forward = true },
[11] = { name = "opend", forward = true },
[12] = { name = "opend", forward = true },
[13] = { name = "opend", forward = true },
[14] = { name = "opend", forward = true },
[15] = { name = "opend", forward = true },
},
close_all_doors = {
[2] = { name = "opend", forward = false },
[3] = { name = "opend", forward = false },
[4] = { name = "opend", forward = false },
[5] = { name = "opend", forward = false },
[6] = { name = "opend", forward = false },
[7] = { name = "opend", forward = false },
[8] = { name = "opend", forward = false },
[9] = { name = "opend", forward = false },
[10] = { name = "opend", forward = false },
[11] = { name = "opend", forward = false },
[12] = { name = "opend", forward = false },
[13] = { name = "opend", forward = false },
[14] = { name = "opend", forward = false },
[15] = { name = "opend", forward = false },
},
open_doors_left = {
[2] = { name = "opend", forward = true },
[4] = { name = "opend", forward = true },
[6] = { name = "opend", forward = true },
[8] = { name = "opend", forward = true },
[10] = { name = "opend", forward = true },
[12] = { name = "opend", forward = true },
[14] = { name = "opend", forward = true },
},
close_doors_left = {
[2] = { name = "opend", forward = false },
[4] = { name = "opend", forward = false },
[6] = { name = "opend", forward = false },
[8] = { name = "opend", forward = false },
[10] = { name = "opend", forward = false },
[12] = { name = "opend", forward = false },
[14] = { name = "opend", forward = false },
},
open_doors_right = {
[3] = { name = "opend", forward = true },
[5] = { name = "opend", forward = true },
[7] = { name = "opend", forward = true },
[9] = { name = "opend", forward = true },
[11] = { name = "opend", forward = true },
[13] = { name = "opend", forward = true },
[15] = { name = "opend", forward = true },
},
close_doors_right = {
[3] = { name = "opend", forward = false },
[5] = { name = "opend", forward = false },
[7] = { name = "opend", forward = false },
[9] = { name = "opend", forward = false },
[11] = { name = "opend", forward = false },
[13] = { name = "opend", forward = false },
[15] = { name = "opend", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 120,
visibleTo = 200,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/compartment_car/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_d_a_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.6192, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_d_a_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.9966, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_d_b_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.0771, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_d_b_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.4546, - 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_d_c_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.4611, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_d_c_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.8385, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_d_d_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.1143, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_d_d_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.7369, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_d_e_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.4177, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_d_e_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.0403, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_d_f_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.7411, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_d_f_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.3637, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_d_g_l.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.3901, 1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_d_g_r.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.0126, -1.2791, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.7123, 0, 0.5504, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.0505, 0, 0.5504, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.6329, 0, 0.5504, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/compartment_car/lod_0_logos.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[2] = { name = "opend", forward = true },
[3] = { name = "opend", forward = true },
[4] = { name = "opend", forward = true },
[5] = { name = "opend", forward = true },
[6] = { name = "opend", forward = true },
[7] = { name = "opend", forward = true },
[8] = { name = "opend", forward = true },
[9] = { name = "opend", forward = true },
[10] = { name = "opend", forward = true },
[11] = { name = "opend", forward = true },
[12] = { name = "opend", forward = true },
[13] = { name = "opend", forward = true },
[14] = { name = "opend", forward = true },
[15] = { name = "opend", forward = true },
},
close_all_doors = {
[2] = { name = "opend", forward = false },
[3] = { name = "opend", forward = false },
[4] = { name = "opend", forward = false },
[5] = { name = "opend", forward = false },
[6] = { name = "opend", forward = false },
[7] = { name = "opend", forward = false },
[8] = { name = "opend", forward = false },
[9] = { name = "opend", forward = false },
[10] = { name = "opend", forward = false },
[11] = { name = "opend", forward = false },
[12] = { name = "opend", forward = false },
[13] = { name = "opend", forward = false },
[14] = { name = "opend", forward = false },
[15] = { name = "opend", forward = false },
},
open_doors_left = {
[2] = { name = "opend", forward = true },
[4] = { name = "opend", forward = true },
[6] = { name = "opend", forward = true },
[8] = { name = "opend", forward = true },
[10] = { name = "opend", forward = true },
[12] = { name = "opend", forward = true },
[14] = { name = "opend", forward = true },
},
close_doors_left = {
[2] = { name = "opend", forward = false },
[4] = { name = "opend", forward = false },
[6] = { name = "opend", forward = false },
[8] = { name = "opend", forward = false },
[10] = { name = "opend", forward = false },
[12] = { name = "opend", forward = false },
[14] = { name = "opend", forward = false },
},
open_doors_right = {
[3] = { name = "opend", forward = true },
[5] = { name = "opend", forward = true },
[7] = { name = "opend", forward = true },
[9] = { name = "opend", forward = true },
[11] = { name = "opend", forward = true },
[13] = { name = "opend", forward = true },
[15] = { name = "opend", forward = true },
},
close_doors_right = {
[3] = { name = "opend", forward = false },
[5] = { name = "opend", forward = false },
[7] = { name = "opend", forward = false },
[9] = { name = "opend", forward = false },
[11] = { name = "opend", forward = false },
[13] = { name = "opend", forward = false },
[15] = { name = "opend", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 120,
},
},
metadata = {
description = {
name = _("Compartment car"),
description = _("This compartment coach had two doors for each compartment, one on each side of the car. Easy for the passengers in and out, but impossible for a conductor to check the tickets while driving.")
},
railVehicle = {
topSpeed = 60,
weight = 10,
configs = {
{
axles = { "vehicle/waggon/compartment_car/lod_2_w1.msh" }
},
{
axles = { "vehicle/waggon/compartment_car/lod_1_w1.msh" }
},
{
axles = { "vehicle/waggon/compartment_car/lod_0_w1.msh" }
}
},
soundSet = "waggon_old"
},
transportVehicle = {
capacities = {
{ type = "PASSENGERS", capacity = 42 }
},
carrier = "RAIL",
loadSpeed = 4,
seats = {
--passangers
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, -0.8, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, -0.3, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, 0.1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.7, 0.6, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-3.7, 1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.1, -0.8, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.1, -0.3, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.1, 0.1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.1, 0.6, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-2.1, 1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.3, 0.8, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.3, 0.3, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.3, -0.1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.3, -0.6, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-3.3, -1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.55, -0.8, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.55, -0.3, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.55, 0.1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.55, 0.6, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-0.55, 1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, 0.8, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, 0.3, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, -0.1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, -0.6, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-1.8, -1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.95, -0.8, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.95, -0.3, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.95, 0.1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.95, 0.6, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(0.95, 1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.2, 0.8, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.2, 0.3, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.2, -0.1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.2, -0.6, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-0.2, -1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.6, -0.8, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.6, -0.3, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.6, 0.1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.6, 0.6, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(3.6, 1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.45, 0.8, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.45, 0.3, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.45, -0.1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.45, -0.6, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(2.45, -1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.1, 0.8, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.1, 0.3, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.1, -0.1, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.1, -0.6, 1.2))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(4.1, -1, 1.2))},
}
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 35
}
},
}
end

View File

@ -0,0 +1,322 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/d1_spanischb/lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/d1_spanischb/lod_2_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.3618, -0.2901, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/d1_spanischb/lod_2_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.3618, 0.2901, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/d1_spanischb/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.5381, 0, 0.4328, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/d1_spanischb/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.536, 0, 0.4328, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
},
close_all_doors = {
},
open_doors_left = {
},
close_doors_left = {
},
open_doors_right = {
},
close_doors_right = {
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 400,
visibleTo = 1000,
},{
animations = {
},
children = {
{
id = "vehicle/waggon/d1_spanischb/lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/d1_spanischb/lod_1_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.3618, -0.2901, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/d1_spanischb/lod_1_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.3618, 0.2901, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/d1_spanischb/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.5381, 0, 0.4328, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/d1_spanischb/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.536, 0, 0.4328, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
},
close_all_doors = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
},
open_doors_left = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
},
close_doors_left = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
},
open_doors_right = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
},
close_doors_right = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 50,
visibleTo = 400,
}, {
animations = {
},
children = {
{
id = "vehicle/waggon/d1_spanischb/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/d1_spanischb/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.3618, -0.2901, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/d1_spanischb/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.3618, 0.2901, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/d1_spanischb/lod_0_logos.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/d1_spanischb/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.5381, 0, 0.4328, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/d1_spanischb/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.536, 0, 0.4328, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/d1_spanischb/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
},
close_all_doors = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
},
open_doors_left = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
},
close_doors_left = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
},
open_doors_right = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
},
close_doors_right = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 50,
},
},
metadata = {
description = {
name = _("D 1/3 car"),
description = _("This legendary railway was known as the Spanisch-Brötli-Bahn, named after a delicacy of Baden, Switzerland.")
},
railVehicle = {
topSpeed = 40,
weight = 5,
configs = {
{
axles = { "vehicle/waggon/d1_spanischb/lod_2_w1.msh" }
},{
axles = { "vehicle/waggon/d1_spanischb/lod_1_w1.msh" }
},{
axles = { "vehicle/waggon/d1_spanischb/lod_0_w1.msh" }
}
},
soundSet = "waggon_old"
},
transportVehicle = {
capacities = {
{
type = "PASSENGERS",
capacity = 22,
}
},
carrier = "RAIL",
loadSpeed = 2,
seats = {
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.1, 0.6, 1.1)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.1, -0.8, 1.1)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.0, 0.8, 1.1)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.0, -0.6, 1.1)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.55, 0.6, 1.1)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.55, -0.8, 1.1)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.55, 0.8, 1.1)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.55, -0.6, 1.1)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.1, 0.8, 1.1)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.1, -0.6, 1.1)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.0, 0.6, 1.1)) },
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.0, -0.8, 1.1)) },
}
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 25
}
},
}
end

View File

@ -0,0 +1,343 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
6.7440481185913, 1.4809349775314, 3.9359591007233,
},
bbMin = {
-6.7440481185913, -1.4809349775314, -0.49137100577354,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/donnerbuechse/lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/donnerbuechse/lod_2_door1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.3282, -0.4003, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/donnerbuechse/lod_2_door2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.3873, 0.4003, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/donnerbuechse/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.0776, 0, 0.4702, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/donnerbuechse/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.0776, 0, 0.4702, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
},
close_all_doors = {
},
open_doors_left = {
},
close_doors_left = {
},
open_doors_right = {
},
close_doors_right = {
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 400,
visibleTo = 1350,
}, {
animations = {
},
children = {
{
id = "vehicle/waggon/donnerbuechse/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/donnerbuechse/lod_0_door1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.3282, -0.4003, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/donnerbuechse/lod_0_door2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.3873, 0.4003, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/donnerbuechse/lod_0_door3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.1203, -0.9306, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/donnerbuechse/lod_0_door4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.1465, 0.9306, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/donnerbuechse/lod_0_door3.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 6.2653, -0.9306, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/donnerbuechse/lod_0_door4.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 6.2653, 0.9306, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/donnerbuechse/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.0776, 0, 0.4702, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/donnerbuechse/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.0776, 0, 0.4702, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/donnerbuechse/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/donnerbuechse/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
[4] = { name = "opend3", forward = true },
[5] = { name = "opend4", forward = true },
[6] = { name = "opend3inv", forward = true },
[7] = { name = "opend4inv", forward = true },
},
close_all_doors = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
[4] = { name = "opend3", forward = false },
[5] = { name = "opend4", forward = false },
[6] = { name = "opend3inv", forward = false },
[7] = { name = "opend4inv", forward = false },
},
open_doors_left = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
[5] = { name = "opend4", forward = true },
[7] = { name = "opend4inv", forward = true },
},
close_doors_left = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
[5] = { name = "opend4", forward = false },
[7] = { name = "opend4inv", forward = false },
},
open_doors_right = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
[4] = { name = "opend3", forward = true },
[6] = { name = "opend3inv", forward = true },
},
close_doors_right = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
[4] = { name = "opend3", forward = false },
[6] = { name = "opend3inv", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 400,
},
},
metadata = {
description = {
name = _("Donnerbüchse"),
description = _("Four-wheeled, standard, open coach made entirely of iron and steel. The lack of damping caused loud rumbling, hence the name \"Thunderbox\".")
},
railVehicle = {
topSpeed = 100,
weight = 20,
configs = {
{
axles = {
"vehicle/waggon/donnerbuechse/lod_2_w1.msh",
"vehicle/waggon/donnerbuechse/lod_2_w1.msh"
}
},
{
axles = {
"vehicle/waggon/donnerbuechse/lod_0_w1.msh",
"vehicle/waggon/donnerbuechse/lod_0_w1.msh"
}
}
},
soundSet = "waggon_old"
},
transportVehicle = {
capacities = {
{ type = "PASSENGERS", capacity = 66 }
},
carrier = "RAIL",
loadSpeed = 2,
seats = {
--passangers
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5, -1.1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5, -0.65, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5, 0.45, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4, 1.1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4, 0.65, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4, -0.45, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.7, -1.1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.7, -0.65, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.7, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.7, 0.45, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.7, 1.1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.7, 0.65, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.7, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.7, -0.45, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.5, -1.1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.5, -0.65, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.5, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.5, 0.45, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.5, 1.1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.5, 0.65, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.5, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.5, -0.45, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.2, -1.1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.2, -0.65, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.2, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.2, 0.45, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.2, -1.1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.2, -0.65, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.2, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.2, 0.45, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.2, 1.1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.2, 0.65, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.2, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.2, -0.45, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.5, -1.1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.5, -0.65, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.5, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.5, 0.45, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.5, 1.1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.5, 0.65, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.5, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.5, -0.45, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.7, -1.1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.7, -0.65, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.7, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.7, 0.45, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.7, 1.1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.7, 0.65, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.7, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.7, -0.45, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4, -1.1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4, -0.65, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4, 0.45, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5, 1.1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5, 0.65, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5, -0.45, 1))},
}
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
}
},
}
end

View File

@ -0,0 +1,312 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
11.946655273438, 1.4136459827423, 3.7780799865723,
},
bbMin = {
-11.946655273438, -1.4136459827423, -0.42713099718094,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/ew_ii_lod_2_doors.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.4496, -1.1212, 0, 1,
},
type = "GROUP",
},
{
id = "vehicle/waggon/ew_ii_lod_2_doors2.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.4496, 1.1212, 0, 1,
},
type = "GROUP",
},
{
id = "vehicle/waggon/ew_ii_lod_2_doors.grp",
transf = transf.rotZYXTransl(transf.degToRad(180,0,0), vec3.new(9.4496, 1.1212, 0)),
type = "GROUP",
},
{
id = "vehicle/waggon/ew_ii_lod_2_doors2.grp",
transf = transf.rotZYXTransl(transf.degToRad(180,0,0), vec3.new(9.4496, -1.1212, 0)),
type = "GROUP",
},
{
id = "vehicle/waggon/ew_ii/lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/ew_ii_lod_2_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/waggon/ew_ii_lod_2_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 9, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
},
close_all_doors = {
},
open_doors_right = {
},
close_doors_right = {
},
open_doors_left = {
},
close_doors_left = {
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 400,
visibleTo = 1830,
}, {
animations = {
},
children = {
{
id = "vehicle/waggon/ew_ii_lod_0_doors.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.4496, -1.1212, 0, 1,
},
type = "GROUP",
},
{
id = "vehicle/waggon/ew_ii_lod_0_doors2.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.4496, 1.1212, 0, 1,
},
type = "GROUP",
},
{
id = "vehicle/waggon/ew_ii_lod_0_doors.grp",
transf = transf.rotZYXTransl(transf.degToRad(180,0,0), vec3.new(9.4496, 1.1212, 0)),
type = "GROUP",
},
{
id = "vehicle/waggon/ew_ii_lod_0_doors2.grp",
transf = transf.rotZYXTransl(transf.degToRad(180,0,0), vec3.new(9.4496, -1.1212, 0)),
type = "GROUP",
},
{
id = "vehicle/waggon/ew_ii/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/ew_ii/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/waggon/ew_ii/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/ew_ii_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/waggon/ew_ii_lod_0_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 9, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
[1] = { name = "open_doors", forward = true },
[2] = { name = "open_doors", forward = true },
[3] = { name = "open_doors", forward = true },
[4] = { name = "open_doors", forward = true },
},
close_all_doors = {
[1] = { name = "open_doors", forward = false },
[2] = { name = "open_doors", forward = false },
[3] = { name = "open_doors", forward = false },
[4] = { name = "open_doors", forward = false },
},
open_doors_right = {
[1] = { name = "open_doors", forward = true },
[4] = { name = "open_doors", forward = true },
},
close_doors_right = {
[1] = { name = "open_doors", forward = false },
[4] = { name = "open_doors", forward = false },
},
open_doors_left = {
[2] = { name = "open_doors", forward = true },
[3] = { name = "open_doors", forward = true },
},
close_doors_left = {
[2] = { name = "open_doors", forward = false },
[3] = { name = "open_doors", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 400,
},
},
metadata = {
description = {
name = _("Einheitswagen II"),
description = _("This four axle, twin bogie \"Standard-Coach II\" for passenger service was built in big series.")
},
railVehicle = {
topSpeed = 140,
weight = 30,
configs = {
{
axles = { "vehicle/waggon/ew_ii/lod_2_w1.msh" }
},{
axles = { "vehicle/waggon/ew_ii/lod_0_w1.msh" }
}
},
soundSet = "waggon_modern"
},
transportVehicle = {
capacities = {
{ type = "PASSENGERS", capacity = 82 }
},
carrier = "RAIL",
loadSpeed = 2,
seats = {
--passangers
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-7.8, -1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-7.8, -0.4, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-7.8, 0.9, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.7, 1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.7, -0.2, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.7, -0.9, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.8, -1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.8, -0.4, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.8, 0.9, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.7, 1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.7, -0.2, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.7, -0.9, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.8, -1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.8, -0.4, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.8, 0.9, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.7, 1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.7, -0.2, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.7, -0.9, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, -1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, -0.4, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, 0.9, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.7, 1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.7, -0.2, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.7, -0.9, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.8, -1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.8, -0.4, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.8, 0.9, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(7.8, 1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(7.8, -0.2, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(7.8, -0.9, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.7, -1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.7, -0.4, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.7, 0.9, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5.8, 1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5.8, -0.2, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5.8, -0.9, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.7, -1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.7, -0.4, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.7, 0.9, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.8, 1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.8, -0.2, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.8, -0.9, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.7, -1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.7, -0.4, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.7, 0.9, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.8, 1, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.8, -0.2, 1))},
{ group =13, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.8, -0.9, 1))},
}
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
}
},
}
end

View File

@ -0,0 +1,326 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
13.285885810852, 1.4119000434875, 4.0756788253784,
},
bbMin = {
-13.285887718201, -1.411003947258, -0.48102399706841,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/ew_iv/lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/ew_iv/lod_2_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -10.4973, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/ew_iv/lod_2_d2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -10.4973, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/ew_iv/lod_2_d1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 10.4973, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/ew_iv/lod_2_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 10.4973, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/ew_iv_lod_2_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.2122, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/waggon/ew_iv_lod_2_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 9.2122, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
open_all_doors = {
},
close_all_doors = {
},
open_doors_left = {
},
close_doors_left = {
},
open_doors_right = {
},
close_doors_right = {
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0
},
},
static = false,
visibleFrom = 400,
visibleTo = 2010,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/ew_iv/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/ew_iv/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -10.4973, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/ew_iv/lod_0_d2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -10.4973, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/ew_iv/lod_0_d1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 10.4973, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/ew_iv/lod_0_d2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 10.4973, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/ew_iv_lod_0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.2122, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/waggon/ew_iv_lod_0_bogie.grp",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 9.2122, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/waggon/ew_iv/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/waggon/ew_iv/lod_0_logo_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
[4] = { name = "opend1", forward = true },
[5] = { name = "opend2", forward = true },
},
close_all_doors = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
[4] = { name = "opend1", forward = false },
[5] = { name = "opend2", forward = false },
},
open_doors_left = {
[4] = { name = "opend1", forward = true },
[3] = { name = "opend2", forward = true },
},
close_doors_left = {
[4] = { name = "opend1", forward = false },
[3] = { name = "opend2", forward = false },
},
open_doors_right = {
[2] = { name = "opend1", forward = true },
[5] = { name = "opend2", forward = true },
},
close_doors_right = {
[2] = { name = "opend1", forward = false },
[5] = { name = "opend2", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0
},
},
static = false,
visibleFrom = 0,
visibleTo = 400,
},
},
metadata = {
description = {
name = _("Einheitswagen IV"),
description = _("The four axle, twin bogie \"Standard-Coach IV\" was built on the experience with \"Standard-Coach II\" and had an improved interior, and, a first, air-conditioning.")
},
railVehicle = {
topSpeed = 200,
weight = 42,
configs = {
{
axles = { "vehicle/waggon/ew_iv/lod_2_w1.msh" }
},
{
axles = { "vehicle/waggon/ew_iv/lod_0_w1.msh" }
}
},
soundSet = "waggon_modern"
},
transportVehicle = {
carrier = "RAIL",
capacities = {
{ type = "PASSENGERS", capacity = 86 }
},
loadSpeed = 2,
seats = {
--passangers
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-10, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-10, 0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-8.8, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-8.8, 0.4, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-8.8, -0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-7.8, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-7.8, 0.25, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-7.8, 0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.7, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.7, 0.4, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.7, -0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.8, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.8, 0.25, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.8, 0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.7, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.7, 0.4, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.7, -0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.8, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.8, 0.25, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.8, 0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.7, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.7, 0.4, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.7, -0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, 0.25, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, 0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.7, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.7, 0.4, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.7, -0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.8, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.8, 0.25, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.8, 0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(7.8, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(7.8, 0.4, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(7.8, -0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.7, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.7, 0.25, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.7, 0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5.8, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5.8, 0.4, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5.8, -0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.7, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.7, 0.5, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.7, 0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.8, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.8, 0.4, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.8, -0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.7, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.7, 0.25, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.7, 0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.8, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.8, 0.4, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.8, -0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(8.8, -1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(8.8, 0.9, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(10, 1, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(10, 0.4, 1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(10, -0.9, 1))},
}
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
}
},
}
end

View File

@ -0,0 +1,192 @@
function data()
return {
boundingInfo = {
bbMax = {
3.7555150985718, 1.5256500244141, 3.6031980514526,
},
bbMin = {
-3.7555150985718, -1.5256500244141, -0.53295797109604,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/goods_1850/goods_1850_lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/goods_1850/goods_1850_lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.6429, 0, 0.4803, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/goods_1850/goods_1850_lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6429, 0, 0.4803, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 250,
visibleTo = 1030,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/goods_1850/goods_1850_lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/goods_1850/goods_1850_lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.6429, 0, 0.4803, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/goods_1850/goods_1850_lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6429, 0, 0.4803, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 120,
visibleTo = 250,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/goods_1850/goods_1850_lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/goods_1850/goods_1850_lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.6429, 0, 0.4803, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/goods_1850/goods_1850_lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6429, 0, 0.4803, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 120,
},
},
metadata = {
description = {
name = _("Goods wagon"),
description = _("Common used boxcar.")
},
railVehicle = {
topSpeed = 80,
weight = 5,
configs = {
{
axles = { "vehicle/waggon/goods_1850/goods_1850_lod_2_w1.msh" }
},
{
axles = { "vehicle/waggon/goods_1850/goods_1850_lod_1_w1.msh" }
},
{
axles = { "vehicle/waggon/goods_1850/goods_1850_lod_0_w1.msh" }
}
},
soundSet = "waggon_freight_old"
},
transportVehicle = {
carrier = "RAIL",
capacities = {
{ type = "LIVESTOCK", capacity = 16 },
{ type = "PLASTIC", capacity = 16 },
{ type = "MACHINES", capacity = 16 },
{ type = "TOOLS", capacity = 16 },
{ type = "FOOD", capacity = 16 },
{ type = "GOODS", capacity = 16 },
},
loadSpeed = 1
},
availability = {
yearFrom = 1850,
yearTo = 1859
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 50
}
},
}
end

View File

@ -0,0 +1,185 @@
function data()
return {
boundingInfo = {
bbMax = {
7.9388990402222, 1.7026489973068, 4.6074352264404,
},
bbMin = {
-8.4486074447632, -1.7026489973068, -0.0088170170783997,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/hbi1/lod_2_hbi.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/hbi1/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.3857002258301, 0, 0.51899999380112, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/hbi1/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.3857002258301, 0, 0.51899999380112, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 300,
visibleTo = 1610,
}, {
animations = {
},
children = {
{
id = "vehicle/waggon/hbi1/lod_1_hbi.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/hbi1/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.3857002258301, 0, 0.51899999380112, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/hbi1/lod_1_w2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.3857002258301, 0, 0.51899999380112, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 150,
visibleTo = 300,
}, {
animations = {
},
children = {
{
id = "vehicle/waggon/hbi1/lod_0_hbi.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/hbi1/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.3857002258301, 0, 0.51899999380112, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/hbi1/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.3857002258301, 0, 0.51899999380112, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 150,
},
},
metadata = {
description = {
name = _("Goods wagon Hbi"),
description = _("Twin-axle boxcar with sliding doors, specially for sensitive goods on palettes.")
},
railVehicle = {
topSpeed = 160, -- 160.0
weight = 18,
configs = {
{ },
{ },
{
axles = { "vehicle/waggon/hbi1/lod_0_w1.msh" }
}
},
soundSet = "waggon_freight_modern"
},
transportVehicle = {
carrier = "RAIL",
capacities = {
{ type = "LIVESTOCK", capacity = 52 },
{ type = "PLASTIC", capacity = 52 },
{ type = "MACHINES", capacity = 52 },
{ type = "TOOLS", capacity = 52 },
{ type = "FOOD", capacity = 52 },
{ type = "GOODS", capacity = 52 },
},
loadSpeed = 3
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
}
},
}
end

View File

@ -0,0 +1,189 @@
function data()
return {
boundingInfo = {
bbMax = {
3.3467490673065, 1.2839050292969, 4.0473217964172,
},
bbMin = {
-3.3659648895264, -1.2839050292969, -0.58142900466919,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/kesselwagen_1860/kesselwagen_1860_lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1860/kesselwagen_1860_lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.498, 0, 0.5116, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1860/kesselwagen_1860_lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.498, 0, 0.5116, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 350,
visibleTo = 1070,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/kesselwagen_1860/kesselwagen_1860_lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1860/kesselwagen_1860_lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.498, 0, 0.5116, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1860/kesselwagen_1860_lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.498, 0, 0.5116, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 100,
visibleTo = 350,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/kesselwagen_1860/kesselwagen_1860_lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1860/kesselwagen_1860_lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.498, 0, 0.5116, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1860/kesselwagen_1860_lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.498, 0, 0.5116, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 100,
},
},
metadata = {
description = {
name = _("Tank wagon"),
description = _("Twin axle tank wagon.")
},
railVehicle = {
topSpeed = 80, -- 120.0
weight = 6,
configs = {
{
axles = { "vehicle/waggon/kesselwagen_1860/kesselwagen_1860_lod_2_w1.msh" }
},
{
axles = { "vehicle/waggon/kesselwagen_1860/kesselwagen_1860_lod_1_w1.msh" }
},
{
axles = { "vehicle/waggon/kesselwagen_1860/kesselwagen_1860_lod_0_w1.msh" }
}
},
soundSet = "waggon_freight_old"
},
transportVehicle = {
carrier = "RAIL",
capacities = {
{ type = "CRUDE", capacity = 20 },
{ type = "OIL", capacity = 20 },
{ type = "FUEL", capacity = 20 },
},
loadSpeed = 1
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
}
},
}
end

View File

@ -0,0 +1,189 @@
function data()
return {
boundingInfo = {
bbMax = {
3.7725789546967, 1.5062819719315, 4.7687492370605,
},
bbMin = {
-4.5749650001526, -1.5062819719315, -0.58102601766586,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/kesselwagen_1910/kesselwagen_1910_lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1910/kesselwagen_1910_lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.9297, 0, 0.5112, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1910/kesselwagen_1910_lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.9429, 0, 0.5112, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 400,
visibleTo = 1280,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/kesselwagen_1910/kesselwagen_1910_lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1910/kesselwagen_1910_lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.9297, 0, 0.5112, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1910/kesselwagen_1910_lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.9429, 0, 0.5112, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 100,
visibleTo = 400,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/kesselwagen_1910/kesselwagen_1910_lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1910/kesselwagen_1910_lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.9297, 0, 0.5112, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1910/kesselwagen_1910_lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.9429, 0, 0.5112, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 100,
},
},
metadata = {
description = {
name = _("Tank wagon"),
description = _("Twin axle tank wagon.")
},
railVehicle = {
topSpeed = 120, -- 120.0
weight = 10,
configs = {
{
axles = { "vehicle/waggon/kesselwagen_1910/kesselwagen_1910_lod_2_w1.msh" }
},
{
axles = { "vehicle/waggon/kesselwagen_1910/kesselwagen_1910_lod_1_w1.msh" }
},
{
axles = { "vehicle/waggon/kesselwagen_1910/kesselwagen_1910_lod_0_w1.msh" }
}
},
soundSet = "waggon_freight_old"
},
transportVehicle = {
carrier = "RAIL",
capacities = {
{ type = "CRUDE", capacity = 36 },
{ type = "OIL", capacity = 36 },
{ type = "FUEL", capacity = 36 },
},
loadSpeed = 2
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
}
},
}
end

View File

@ -0,0 +1,263 @@
function data()
return {
boundingInfo = {
bbMax = {
7.414354801178, 1.6036590337753, 4.3081970214844,
},
bbMin = {
-7.414354801178, -1.6036590337753, -0.54317998886108,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/kesselwagen_1950/kesselwagen_1950_lod_3_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1950/kesselwagen_1950_lod_3_b1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.8255, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/waggon/kesselwagen_1950/kesselwagen_1950_lod_3_b1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.8255, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/waggon/kesselwagen_1950/kesselwagen_1950_lod_3_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.7633, 0, 0.4801, 1,
},
type = "MESH",
},{
id = "vehicle/waggon/kesselwagen_1950/kesselwagen_1950_lod_3_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.7633, 0, 0.4801, 1,
},
type = "MESH",
},{
id = "vehicle/waggon/kesselwagen_1950/kesselwagen_1950_lod_3_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.8878, 0, 0.4801, 1,
},
type = "MESH",
},{
id = "vehicle/waggon/kesselwagen_1950/kesselwagen_1950_lod_3_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.8878, 0, 0.4801, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
0, 0, 0,
0,
},
},
static = false,
visibleFrom = 650,
visibleTo = 1490,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/kesselwagen_1950/kesselwagen_1950_lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1950_lod2_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.8255, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/waggon/kesselwagen_1950_lod2_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.8255, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 400,
visibleTo = 650,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/kesselwagen_1950/kesselwagen_1950_lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1950_lod1_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.8255, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/waggon/kesselwagen_1950_lod1_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.8255, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 100,
visibleTo = 400,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/kesselwagen_1950/kesselwagen_1950_lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/kesselwagen_1950_lod0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.8255, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/waggon/kesselwagen_1950_lod0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.8255, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 100,
},
},
metadata = {
description = {
name = _("Tank wagon"),
description = _("Double bogie, four axle tank wagon.")
},
railVehicle = {
topSpeed = 160,
weight = 15,
configs = {
{
axles = { "vehicle/waggon/kesselwagen_1950/kesselwagen_1950_lod_3_w1.msh" }
},
{
axles = { "vehicle/waggon/kesselwagen_1950/kesselwagen_1950_lod_2_w1.msh" }
},
{
axles = { "vehicle/waggon/kesselwagen_1950/kesselwagen_1950_lod_1_w1.msh" }
},
{
axles = { "vehicle/waggon/kesselwagen_1950/kesselwagen_1950_lod_0_w1.msh" }
}
},
soundSet = "waggon_freight_modern"
},
transportVehicle = {
carrier = "RAIL",
capacities = {
{ type = "CRUDE", capacity = 60 },
{ type = "OIL", capacity = 60 },
{ type = "FUEL", capacity = 60 },
},
loadSpeed = 3
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 60
}
},
}
end

View File

@ -0,0 +1,296 @@
function data()
return {
boundingInfo = {
bbMax = {
3.3591649532318, 1.3326870203018, 2.737401008606,
},
bbMin = {
-3.3591649532318, -1.3326870203018, -0.53216099739075,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/open_1850/open_1850_lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_2_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_2_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_2_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_2_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_2_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.5249, 0, 0.4915, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.5249, 0, 0.4915, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 1, 2, 3, 4, 0, 0
},
},
static = false,
visibleFrom = 250,
visibleTo = 1010,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/open_1850/open_1850_lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_1_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_1_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_1_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_1_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_1_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.5249, 0, 0.4915, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.5249, 0, 0.4915, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 1, 2, 3, 4, 0, 0
},
},
static = false,
visibleFrom = 120,
visibleTo = 250,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/open_1850/open_1850_lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_0_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_0_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_0_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_0_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_0_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.5249, 0, 0.4915, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1850/open_1850_lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.5249, 0, 0.4915, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 1, 2, 3, 4, 0, 0
},
},
static = false,
visibleFrom = 0,
visibleTo = 120,
},
},
metadata = {
description = {
name = _("Open wagon"),
description = _("Twin axle freight wagon.")
},
railVehicle = {
topSpeed = 80,
weight = 5,
configs = {
{
axles = { "vehicle/waggon/open_1850/open_1850_lod_2_w1.msh" }
},
{
axles = { "vehicle/waggon/open_1850/open_1850_lod_1_w1.msh" }
},
{
axles = { "vehicle/waggon/open_1850/open_1850_lod_0_w1.msh" }
}
},
soundSet = "waggon_freight_old"
},
transportVehicle = {
carrier = "RAIL",
capacities = {
{ type = "COAL", capacity = 16, loadIndicator = { type = "LEVEL", params = { id = 2, maxHeight = 1.2 } } },
{ type = "IRON_ORE", capacity = 16, loadIndicator = { type = "LEVEL", params = { id = 3, maxHeight = 1.2 } } },
{ type = "STONE", capacity = 16, loadIndicator = { type = "LEVEL", params = { id = 4, maxHeight = 1.2 } } },
{ type = "GRAIN", capacity = 16, loadIndicator = { type = "LEVEL", params = { id = 5, maxHeight = 1.2 } } },
{ type = "SLAG", capacity = 16, loadIndicator = { type = "LEVEL", params = { id = 6, maxHeight = 1.2 } } },
},
loadSpeed = 1
},
availability = {
yearFrom = 1850,
yearTo = 1859
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
}
},
}
end

View File

@ -0,0 +1,296 @@
function data()
return {
boundingInfo = {
bbMax = {
4.9892120361328, 1.493842959404, 2.4498810768127,
},
bbMin = {
-4.9892120361328, -1.493842959404, -0.58087199926376,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/open_1910/open_1910_lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_2_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_2_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_2_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_2_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_2_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.3848, 0, 0.511, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.3848, 0, 0.511, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 1, 2, 3, 4, 0, 0
},
},
static = false,
visibleFrom = 250,
visibleTo = 1010,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/open_1910/open_1910_lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_1_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_1_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_1_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_1_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_1_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.3848, 0, 0.511, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.3848, 0, 0.511, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 1, 2, 3, 4, 0, 0
},
},
static = false,
visibleFrom = 120,
visibleTo = 250,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/open_1910/open_1910_lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_0_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_0_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_0_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_0_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_0_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.3848, 0, 0.511, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1910/open_1910_lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.3848, 0, 0.511, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 1, 2, 3, 4, 0, 0
},
},
static = false,
visibleFrom = 0,
visibleTo = 120,
},
},
metadata = {
description = {
name = _("Open wagon"),
description = _("Twin axle freight wagon.")
},
railVehicle = {
topSpeed = 120,
weight = 10,
configs = {
{
axles = { "vehicle/waggon/open_1910/open_1910_lod_2_w1.msh"}
},
{
axles = { "vehicle/waggon/open_1910/open_1910_lod_1_w1.msh"}
},
{
axles = { "vehicle/waggon/open_1910/open_1910_lod_0_w1.msh"}
}
},
soundSet = "waggon_freight_old"
},
transportVehicle = {
carrier = "RAIL",
capacities = {
{ type = "COAL", capacity = 32, loadIndicator = { type = "LEVEL", params = { id = 2, maxHeight = 0.88 } } },
{ type = "IRON_ORE", capacity = 32, loadIndicator = { type = "LEVEL", params = { id = 3, maxHeight = 0.88 } } },
{ type = "STONE", capacity = 32, loadIndicator = { type = "LEVEL", params = { id = 4, maxHeight = 0.88 } } },
{ type = "GRAIN", capacity = 32, loadIndicator = { type = "LEVEL", params = { id = 5, maxHeight = 0.88 } } },
{ type = "SLAG", capacity = 32, loadIndicator = { type = "LEVEL", params = { id = 6, maxHeight = 0.88 } } },
},
loadSpeed = 2
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
}
},
}
end

View File

@ -0,0 +1,295 @@
function data()
return {
boundingInfo = {
bbMax = {
7.1124649047852, 1.6697959899902, 3.2351810932159,
},
bbMin = {
-7.1124649047852, -1.6697959899902, -0.50375598669052,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/open_1975/open_1975_lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1975/open_1975_lod_2_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1975/open_1975_lod_2_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1975/open_1975_lod_2_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1975/open_1975_lod_2_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1975/open_1975_lod_2_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/waggon/open_1975_lod2_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.566, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/waggon/open_1975_lod2_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.566, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0, 1, 2, 3, 4, 0, 0
},
},
static = false,
visibleFrom = 350,
visibleTo = 1280,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/open_1975/open_1975_lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1975/open_1975_lod_1_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1975/open_1975_lod_1_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1975/open_1975_lod_1_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1975/open_1975_lod_1_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1975/open_1975_lod_1_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/waggon/open_1975_lod1_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.566, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/waggon/open_1975_lod1_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.566, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0, 1, 2, 3, 4, 0, 0
},
},
static = false,
visibleFrom = 100,
visibleTo = 350,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/open_1975/open_1975_lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1975/open_1975_lod_0_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1975/open_1975_lod_0_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1975/open_1975_lod_0_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1975/open_1975_lod_0_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/open_1975/open_1975_lod_0_cargo_load.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},{
id = "vehicle/waggon/open_1975_lod0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.566, 0, 0, 1,
},
type = "GROUP",
},{
id = "vehicle/waggon/open_1975_lod0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.566, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0, 1, 2, 3, 4, 0, 0
},
},
static = false,
visibleFrom = 0,
visibleTo = 100,
},
},
metadata = {
description = {
name = _("Open wagon"),
description = _("Four axle freight wagon, particularly for mass transport.")
},
railVehicle = {
topSpeed = 160,
weight = 15,
configs = {
{
axles = { "vehicle/waggon/open_1975/open_1975_lod_2_w1.msh" }
},
{
axles = { "vehicle/waggon/open_1975/open_1975_lod_1_w1.msh" }
},
{
axles = { "vehicle/waggon/open_1975/open_1975_lod_0_w1.msh" }
}
},
soundSet = "waggon_freight_modern"
},
transportVehicle = {
carrier = "RAIL",
capacities = {
{ type = "COAL", capacity = 52, loadIndicator = { type = "LEVEL", params = { id = 2, maxHeight = 1.88 } } },
{ type = "IRON_ORE", capacity = 52, loadIndicator = { type = "LEVEL", params = { id = 3, maxHeight = 1.88 } } },
{ type = "STONE", capacity = 52, loadIndicator = { type = "LEVEL", params = { id = 4, maxHeight = 1.88 } } },
{ type = "GRAIN", capacity = 52, loadIndicator = { type = "LEVEL", params = { id = 5, maxHeight = 1.88 } } },
{ type = "SLAG", capacity = 52, loadIndicator = { type = "LEVEL", params = { id = 6, maxHeight = 1.88 } } },
},
loadSpeed = 3
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
}
},
}
end

View File

@ -0,0 +1,731 @@
function data()
local sx1 = 5.6/7
local sy1 = 2.63/4.13
local sz1 = 2.2/12
local tx1 = 0.00
local tz1 = 1.2
local dz1 = .35
local sx2 = 5.4/7.8
local sy2 = 2.63/3.94
local sz2 = 2.2/13
local tx2 = 0.0
local tz2 = 1.2
local dz2 = .35
local sx3 = 5.4/7.05
local sy3 = 2.63/4.0
local sz3 = 2.2/8
local tx3 = 0.0
local tz3 = 1.2
local dz3 = .35
return {
boundingInfo = {
bbMax = {
3.4886469841003, 1.5378539562225, 3.2384350299835,
},
bbMin = {
-3.4886469841003, -1.5378539562225, -0.070367991924286,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/rungenwagen_1850/lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_2_freight_wood_level1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_2_freight_wood_level2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_2_freight_wood_level3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_2_freight_wood_level4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_2_freight_wood_level5.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + 2 * dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + 3 * dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + 4 * dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + 2 * dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + 3 *dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + 4 * dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + 2 * dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + 3 * dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + 4 * dz3, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/rungenwagen_1850/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6389000415802, 0, 0.5149000287056, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/rungenwagen_1850/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.6389000415802, 0, 0.5149000287056, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 240,
visibleTo = 950,
}, {
animations = {
},
children = {
{
id = "vehicle/waggon/rungenwagen_1850/lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_1_freight_wood_level1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_1_freight_wood_level2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_1_freight_wood_level3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_1_freight_wood_level4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_1_freight_wood_level5.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + 2 * dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + 3 * dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + 4 * dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + 2 * dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + 3 *dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + 4 * dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + 2 * dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + 3 * dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + 4 * dz3, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/rungenwagen_1850/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6389000415802, 0, 0.5149000287056, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/rungenwagen_1850/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.6389000415802, 0, 0.5149000287056, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 100,
visibleTo = 240,
}, {
animations = {
},
children = {
{
id = "vehicle/waggon/rungenwagen_1850/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/waggon/_freight/lod_0_freight_wood_level1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_0_freight_wood_level2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_0_freight_wood_level3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_0_freight_wood_level4.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_0_freight_wood_level5.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
{
id = "industry/cargo/lod_0_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + 2 * dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + 3 * dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + 4 * dz1, 1,
},
type = "MESH",
},
{
id = "industry/cargo/lod_0_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + 2 * dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + 3 *dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + 4 * dz2, 1,
},
type = "MESH",
},
{
id = "industry/cargo/lod_0_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + 2 * dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + 3 * dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + 4 * dz3, 1,
},
type = "MESH",
},
{
id = "vehicle/waggon/rungenwagen_1850/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6389000415802, 0, 0.5149000287056, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/rungenwagen_1850/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.6389000415802, 0, 0.5149000287056, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0, 0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 100,
},
},
metadata = {
availability = {
yearFrom = 1850,
yearTo = 1859,
},
cost = {
price = -1,
},
description = {
name = _("Stake car"),
description = _("Twin axle stake car.")
},
maintenance = {
lifespan = 40,
runningCosts = -1,
},
railVehicle = {
configs = {
{
axles = {
"vehicle/waggon/rungenwagen_1850/lod_2_w1.msh",
},
fakeBogies = {
},
}, {
axles = {
"vehicle/waggon/rungenwagen_1850/lod_1_w1.msh",
},
fakeBogies = {
},
}, {
axles = {
"vehicle/waggon/rungenwagen_1850/lod_0_w1.msh",
},
fakeBogies = {
},
},
},
engines = {
},
soundSet = {
horn = "",
name = "waggon_freight_old",
},
topSpeed = 80,
weight = 5,
},
transportVehicle = {
capacities = {
{ type = "LOGS", capacity = 16, loadIndicators = {
{
params = {
levels = {
{
2, 3, 4, 5, 6,
}, {
3, 4, 5, 6,
}, {
4, 5, 6,
}, {
5, 6,
}, {
6,
}, {
},
},
},
type = "DISCRETE",
},
},
type = "LOGS",
},
{ type = "STEEL", capacity = 16, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 7, 8, 9, 10, 11, }
}
},
}
},
{ type = "PLANKS", capacity = 16, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 12, 13, 14, 15, 16, }
}
},
}
},
{ type = "CONSTRUCTION_MATERIALS", capacity = 16, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 17, 18, 19, 20, 21, }
}
},
}
},
},
carrier = "RAIL",
loadSpeed = 1
},
},
}
end

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,783 @@
function data()
local sx1 = 8/7
local sy1 = 2.63/4.13
local sz1 = .35
local tx1 = 4.02
local tz1 = 1.2
local dz1 = .7
local sx2 = 8/7.8
local sy2 = 2.63/3.94
local sz2 = 0.35
local tx2 = 4.02
local tz2 = 1.2
local dz2 = .7
local sx3 = 8/7.3
local sy3 = 2.63/4.0
local sz3 = 0.55
local tx3 = 4.02
local tz3 = 1.2
local dz3 = .74
return {
boundingInfo = {
bbMax = {
8.7690124511719, 1.5262520313263, 3.6753621101379,
},
bbMin = {
-9.1690120697021, -1.5262520313263, -0.56175297498703,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/rungenwagen_1950/lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
-- wood needed for rungenwagen 1950
{
id = "vehicle/waggon/_freight/lod_2_freight_bigwood_level1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_2_freight_bigwood_level2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_2_freight_bigwood_level3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/waggon/_freight/lod_2_freight_bigwood_level1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -4, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_2_freight_bigwood_level2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -4, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_2_freight_bigwood_level3.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -4, 0, 0, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, -tx1, 0, tz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, -tx1, 0, tz1 + dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + 2 * dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, -tx1, 0, tz1 + 2* dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, -tx2, 0, tz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, -tx2, 0, tz2 + dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + 2 * dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, -tx2, 0, tz2 + 2* dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, -tx3, 0, tz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, -tx3, 0, tz3 + dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + 2 * dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, -tx3, 0, tz3 + 2* dz3, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/rungenwagen_1950_lod2_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.1279, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/waggon/rungenwagen_1950_lod2_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.1279, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 220,
visibleTo = 1530,
}, {
animations = {
},
children = {
{
id = "vehicle/waggon/rungenwagen_1950/lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
-- wood needed for rungenwagen 1950
{
id = "vehicle/waggon/_freight/lod_1_freight_bigwood_level1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_1_freight_bigwood_level2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_1_freight_bigwood_level3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/waggon/_freight/lod_1_freight_bigwood_level1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -4, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_1_freight_bigwood_level2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -4, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_1_freight_bigwood_level3.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -4, 0, 0, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, -tx1, 0, tz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, -tx1, 0, tz1 + dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + 2 * dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, -tx1, 0, tz1 + 2* dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, -tx2, 0, tz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, -tx2, 0, tz2 + dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + 2 * dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, -tx2, 0, tz2 + 2* dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, -tx3, 0, tz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, -tx3, 0, tz3 + dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + 2 * dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_1_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, -tx3, 0, tz3 + 2* dz3, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/rungenwagen_1950_lod1_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.1279, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/waggon/rungenwagen_1950_lod1_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.1279, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 100,
visibleTo = 220,
}, {
animations = {
},
children = {
{
id = "vehicle/waggon/rungenwagen_1950/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
-- wood needed for rungenwagen 1950
{
id = "vehicle/waggon/_freight/lod_0_freight_bigwood_level1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_0_freight_bigwood_level2.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_0_freight_bigwood_level3.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4, 0, 0, 1,
},
type = "MESH",
},
{
id = "vehicle/waggon/_freight/lod_0_freight_bigwood_level1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -4, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_0_freight_bigwood_level2.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -4, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/_freight/lod_0_freight_bigwood_level3.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -4, 0, 0, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, -tx1, 0, tz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, -tx1, 0, tz1 + dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, tx1, 0, tz1 + 2 * dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_steel_large.msh",
transf = {
sx1, 0, 0, 0, 0, sy1, 0, 0, 0, 0, sz1, 0, -tx1, 0, tz1 + 2* dz1, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, -tx2, 0, tz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, -tx2, 0, tz2 + dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, tx2, 0, tz2 + 2 * dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_planks_large.msh",
transf = {
sx2, 0, 0, 0, 0, sy2, 0, 0, 0, 0, sz2, 0, -tx2, 0, tz2 + 2* dz2, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, -tx3, 0, tz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, -tx3, 0, tz3 + dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, tx3, 0, tz3 + 2 * dz3, 1,
},
type = "MESH",
}, {
id = "industry/cargo/lod_0_cargo_construction_goods_large.msh",
transf = {
sx3, 0, 0, 0, 0, sy3, 0, 0, 0, 0, sz3, 0, -tx3, 0, tz3 + 2* dz3, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/rungenwagen_1950_lod0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.1279, 0, 0, 1,
},
type = "GROUP",
}, {
id = "vehicle/waggon/rungenwagen_1950_lod0_bogie.grp",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.1279, 0, 0, 1,
},
type = "GROUP",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
0, 0, 0,
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 100,
},
},
metadata = {
description = {
name = _("Stake car"),
description = _("Twin bogie stake car.")
},
railVehicle = {
topSpeed = 160,
weight = 17,
configs = {
{
axles = { "vehicle/waggon/rungenwagen_1950/lod_2_w1.msh"}
},
{
axles = { "vehicle/waggon/rungenwagen_1950/lod_1_w1.msh"}
},
{
axles = { "vehicle/waggon/rungenwagen_1950/lod_0_w1.msh"}
}
},
soundSet = "waggon_freight_modern"
},
transportVehicle = {
carrier = "RAIL",
capacities = {
{ type = "LOGS", capacity = 52, loadIndicators = {
{ type = "DISCRETE", params = { levels = {
{ 2, 3, 4,
5, 6, 7, },
{ 3, 4,
5, 6, 7, },
{ 3, 4,
6, 7, },
{ 3, 4,
7, },
{ 4,
7, },
{ 7 },
{ },
} } },
--{ ... },
--{ ... },
} },
{ type = "STEEL", capacity = 52, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 8, 9, 10, 11, 12, 13 }
}
},
}
},
{ type = "PLANKS", capacity = 52, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 14, 15, 16, 17, 18, 19, }
}
},
}
},
{ type = "CONSTRUCTION_MATERIALS", capacity = 52, loadIndicators = {
{
type = "DISCRETE",
params = {
items = { 20, 21, 22, 23, 24, 25, }
}
},
}
},
},
loadSpeed = 3
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 60
}
},
}
end

View File

@ -0,0 +1,191 @@
function data()
return {
boundingInfo = {
bbMax = {
4.9708189964294, 1.5710370540619, 4.468316078186,
},
bbMin = {
-5.0028338432312, -1.5710370540619, -0.58108800649643,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/verbandswagen/verbandswagen_lod_2_verbandswagen.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/verbandswagen/verbandswagen_lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.3704, 0, 0.5113, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/verbandswagen/verbandswagen_lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.3704, 0, 0.5113, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 250,
visibleTo = 1300,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/verbandswagen/verbandswagen_lod_1_verbandswagen.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/verbandswagen/verbandswagen_lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.3704, 0, 0.5113, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/verbandswagen/verbandswagen_lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.3704, 0, 0.5113, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 120,
visibleTo = 250,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/verbandswagen/verbandswagen_lod_0_verbandswagen.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/verbandswagen/verbandswagen_lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.3704, 0, 0.5113, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/verbandswagen/verbandswagen_lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.3704, 0, 0.5113, 1,
},
type = "MESH",
},
},
events = {
},
matConfigs = {
{
0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 120,
},
},
metadata = {
description = {
name = _("Verbandswagen"),
description = _("Twin-axle boxcar built to standardize the fleet of freight cars.")
},
railVehicle = {
topSpeed = 120, -- 120.0
weight = 11,
configs = {
{
axles = { "vehicle/waggon/verbandswagen/verbandswagen_lod_2_w1.msh" }
},
{
axles = { "vehicle/waggon/verbandswagen/verbandswagen_lod_1_w1.msh" }
},
{
axles = { "vehicle/waggon/verbandswagen/verbandswagen_lod_0_w1.msh" }
}
},
soundSet = "waggon_freight_old"
},
transportVehicle = {
carrier = "RAIL",
capacities = {
{ type = "LIVESTOCK", capacity = 32 },
{ type = "PLASTIC", capacity = 32 },
{ type = "MACHINES", capacity = 32 },
{ type = "TOOLS", capacity = 32 },
{ type = "FOOD", capacity = 32 },
{ type = "GOODS", capacity = 32 },
},
loadSpeed = 2
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 40
}
},
}
end

View File

@ -0,0 +1,351 @@
local vec3 = require "vec3"
local transf = require "transf"
function data()
return {
boundingInfo = {
bbMax = {
4.2660808563232, 1.4711810350418, 3.5781519412994,
},
bbMin = {
-4.2660808563232, -1.4711810350418, -0.55456000566483,
},
},
collider = {
params = {
},
type = "MESH",
},
lods = {
{
animations = {
},
children = {
{
id = "vehicle/waggon/wagen_bayrisch_1865/lod_2_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/wagen_bayrisch_1865/lod_2_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.9509, 0.4053, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/wagen_bayrisch_1865/lod_2_d1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -2.9509, -0.4053, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/wagen_bayrisch_1865/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.8019, 0, 0.5068, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/wagen_bayrisch_1865/lod_2_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.8019, 0, 0.5068, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend1", forward = true },
},
close_all_doors = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend1", forward = false },
},
open_doors_left = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend1", forward = true },
},
close_doors_left = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend1", forward = false },
},
open_doors_right = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend1", forward = true },
},
close_doors_right = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend1", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 220,
visibleTo = 1070,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/wagen_bayrisch_1865/lod_1_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/wagen_bayrisch_1865/lod_1_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.9509, 0.4053, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/wagen_bayrisch_1865/lod_1_d1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -2.9509, -0.4053, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/wagen_bayrisch_1865/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.8019, 0, 0.5068, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/wagen_bayrisch_1865/lod_1_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.8019, 0, 0.5068, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend1", forward = true },
},
close_all_doors = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend1", forward = false },
},
open_doors_left = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend1", forward = true },
},
close_doors_left = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend1", forward = false },
},
open_doors_right = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend1", forward = true },
},
close_doors_right = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend1", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 120,
visibleTo = 220,
},
{
animations = {
},
children = {
{
id = "vehicle/waggon/wagen_bayrisch_1865/lod_0_body.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/wagen_bayrisch_1865/lod_0_d1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.9509, 0.4053, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/wagen_bayrisch_1865/lod_0_d1.msh",
transf = {
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -2.9509, -0.4053, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/wagen_bayrisch_1865/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.8019, 0, 0.5068, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/wagen_bayrisch_1865/lod_0_w1.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.8019, 0, 0.5068, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/wagen_bayrisch_1865/lod_0_interior.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
}, {
id = "vehicle/waggon/wagen_bayrisch_1865/lod_0_logos.msh",
transf = {
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
},
type = "MESH",
},
},
events = {
open_all_doors = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend1", forward = true },
},
close_all_doors = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend1", forward = false },
},
open_doors_left = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend1", forward = true },
},
close_doors_left = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend1", forward = false },
},
open_doors_right = {
[2] = { name = "opend1", forward = true },
[3] = { name = "opend1", forward = true },
},
close_doors_right = {
[2] = { name = "opend1", forward = false },
[3] = { name = "opend1", forward = false },
},
},
matConfigs = {
{
0, 0, 0, 0, 0,
},
},
static = false,
visibleFrom = 0,
visibleTo = 120,
},
},
metadata = {
description = {
name = _("Bavarian car"),
description = _("Two-axle coach with open platforms on both sides.")
},
railVehicle = {
topSpeed = 50,
weight = 7,
configs = {
{
axles = { "vehicle/waggon/wagen_bayrisch_1865/lod_2_w1.msh" }
},
{
axles = { "vehicle/waggon/wagen_bayrisch_1865/lod_1_w1.msh" }
},
{
axles = { "vehicle/waggon/wagen_bayrisch_1865/lod_0_w1.msh" }
}
},
soundSet = "waggon_old"
},
transportVehicle = {
capacities = {
{ type = "PASSENGERS", capacity = 30 }
},
carrier = "RAIL",
loadSpeed = 2,
seats = {
--passangers
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-2.65, -1.1, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.65, -0.65, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-2.65, 0.9, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.65, 0.5, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-1.55, 1.1, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.55, 0.65, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-190.0, 0.0, 0.0), vec3.new(-1.55, -0.9, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.55, -0.5, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-1.05, -1.1, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.05, -0.65, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-1.05, 0.9, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.05, 0.5, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-0.1, 1.1, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.1, 0.65, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-190.0, 0.0, 0.0), vec3.new(-0.1, -0.9, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-0.1, -0.5, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(.4, -1.1, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(.4, -0.65, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(.4, 0.9, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(.4, 0.5, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(1.45, 1.1, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.45, 0.65, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-190.0, 0.0, 0.0), vec3.new(1.45, -0.9, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.45, -0.5, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.9, -1.1, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, -0.65, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.9, 0.9, 1.1))},
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, 0.5, 1.1))},
}
},
availability = {
yearFrom = 3000,
yearTo = 3000
},
cost = {
price = -1
},
maintenance = {
runningCosts = -1,
lifespan = 30
}
},
}
end

BIN
workshop_preview.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB