Hallo,
Folgendes Problem bzw mein Idee
habe mir damals schon mal angeguckt wie mann die standart Sachen aus dem Shop entfernt und habe was auf gdn lua doc was gefunden,
nun zum Problem ich muss bzw möchte gerne in der lua ein Eintrag machen das er eine XML laden soll sprich er löscht eine XML und lädt danach meine XML.
so weit ja ganz gut solange ich bei der neue XML den Pfad komplett (in der lua selbst) angebe also mit C:/User/Benutzer/My Games... storeItem.xml.
Kann man machen ist aber blöd wenn es andere User auch nutzen wollen müssen sie alle in der lua den Pfad zu der XML selber anpassen.
Also habe ich mir diverse Mods angeguckt die zbs ihre eignende XML erstellen und in den Settings order speichern und laden da ist mir dann auf gefallen das wenn sie auf ein Verzeichnis adressieren immer mit dem befehl g_currentModDirectory,
getUserProfileAppPath und self.baseDirectory arbeiten da ich aber zu blöde bin in Sachen Scripte und langsam die lust verliere wollte ich noch mal um Rat fragen.
Einmal die lua.
Das Problem Kind ist bei der Zeile 24
function StoreManager:loadMapData(xmlFile, missionInfo, baseDirectory, g_currentModDirectory)
StoreManager:superClass().loadMapData(self)
-- hier wird die storeCategoreXML geladen
local categoryXMLFile = loadXMLFile("storeCategoriesXML", "dataS/storeCategories.xml")
local i = 0
while true do
local baseXMLName = string.format("categories.category(%d)", i)
if not hasXMLProperty(categoryXMLFile, baseXMLName) then
break
end
local name = getXMLString(categoryXMLFile, baseXMLName .. "#name")
local title = getXMLString(categoryXMLFile, baseXMLName .. "#title")
local imageFilename = getXMLString(categoryXMLFile, baseXMLName .. "#image")
local type = getXMLString(categoryXMLFile, baseXMLName .. "#type")
if title ~= nil and title:sub(1, 6) == "$l10n_" then
title = g_i18n:getText(title:sub(7))
end
self:addCategory(name, title, imageFilename, type, "")
i = i + 1
end
delete(categoryXMLFile)
-- ab hier wird die neue storXML geladen
local storeItemsFilename = loadXMLFile("storeItems", g_currentModDirectory .. "storeItems.xml")
if g_isPresentationVersionSpecialStore then
storeItemsFilename = g_isPresentationVersionSpecialStorePath
end
self:loadItemsFromXML(storeItemsFilename)
if xmlFile ~= nil then
local mapStoreItemsFilename = getXMLString(xmlFile, "map.storeItems#filename")
if mapStoreItemsFilename ~= nil then
mapStoreItemsFilename = Utils.getFilename(mapStoreItemsFilename, baseDirectory)
self:loadItemsFromXML(mapStoreItemsFilename)
end
end
for _, item in ipairs(self.modStoreItems) do
g_deferredLoadingManager:addSubtask(function()
self:loadItem(item.xmlFilename, item.baseDir, item.customEnvironment, item.isMod, item.isBundleItem, item.dlcTitle)
end)
end
return true
end
Alles anzeigen