local vec3 = require "vec3" local transf = require "transf" local constructionutil = require "constructionutil" function data() return { type = "ASSET_TRACK", buildMode = "MULTI", categories = { "mk_twd" }, availability = {}, description = { name = _("mk_twd_asset_regio_neutral_triebwagen_name"), description = _("mk_twd_asset_regio_neutral_triebwagen_desc") }, params = { { key = "mk_twd_regio_neutral_triebwagen_type", name = _("Triebwagen Bauart"), uiType = "ICON_BUTTON", --values = { _("DBpzfa"), _("DABpbzfa"), _("DABpzfa")}, values = { "ui/models_20/vehicle/train/mk_twd_regio_neutral_triebwagen_dbpzfa@2x.tga", "ui/models_20/vehicle/train/mk_twd_regio_neutral_triebwagen_dabpbzfa@2x.tga", "ui/models_20/vehicle/train/mk_twd_regio_neutral_triebwagen_dabpzfa@2x.tga"}, tooltip = _("Choose the type of postbox you'd like to place."), defaultIndex = 0, }, { key = "mk_twd_rail", name = _("Anpassung auf Schienenhöhe"), uiType = "BUTTON", values = { _("Ja"), _("Nein"), }, tooltip = _("Choose the type of postbox you'd like to place."), defaultIndex = 0, }, { key = "mk_twd_innenausstattung", name = _("Innenausstattung (Sitze, Tische etc.)"), uiType = "BUTTON", values = { _("Ja"), _("Nein"), }, tooltip = _("Choose the type of postbox you'd like to place."), defaultIndex = 0, }, { key = "mk_twd_pantograph", name = _("Stromabnehmer Position"), uiType = "BUTTON", values = { _("Unten"), _("Oben"), _("Keiner"), }, tooltip = _("Choose the type of postbox you'd like to place."), defaultIndex = 0, }, { key = "mk_twd_seite_a_tuer", name = _("Türen Links"), uiType = "BUTTON", values = { _("Zu"), _("Auf"), _("Keine"),}, tooltip = _("Choose the type of postbox you'd like to place."), defaultIndex = 0, }, { key = "mk_twd_seite_b_tuer", name = _("Türen Rechts"), uiType = "BUTTON", values = { _("Zu"), _("Auf"), _("Keine"),}, tooltip = _("Choose the type of postbox you'd like to place."), defaultIndex = 0, }, }, updateFn = function(params) local result = { } local models = { "assets/mk_twd_asset_regio_neutral_triebwagen_dbpzfa_body.mdl", "assets/mk_twd_asset_regio_neutral_triebwagen_dabpbzfa_body.mdl", "assets/mk_twd_asset_regio_neutral_triebwagen_dabpzfa_body.mdl", } result.models = { } local models_innen = { "assets/mk_twd_asset_regio_neutral_triebwagen_dbpzfa_innen.mdl", "assets/mk_twd_asset_regio_neutral_triebwagen_dabpbzfa_innen.mdl", "assets/mk_twd_asset_regio_neutral_triebwagen_dabpzfa_innen.mdl", } result.models = { } local models_innenausstattung = { "assets/mk_twd_asset_regio_neutral_triebwagen_dbpzfa_innenausstattung.mdl", "assets/mk_twd_asset_regio_neutral_triebwagen_dabpbzfa_innenausstattung.mdl", "assets/mk_twd_asset_regio_neutral_triebwagen_dabpzfa_innenausstattung.mdl", } result.models = { } local models_pantograph = { "assets/mk_twd_asset_regio_neutral_triebwagen_stromabnehmer_unten.mdl", "assets/mk_twd_asset_regio_neutral_triebwagen_stromabnehmer_oben.mdl", } result.models = { } -- Model local z if params.mk_twd_rail == 0 then z = 1.05 else z = 0 end local tuer_a_x, tuer_a_y if params.mk_twd_seite_a_tuer == 0 then tuer_a_x = 0 tuer_a_y = 0 elseif params.mk_twd_seite_a_tuer == 1 then tuer_a_x = -0.75 tuer_a_y = -0.054999999701977 end local tuer_b_x, tuer_b_y if params.mk_twd_seite_b_tuer == 0 then tuer_b_x = 0 tuer_b_y = 0 elseif params.mk_twd_seite_b_tuer == 1 then tuer_b_x = 0.75 tuer_b_y = 0.054999999701977 end -- Wagenkasten-Typ result.models = { { id = models[params.mk_twd_regio_neutral_triebwagen_type + 1], --transf = transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad(0.0, 0, 0), vec3.new(0, 0, 0)) } transf = constructionutil.rotateTransf(params, { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, z, 1 }) } } -- Anbauteile außen und innen result.models[#result.models+1] = { id = "assets/mk_twd_asset_regio_neutral_triebwagen_bodyparts.mdl", transf = constructionutil.rotateTransf(params, { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, z, 1 }) } -- Innen (Wände und Einbauten) result.models[#result.models+1] = { id = models_innen[params.mk_twd_regio_neutral_triebwagen_type + 1], transf = constructionutil.rotateTransf(params, { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, z, 1 }) } -- Innenausstattung if params.mk_twd_innenausstattung == 0 then result.models[#result.models+1] = { id = models_innenausstattung[params.mk_twd_regio_neutral_triebwagen_type + 1], transf = constructionutil.rotateTransf(params, { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, z, 1 }) } end --Pantograph if params.mk_twd_pantograph ~= 2 then result.models[#result.models+1] = { id = models_pantograph[params.mk_twd_pantograph + 1], transf = constructionutil.rotateTransf(params, { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, z, 1 }) } end -- Türen links if params.mk_twd_seite_a_tuer ~= 2 then -- Türen vorne links result.models[#result.models+1] = { id = "assets/mk_twd_asset_regio_neutral_tuer_schmal_1.mdl", transf = constructionutil.rotateTransf(params, { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.3899998664856+tuer_a_x, -1.3899999856949+tuer_a_y, 2.7799999713898 + z, 1 }) } result.models[#result.models+1] = { id = "assets/mk_twd_asset_regio_neutral_tuer_schmal_2.mdl", transf = constructionutil.rotateTransf(params, { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.8499999046326-tuer_a_x, -1.3899999856949+tuer_a_y, 2.7799999713898 + z, 1, }) } -- Türen hinten links result.models[#result.models+1] = { id = "assets/mk_twd_asset_regio_neutral_tuer_schmal_1.mdl", transf = constructionutil.rotateTransf(params, { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.2999997138977+tuer_a_x, -1.3899999856949+tuer_a_y, 2.7799999713898 + z, 1,}) } result.models[#result.models+1] = { id = "assets/mk_twd_asset_regio_neutral_tuer_schmal_2.mdl", transf = constructionutil.rotateTransf(params, { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.8399996757507-tuer_a_x, -1.3899999856949+tuer_a_y, 2.7799999713898 + z, 1,}) } end -- Türen rechts if params.mk_twd_seite_b_tuer ~= 2 then -- Türen vorne rechts result.models[#result.models+1] = { id = "assets/mk_twd_asset_regio_neutral_tuer_schmal_1.mdl", transf = constructionutil.rotateTransf(params, { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -4.8499999046326+tuer_b_x, 1.3899999856949+tuer_b_y, 2.7799999713898 + z, 1 }) } result.models[#result.models+1] = { id = "assets/mk_twd_asset_regio_neutral_tuer_schmal_2.mdl", transf = constructionutil.rotateTransf(params, { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -6.3899998664856-tuer_b_x, 1.3899999856949+tuer_b_y, 2.7799999713898 + z, 1, }) } -- Türen hinten rechts result.models[#result.models+1] = { id = "assets/mk_twd_asset_regio_neutral_tuer_schmal_1.mdl", transf = constructionutil.rotateTransf(params, { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 6.8399996757507+tuer_b_x, 1.3899999856949+tuer_b_y, 2.7799999713898 + z, 1,}) } result.models[#result.models+1] = { id = "assets/mk_twd_asset_regio_neutral_tuer_schmal_2.mdl", transf = constructionutil.rotateTransf(params, { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 5.2999997138977-tuer_b_x, 1.3899999856949+tuer_b_y, 2.7799999713898 + z, 1,}) } end result.terrainAlignmentLists = { { type = "EQUAL", faces = {} } } return result end, order = 20491 + 1, skipCollision = true, autoRemovable = false, } end