client.lua
Code
ESX = nil
cuffed = false
Citizen.CreateThread(function() while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
while ESX.GetPlayerData().job == nil do
Citizen.Wait(10)
end
ESX.PlayerData = ESX.GetPlayerData()
end)
RegisterNetEvent('esx_policejob:getarrested')
AddEventHandler('esx_policejob:getarrested', function(playerheading, playercoords, playerlocation)
playerPed = GetPlayerPed(-1)
SetCurrentPedWeapon(playerPed, GetHashKey('WEAPON_UNARMED'), true) -- unarm player
local x, y, z = table.unpack(playercoords + playerlocation * 1.0)
SetEntityCoords(GetPlayerPed(-1), x, y, z)
SetEntityHeading(GetPlayerPed(-1), playerheading)
Citizen.Wait(250)
loadanimdict('mp_arrest_paired')
TaskPlayAnim(GetPlayerPed(-1), 'mp_arrest_paired', 'crook_p2_back_right', 8.0, -8, 3750 , 2, 0, 0, 0, 0)
Citizen.Wait(3760)
cuffed = true
loadanimdict('mp_arresting')
TaskPlayAnim(GetPlayerPed(-1), 'mp_arresting', 'idle', 8.0, -8, -1, 49, 0.0, false, false, false)
end)
RegisterNetEvent('esx_policejob:doarrested')
AddEventHandler('esx_policejob:doarrested', function()
Citizen.Wait(250)
loadanimdict('mp_arrest_paired')
TaskPlayAnim(GetPlayerPed(-1), 'mp_arrest_paired', 'cop_p2_back_right', 8.0, -8,3750, 2, 0, 0, 0, 0)
Citizen.Wait(3000)
end)
RegisterNetEvent('esx_policejob:douncuffing')
AddEventHandler('esx_policejob:douncuffing', function()
Citizen.Wait(250)
loadanimdict('mp_arresting')
TaskPlayAnim(GetPlayerPed(-1), 'mp_arresting', 'a_uncuff', 8.0, -8,-1, 2, 0, 0, 0, 0)
Citizen.Wait(5500)
ClearPedTasks(GetPlayerPed(-1))
end)
RegisterNetEvent('esx_policejob:getuncuffed')
AddEventHandler('esx_policejob:getuncuffed', function(playerheading, playercoords, playerlocation)
local x, y, z = table.unpack(playercoords + playerlocation * 1.0)
SetEntityCoords(GetPlayerPed(-1), x, y, z)
SetEntityHeading(GetPlayerPed(-1), playerheading)
Citizen.Wait(250)
loadanimdict('mp_arresting')
TaskPlayAnim(GetPlayerPed(-1), 'mp_arresting', 'b_uncuff', 8.0, -8,-1, 2, 0, 0, 0, 0)
Citizen.Wait(5500)
cuffed = false
ClearPedTasks(GetPlayerPed(-1))
end)
RegisterCommand('cuff', function()
local target, distance = ESX.Game.GetClosestPlayer()
playerheading = GetEntityHeading(GetPlayerPed(-1))
playerlocation = GetEntityForwardVector(PlayerPedId())
playerCoords = GetEntityCoords(GetPlayerPed(-1))
local target_id = GetPlayerServerId(target)
if distance <= 2.0 then
TriggerServerEvent('esx_policejob:requestarrest', target_id, playerheading, playerCoords, playerlocation)
else
ESX.ShowNotification('Not Close Enough')
end
end)
RegisterCommand('uncuff', function()
local target, distance = ESX.Game.GetClosestPlayer()
playerheading = GetEntityHeading(GetPlayerPed(-1))
playerlocation = GetEntityForwardVector(PlayerPedId())
playerCoords = GetEntityCoords(GetPlayerPed(-1))
local target_id = GetPlayerServerId(target)
TriggerServerEvent('esx_policejob:requestrelease', target_id, playerheading, playerCoords, playerlocation)
end)
function loadanimdict(dictname)
if not HasAnimDictLoaded(dictname) then
RequestAnimDict(dictname) while not HasAnimDictLoaded(dictname) do Citizen.Wait(1)
end
end
end
Alles anzeigen
server.lua
Code
RegisterServerEvent('esx_policejob:requestarrest')
AddEventHandler('esx_policejob:requestarrest', function(targetid, playerheading, playerCoords, playerlocation) _source = source TriggerClientEvent('esx_policejob:getarrested', targetid, playerheading, playerCoords, playerlocation) TriggerClientEvent('esx_policejob:doarrested', _source)
end)
RegisterServerEvent('esx_policejob:requestrelease')
AddEventHandler('esx_policejob:requestrelease', function(targetid, playerheading, playerCoords, playerlocation) _source = source TriggerClientEvent('esx_policejob:getuncuffed', targetid, playerheading, playerCoords, playerlocation) TriggerClientEvent('esx_policejob:douncuffing', _source)
end)
Bei installation mich einfach fragen