diff --git a/client/main.lua b/client/main.lua index e349a69..a239887 100644 --- a/client/main.lua +++ b/client/main.lua @@ -210,10 +210,12 @@ RegisterNetEvent('qb-vehiclekeys:client:AddKeys', function(plate) SetVehicleEngineOn(vehicle, false, false, false) end end + if Config.SaveInDB then TriggerServerEvent("qb-vehiclekeys:server:synckeys", KeysList) end end) RegisterNetEvent('qb-vehiclekeys:client:RemoveKeys', function(plate) KeysList[plate] = nil + if Config.SaveInDB then TriggerServerEvent("qb-vehiclekeys:server:synckeys", KeysList) end end) RegisterNetEvent('qb-vehiclekeys:client:ToggleEngine', function() diff --git a/config.lua b/config.lua index 7d23fc2..7d76a2d 100644 --- a/config.lua +++ b/config.lua @@ -1,5 +1,8 @@ Config = {} +-- Key System Settings +Config.SaveInDB = true -- Whether the own keys should save into database + -- Vehicle lock settings Config.LockToggleAnimation = { AnimDict = 'anim@mp_player_intmenu@key_fob@', diff --git a/server/main.lua b/server/main.lua index 009a70c..499837d 100644 --- a/server/main.lua +++ b/server/main.lua @@ -49,6 +49,12 @@ RegisterNetEvent('qb-vehiclekeys:server:setVehLockState', function(vehNetId, sta SetVehicleDoorsLocked(NetworkGetEntityFromNetworkId(vehNetId), state) end) +RegisterServerEvent("qb-vehiclekeys:server:synckeys", function(KeyList) + if not Config.SaveInDB then return end + local Player = QBCore.Functions.GetPlayer(source) + Player.Functions.SetMetaData("VehKeys", KeyList) +end) + QBCore.Functions.CreateCallback('qb-vehiclekeys:server:GetVehicleKeys', function(source, cb) local Player = QBCore.Functions.GetPlayer(source) if not Player then return end @@ -59,6 +65,11 @@ QBCore.Functions.CreateCallback('qb-vehiclekeys:server:GetVehicleKeys', function keysList[plate] = true end end + if Player.PlayerData.metadata["VehKeys"] and Config.SaveInDB then + for plate, value in Player.PlayerData.metadata["VehKeys"] do + keysList[plate] = true + end + end cb(keysList) end) @@ -133,4 +144,4 @@ QBCore.Commands.Add("removekeys", Lang:t("addcom.rkeys"), {{name = Lang:t("addco return end RemoveKeys(tonumber(args[1]), args[2]) -end, 'admin') +end, 'admin') \ No newline at end of file