From a670a3962c791e00064b1d83ae69c3e0f6abc95a Mon Sep 17 00:00:00 2001 From: Manvendra Singh Date: Tue, 13 Feb 2024 16:51:43 +0530 Subject: [PATCH 1/2] Updated lockpick export with qb-minigames --- client/main.lua | 82 ++++++++++++++++++++++--------------------------- config.lua | 4 --- 2 files changed, 37 insertions(+), 49 deletions(-) diff --git a/client/main.lua b/client/main.lua index edbc312..0fa7507 100644 --- a/client/main.lua +++ b/client/main.lua @@ -263,7 +263,43 @@ end) RegisterNetEvent('lockpicks:UseLockpick', function(isAdvanced) - LockpickDoor(isAdvanced) + local ped = PlayerPedId() + local pos = GetEntityCoords(ped) + local vehicle = QBCore.Functions.GetClosestVehicle() + + if vehicle == nil or vehicle == 0 then return end + if HasKeys(QBCore.Functions.GetPlate(vehicle)) then return end + if #(pos - GetEntityCoords(vehicle)) > 2.5 then return end + if GetVehicleDoorLockStatus(vehicle) <= 0 then return end + + local difficulty = isAdvanced and 'easy' or 'medium' -- Easy for advanced lockpick, medium by default + local success = exports['qb-minigames']:Skillbar(difficulty) + + local chance = math.random() + if success then + TriggerServerEvent('hud:server:GainStress', math.random(1, 4)) + lastPickedVehicle = vehicle + + if GetPedInVehicleSeat(vehicle, -1) == PlayerPedId() then + TriggerServerEvent('qb-vehiclekeys:server:AcquireVehicleKeys', QBCore.Functions.GetPlate(vehicle)) + else + QBCore.Functions.Notify(Lang:t("notify.vlockpick"), 'success') + TriggerServerEvent('qb-vehiclekeys:server:setVehLockState', NetworkGetNetworkIdFromEntity(vehicle), 1) + end + else + TriggerServerEvent('hud:server:GainStress', math.random(1, 4)) + AttemptPoliceAlert("steal") + end + + if isAdvanced then + if chance <= Config.RemoveLockpickAdvanced then + TriggerServerEvent("qb-vehiclekeys:server:breakLockpick", "advancedlockpick") + end + else + if chance <= Config.RemoveLockpickNormal then + TriggerServerEvent("qb-vehiclekeys:server:breakLockpick", "lockpick") + end + end end) -- Backwards Compatibility ONLY -- Remove at some point -- RegisterNetEvent('vehiclekeys:client:SetOwner', function(plate) @@ -562,50 +598,6 @@ function IsBlacklistedWeapon() return false end -function LockpickDoor(isAdvanced) - local ped = PlayerPedId() - local pos = GetEntityCoords(ped) - local vehicle = QBCore.Functions.GetClosestVehicle() - - if vehicle == nil or vehicle == 0 then return end - if HasKeys(QBCore.Functions.GetPlate(vehicle)) then return end - if #(pos - GetEntityCoords(vehicle)) > 2.5 then return end - if GetVehicleDoorLockStatus(vehicle) <= 0 then return end - - usingAdvanced = isAdvanced - Config.LockPickDoorEvent() -end - -function LockpickFinishCallback(success) - local vehicle = QBCore.Functions.GetClosestVehicle() - - local chance = math.random() - if success then - TriggerServerEvent('hud:server:GainStress', math.random(1, 4)) - lastPickedVehicle = vehicle - - if GetPedInVehicleSeat(vehicle, -1) == PlayerPedId() then - TriggerServerEvent('qb-vehiclekeys:server:AcquireVehicleKeys', QBCore.Functions.GetPlate(vehicle)) - else - QBCore.Functions.Notify(Lang:t("notify.vlockpick"), 'success') - TriggerServerEvent('qb-vehiclekeys:server:setVehLockState', NetworkGetNetworkIdFromEntity(vehicle), 1) - end - - else - TriggerServerEvent('hud:server:GainStress', math.random(1, 4)) - AttemptPoliceAlert("steal") - end - - if usingAdvanced then - if chance <= Config.RemoveLockpickAdvanced then - TriggerServerEvent("qb-vehiclekeys:server:breakLockpick", "advancedlockpick") - end - else - if chance <= Config.RemoveLockpickNormal then - TriggerServerEvent("qb-vehiclekeys:server:breakLockpick", "lockpick") - end - end -end function Hotwire(vehicle, plate) local hotwireTime = math.random(Config.minHotwireTime, Config.maxHotwireTime) diff --git a/config.lua b/config.lua index c9da478..7d23fc2 100644 --- a/config.lua +++ b/config.lua @@ -19,10 +19,6 @@ Config.UseKeyfob = false -- you can set this true if you dont need ui -- Lockpick Settings Config.RemoveLockpickNormal = 0.5 -- Chance to remove lockpick on fail Config.RemoveLockpickAdvanced = 0.2 -- Chance to remove advanced lockpick on fail -Config.LockPickDoorEvent = function() -- This function is called when a player attempts to lock pick a vehicle - TriggerEvent('qb-lockpick:client:openLockpick', LockpickFinishCallback) -end - -- Carjack Settings Config.CarJackEnable = true -- True allows for the ability to car jack peds. Config.CarjackingTime = 7500 -- How long it takes to carjack From 78462a684640b300043246811251a28999d043de Mon Sep 17 00:00:00 2001 From: Manvendra Singh Date: Tue, 13 Feb 2024 16:53:17 +0530 Subject: [PATCH 2/2] Linting fix --- client/main.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/client/main.lua b/client/main.lua index 0fa7507..e349a69 100644 --- a/client/main.lua +++ b/client/main.lua @@ -8,7 +8,6 @@ local isCarjacking = false local canCarjack = true local AlertSend = false local lastPickedVehicle = nil -local usingAdvanced = false local IsHotwiring = false local trunkclose = true local looped = false