From c4f4193ad19f8254442114309e2cff2676edf254 Mon Sep 17 00:00:00 2001 From: Cocodrulo <142546774+Cocodrulo@users.noreply.github.com> Date: Thu, 18 Apr 2024 10:33:17 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=91=20Optionally=20save=20acquired=20k?= =?UTF-8?q?eys=20into=20DB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/main.lua | 2 ++ config.lua | 3 +++ server/main.lua | 13 ++++++++++++- 3 files changed, 17 insertions(+), 1 deletion(-) 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