local QBCore = exports['qb-core']:GetCoreObject() RegisterServerEvent('kennzeichen:updatePlate', function(netVeh, newPlate) local src = source local Player = QBCore.Functions.GetPlayer(src) local veh = NetworkGetEntityFromNetworkId(netVeh) local oldPlate = GetVehicleNumberPlateText(veh) exports.oxmysql:execute('SELECT vehicle FROM player_vehicles WHERE plate = ? AND citizenid = ?', { oldPlate, Player.PlayerData.citizenid }, function(result) if result[1] then local jsonData = result[1].vehicle if not jsonData then print("Fehler: Keine Fahrzeugdaten in der Datenbank.") return end local vehicleData = json.decode(jsonData) if not vehicleData then print("Warnung: Fahrzeugdaten konnten nicht geparsed werden. Standarddaten werden verwendet.") vehicleData = { plate = oldPlate, model = GetEntityModel(veh), mods = {} } end vehicleData.plate = newPlate exports.oxmysql:update('UPDATE player_vehicles SET plate = ?, vehicle = ? WHERE plate = ? AND citizenid = ?', { newPlate, json.encode(vehicleData), oldPlate, Player.PlayerData.citizenid }, function(affectedRows) if affectedRows > 0 then print(("Kennzeichen erfolgreich aktualisiert: %s ? %s"):format(oldPlate, newPlate)) end end) TriggerClientEvent('kennzeichen:applyPlate', -1, netVeh, newPlate) else print("Fahrzeug nicht gefunden") end end) end) QBCore.Functions.CreateUseableItem("kennzeichen_tool", function(src) TriggerClientEvent("kennzeichen:useTool", src) end) QBCore.Functions.CreateUseableItem("tuch", function(src) TriggerClientEvent("kennzeichen:useTuch", src) end) RegisterServerEvent('kennzeichen:syncCover', function(netVeh, state) TriggerClientEvent('kennzeichen:applyCover', -1, netVeh, state) end)