Ich brauche bitte ein wenig Hilfe mit Lua.
Gerade probiere ich, für ein neues Modell eine etwas elegantere und pflegeleichtere .con zu bauen. Sie soll am Anfang eine Liste mit den zu inkludierenden Dateinamen und den Kurzbezeichnungen der dazu gehörenden Modelle einlesen, basierend darauf das Menü befüllen und je nach Benutzerauswahl dann eine .con abwurfbereit ausgeben.
local AssetList = {}
AssetList = {
"vehicle/asset/Citroen_H Berliet-Deko.mdl", _("Berliet"),
"vehicle/asset/Citroen_H grau-Deko.mdl", _("Grau"),
"vehicle/asset/Citroen_H Guinness-Deko.mdl", _("Guinness"),
--[["vehicle/asset/Citroen_H Krankenwagen-Deko.mdl", "Krankenwagen",
"vehicle/asset/Citroen_H La Vache-Deko.mdl", "La Vache qui rit",
"vehicle/asset/Citroen_H LR Brocante-Deko.mdl", _Brocante",
"vehicle/asset/Citroen_H Palmolive-Deko.mdl", "Palmolive",
"vehicle/asset/Citroen_H Polizei-Deko.mdl", "Polizei",
"vehicle/asset/Citroen_H Post-Deko.mdl", "Post",
"vehicle/asset/Citroen_H Ricard-Deko.mdl", "Anisette Ricard",
"vehicle/asset/Citroen_H Service Citroen-Deko.mdl", _Service Citroen",
"vehicle/asset/Citroen_H Solexine-Deko.mdl", _Solexine",
"vehicle/asset/Citroen_H Spar-Deko.mdl", "Spar",
"vehicle/asset/Citroen_H Vespa-Deko.mdl", _Vespa",
"vehicle/asset/Citroen_H_alt-Deko.mdl", "Frühe Version",
"vehicle/asset/Citroen_H-Deko.mdl", "Späte Version",]]
}
local MenuNames = function ()
local vals = {}
for i=1, #AssetList / 2 do
vals[#vals + 1] = AssetList[i * 2]
end
return vals
end
local FileNames = function ()
local vals = {}
for j=1, #AssetList / 2 do
vals[#vals + 1] = AssetList[j * 2 - 1]
end
return vals
end
function data()
return {
type = "ASSET_DEFAULT",
description = {
name = _("Citroen H"),
description = _("Dekoration"),
},
availability = {},
buildMode = "MULTI",
categories = { "cars"},
order = 31368,
skipCollision = true,
autoRemovable = false,
params = {
{
key = "dh106_CitroenH_1",
name = _("Citroen H"),
values = MenuNames,
},
},
updateFn = function(params)
local result = { }
result.models = { }
result.models[#result.models+1] = {id = FileName[params.dh106_CitroenH_1], transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 }, }
result.terrainAlignmentLists = { {
type = "EQUAL",
faces = { }
} }
return result
end
}
end
Das einzige Problem dabei ist: es funktioniert nicht. Das Spiel startet, die erste Fehlerprüfung überlebt der Code also. Aber sobald man dann das Assetmenü anfordert, kommt das hier:
...anstelle von ein paar Citroen-Assets.
Irgendwas muß ich also falsch gemacht haben. Könnte mir jemand bitte weiterhelfen?