1
0
Fork 0
forked from Simnation/Main
Main/resources/[creator]/doors_creator/client/lockpick.lua

56 lines
1.8 KiB
Lua
Raw Normal View History

2025-06-07 08:51:21 +02:00
local ATTEMPTS = 3
local function lockpickDoor(doorsId)
local plyPed = PlayerPedId()
local animDict = "anim@amb@clubhouse@tutorial@bkr_tut_ig3@"
local animName = "machinic_loop_mechandplayer"
RequestAnimDict(animDict)
while not HasAnimDictLoaded(animDict) do
Citizen.Wait(10)
end
TaskPlayAnim(plyPed, animDict, animName, 8.0, 8.0, -1, 17, 1.0, false, false, false)
--[[ Lockpick minigame ]]
local resName = EXTERNAL_SCRIPTS_NAMES["lockpick"]
if(GetResourceState(resName) ~= "started") then
notifyClient("Check F8")
print("^1To use the lockpick minigame, you need ^3lockpick^1 to be ^2installed and started^1, you can change the script folder name in ^3integrations/sh_integrations.lua^1")
print("^1FOLLOW THE SCRIPT INSTALLATION TUTORIAL TO FIND IT^7")
return false
end
local successful = exports[resName]:startLockpick(ATTEMPTS)
ClearPedTasks(plyPed)
RemoveAnimDict(animDict)
if(successful) then
TriggerServerEvent("doors_creator:doorLockpicked", doorsId)
end
end
RegisterNetEvent("doors_creator:startLockpick", function(comesFromVehicleKeysScript)
local closestDoor, closestDist = DoorsCreator.getClosestActiveDoor()
if not closestDoor or closestDist >= 5.0 then
local message = comesFromVehicleKeysScript and getLocalizedText("no_close_door_or_vehicle") or getLocalizedText("no_close_door")
notifyClient(message)
return
end
if not DoorsCreator.allDoors[closestDoor.id].canBeLockpicked then
notifyClient( getLocalizedText("you_cant_lockpick_this_door") )
return
end
local canLockpick = TriggerServerPromise(Utils.eventsPrefix .. ":canLockpickDoor")
if not canLockpick then return end
lockpickDoor(closestDoor.id)
end)