local savedLooks = {} local filePath = "data/saved_looks.json" -- Holt die Lizenz-ID des Spielers local function getLicenseIdentifier(src) for _, id in ipairs(GetPlayerIdentifiers(src)) do if id:find("license:") then return id end end return nil end -- Resource Start: Datei laden AddEventHandler("onResourceStart", function(resource) if resource == GetCurrentResourceName() then loadLooks() end end) -- Client fordert Looks an RegisterServerEvent("lookchanger:requestLooks") AddEventHandler("lookchanger:requestLooks", function() local src = source local license = getLicenseIdentifier(src) if not license then print("[LookChanger] Warnung: Kein gültiger Identifier für Spieler " .. src) return end local data = savedLooks[license] or {} TriggerClientEvent("lookchanger:setSavedLooks", src, data) end) -- Look speichern RegisterServerEvent("lookchanger:saveLook") AddEventHandler("lookchanger:saveLook", function(category, slot, lookData) local src = source local license = getLicenseIdentifier(src) if not license then print("[LookChanger] Warnung: Kein gültiger Identifier für Spieler " .. src) return end savedLooks[license] = savedLooks[license] or {} savedLooks[license][category] = savedLooks[license][category] or {} savedLooks[license][category][slot] = lookData print(("[LookChanger] Spieler %s hat Slot %s (%s) gespeichert."):format(license, slot, category)) saveLooks() end) -- Looks aus Datei laden function loadLooks() local file = LoadResourceFile(GetCurrentResourceName(), filePath) if file then local parsed = json.decode(file) if parsed then savedLooks = parsed print("[LookChanger] Looks erfolgreich geladen.") else print("[LookChanger] Fehler beim Parsen der Datei.") savedLooks = {} end else print("[LookChanger] Keine Datei gefunden. Starte mit leerer Datenbank.") savedLooks = {} end end -- Looks in Datei speichern function saveLooks() local jsonData = json.encode(savedLooks) local success = SaveResourceFile(GetCurrentResourceName(), filePath, jsonData, -1) if success then print("[LookChanger] Looks erfolgreich gespeichert.") else print("[LookChanger] Fehler beim Speichern!") end end