local ParamBuilder = require "parambuilder_v1" local paramTPModes = ParamBuilder.Button("easybronko_TPModeSetting", _("TPModeSetting"), {_("Setting1"),_("Setting2")} ) function data() return { info = { minorVersion = 0, severityAdd = "NONE", severityRemove = "WARNING", name = _("Name"), description = _("Description"), tags = { "Tram","Street",}, visible = true, authors = { { name = "easybronko", role = "Models & Script", }, { name = "wicked1133", role = "UI & Script", }, { name = "Yoshi", role = "Textures,Assets", }, { name = "DomTrain", role = "Streetlights", }, }, params = { paramTPModes.params, } }, runFn = function (settings, modparams) local params = modparams[getCurrentModId()] --debugPrint(params) local TPModeSetting = paramTPModes.getIndex(params) --debugPrint(TPModeSetting) addModifier("loadStreet", function(fileName, street) --print("Loading Street:", street.name, fileName ) --debugPrint(street.transportModesStreet) --debugPrint(street) if fileName:find("street/06_tram_ohne_gehweg/") or fileName:find("street/07_tram_mit_gehweg/") or fileName:find("street/08_tram_mit_gehweg_anschluss/") then if TPModeSetting==0 then street.transportModesStreet = { "BUS", "TRAM" } elseif TPModeSetting==1 then street.transportModesStreet = { "TRUCK" } end end return street end ) end, --[[ der Ansatz mit der postRunFn ist problematisch, weil die transportModes dort anders vorliegen postRunFn = function (settings, modparams) local params = modparams[getCurrentModId()] --debugPrint(params) local TPModeSetting = paramTPModes.getIndex(params) --debugPrint(TPModeSetting) local TpModeEnum = api.type.enum.TransportMode local streetRep = api.res.streetTypeRep.getAll() for sid,stype in pairs(streetRep) do if stype:starts("06_tram_ohne_gehweg/") or stype:starts("07_tram_mit_gehweg/") or stype:starts("08_tram_mit_gehweg_anschluss/") then --print(stype) local street = api.res.streetTypeRep.get(sid) if TPModeSetting==0 then street.transportModesStreet = {TpModeEnum.TRAM, TpModeEnum.ELECTRIC_TRAM} -- Hat anscheinend keine Auswirkungen elseif TPModeSetting==1 then street.transportModesStreet = {TpModeEnum.TRUCK}--, TpModeEnum.TRAM} end for i,lane in pairs(street.laneConfigs) do -- Die tatsächlichen Informationen müssten hier in den laneConfigs sein local tpModes = {0,0,0,1,1,0,0,0} --Assertion `Valid(result.laneConfigs)' failed. lane.transportModes = tpModes end end end end]] } end