diff --git a/README.md b/README.md index baadd89..349eaca 100644 --- a/README.md +++ b/README.md @@ -1 +1,3 @@ Discord: https://discord.gg/BXkNjPa64V + +Fixed by lukash2 \ No newline at end of file diff --git a/client/main.lua b/client/main.lua index 095aff8..4faa202 100644 --- a/client/main.lua +++ b/client/main.lua @@ -127,34 +127,34 @@ CreateThread(function() end) AddEventHandler('escort', function(data) - TriggerServerEvent('esx_interact:escort', GetPlayerServerId(NetworkGetPlayerIndexFromPed(data.entity))) + local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer() + if closestPlayer ~= -1 and closestDistance <= 3.0 then + TriggerServerEvent('esx_interact:drag', GetPlayerServerId(closestPlayer)) + end end) -RegisterNetEvent('esx_interact:escort')-- escort -AddEventHandler('esx_interact:escort', function(dragger) - if isHandcuffed or IsPedDeadOrDying(cache.ped, true) then +RegisterNetEvent('esx_interact:drag') +AddEventHandler('esx_interact:drag', function(copId) + if isHandcuffed then dragStatus.isDragged = not dragStatus.isDragged - dragStatus.dragger = dragger + dragStatus.CopId = copId end end) -CreateThread(function() + +Citizen.CreateThread(function() local wasDragged + while true do - if isHandcuffed then - TaskPlayAnim(cache.ped, 'mp_arresting', 'idle', 8.0, -8, -1, 49, 0, 0, 0, 0) - end - if dragStatus.isDragged then - Sleep = 50 - - local targetPed = Getcache.ped(GetPlayerFromServerId(dragStatus.dragger)) - if DoesEntityExist(targetPed) and IsPedOnFoot(targetPed) and (isHandcuffed or IsPedDeadOrDying(cache.ped, true)) then + local Sleep = 1500 + + if isHandcuffed and dragStatus.isDragged then + Sleep = 0 + local targetPed = GetPlayerPed(GetPlayerFromServerId(dragStatus.CopId)) + + if DoesEntityExist(targetPed) and IsPedOnFoot(targetPed) and not IsPedDeadOrDying(targetPed, true) then if not wasDragged then - if Config.npwd then - exports.npwd:setPhoneDisabled(true) - end - AttachEntityToEntity(ESX.PlayerData.ped, targetPed, 11816, 0.54, 0.54, 0.0, 0.0, 0.0, 0.0, false, false, false, false, 2, true) - SetEntityCollision(ESX.PlayerData.ped, 1, 1) + AttachEntityToEntity(ESX.PlayerData.ped, targetPed, 11816, 0.54, 0.54, 0.0, 0.0, 0.0, 0.0, false, true, true, false, 2, true) wasDragged = true else Wait(1000) @@ -163,22 +163,16 @@ CreateThread(function() wasDragged = false dragStatus.isDragged = false DetachEntity(ESX.PlayerData.ped, true, false) - if Config.npwd then - exports.npwd:setPhoneDisabled(false) - end end elseif wasDragged then wasDragged = false DetachEntity(ESX.PlayerData.ped, true, false) - if Config.npwd then - exports.npwd:setPhoneDisabled(false) - end - - end - Wait(1500) + end + Wait(Sleep) end end) + function StartHandcuffTimer() if Config.EnableHandcuffTimer and handcuffTimer.active then ESX.ClearTimeout(handcuffTimer.task) @@ -339,4 +333,4 @@ exports.ox_target:addGlobalVehicle({ label = Config.outveh, num = 1 }, -}) +}) \ No newline at end of file diff --git a/server/server.lua b/server/server.lua index 2415b08..c227027 100644 --- a/server/server.lua +++ b/server/server.lua @@ -3,9 +3,9 @@ AddEventHandler('esx_interact:handcuff', function(target) TriggerClientEvent('esx_interact:handcuff', target) end) -RegisterNetEvent('esx_interact:escort') -AddEventHandler('esx_interact:escort', function(target) - TriggerClientEvent('esx_interact:escort', target, source) +RegisterNetEvent('esx_interact:drag') +AddEventHandler('esx_interact:drag', function(target) + TriggerClientEvent('esx_interact:drag', target, source) end) RegisterNetEvent('esx_interact:putInVehicle')