Ich bin grad dabei, meine Werksbahnmod zu aktualisieren und mit Eisenbahnfahrzeugen zu ergänzen. Dabei möchte ich per Mod Parameter die Tram bzw. Eisenbahnfahrzeuge deaktivierbar machen, falls man diese nicht will.
Funktioniert eigentlich recht gut, aber manchmal (selten) scheint das Spiel die Modparameter nicht abzuspeichern, was dazu führt, dass sich den Spielstand nicht mehr direkt laden lässt. Soll heissen: Nur Spiel laden / Spielstand auswählen / Start funktioniert nicht, man muss noch einen umweg über "Optionen auswählen" machen, dann funktionierts (auch ohne dabei irgendwas an den Modparameter zu ändern).
Kennt sich da jemand aus? modparams scheinen ja nicht sehr verbreitet zu sein, bisher ist mir jedenfalls noch kein Mod begegnet, der diese nutzt. (bin allerdings auch kein "Modhorter" ) Einmal ist mir das Spiel sogar abgestürzt, als ich zu Testzwecken in einem Savegame ausschliesslich den Test Mod aus dem Wiki aktiviert habe.
Ich hab auch schon versucht, dem Parameter einen Wert zuzuweisen, wenn dieser nicht 0 oder 1 ist, aber hat auch nicht funktioniert. Ist allerdings auch das erste mal, dass ich mich mit Scripting beschäftige...
require "filefilterutil"
function data()
return {
info = {
minorVersion = 2,
severityAdd = "NONE",
severityRemove = "WARNING",
name = _("name_tram_werksbahn"),
description = _("desc_tram_werksbahn"),
tags = { "Tram", "Cargo", "Güter", "Strassenbahn", "Straßenbahn", "Werksbahn", "industrial railway", "train", },
authors = {
{
name = "Elli",
role = "CREATOR",
tfnetId = 31938,
text = "",
},
},
visible = true,
params = {
{
key = "tramvehicles",
name = _("parameter_tramvehicles_name"),
uiType = "BUTTON",
values = {_("yes"), _("no")},
tooltip = _("parameter_tramvehicles_description"),
defaultIndex = 0,
},
{
key = "trainvehicles",
name = _("parameter_trainvehicles_name"),
uiType = "BUTTON",
values = {_("yes"), _("no")},
tooltip = _("parameter_trainvehicles_description"),
defaultIndex = 1,
},
},
},
runFn = function (settings, modParams)
local params = modParams[getCurrentModId()]
if params.tramvehicles ~= ( 0 or 1 ) then params.tramvehicles = 0 end
if params.trainvehicles ~= ( 0 or 1 ) then params.trainvehicles = 0 end
local function werksbahn_filter(fileName, data)
if params.tramvehicles == 1 and params.trainvehicles == 0 and data.werksbahn_id and ( data.werksbahn_id == "TRAM" ) then
return false
end
if params.tramvehicles == 0 and params.trainvehicles == 1 and data.werksbahn_id and ( data.werksbahn_id == "LOK" or data.werksbahn_id == "WAGEN" ) then
return false
end
if params.tramvehicles == 1 and params.trainvehicles == 1 and data.werksbahn_id and ( data.werksbahn_id == "LOK" or data.werksbahn_id == "WAGEN" or data.werksbahn_id == "TRAM" ) then
return false
end
return true
end
addFileFilter("model/vehicle", werksbahn_filter)
end,
}
end
Alles anzeigen