function GetClosestPlayer()
local players = GetPlayers()
local closestDistance = -1
local closestPlayer = -1
local ply = GetPlayerPed(-1)
local plyCoords = GetEntityCoords(ply, 0)
for index,value in ipairs(players) do
local target = GetPlayerPed(value)
if(target ~= ply) then
local targetCoords = GetEntityCoords(GetPlayerPed(value), 0)
local distance = GetDistanceBetweenCoords(targetCoords['x'], targetCoords['y'], targetCoords['z'], plyCoords['x'], plyCoords['y'], plyCoords['z'], true)
if(closestDistance == -1 or closestDistance > distance) then
closestPlayer = value
closestDistance = distance
end
end
end
return closestPlayer, closestDistance
end
make myself ragdoll, not the purp the policeman is chasing?
I want to try to create something that the guy is chasing the otherguy does some kind of jump at him or something, and the player will ragdoll, when the guy stands up he will be in cuffs.
---------------------------- Resources -----------------------------------------------
server_script "server.lua"
client_script "client.lua"
---------------------------- Server --------------------------------------------------
RegisterServerEvent('Tackle')
AddEventHandler('Tackle', function(player)
TriggerClientEvent("tackleragdoll", player)
end)
---------------------------- Client --------------------------------------------------
Citizen.CreateThread(
function()
while true do
Citizen.Wait(0)
if (IsDisabledControlPressed(1, 32) and IsDisabledControlJustPressed(1, 38)) then
if IsControlPressed(1, 303) or IsControlPressed(1, 38) and GetLastInputMethod( 0 ) then
if IsPedInAnyVehicle(GetPlayerPed(-1)) then
else
local player, distance = GetClosestPlayer()
if distance ~= -1 and distance <= 1.5 then
TriggerServerEvent("Tackle", GetPlayerServerId(player))
end
SetPedToRagdoll(GetPlayerPed(-1), 1000, 1000, 0, 0, 0, 0)
end
end
end
end
)
RegisterNetEvent("tackleragdoll")
AddEventHandler(
"tackleragdoll",
function()
SetPedToRagdoll(GetPlayerPed(-1), 5000, 5000, 0, 0, 0, 0)
end
)
function GetPlayers()
local players = {}
for i = 0, 31 do
if NetworkIsPlayerActive(i) then
table.insert(players, i)
end
end
return players
end
function GetClosestPlayer()
local players = GetPlayers()
local closestDistance = -1
local closestPlayer = -1
local ply = GetPlayerPed(-1)
local plyCoords = GetEntityCoords(ply, 0)
for index,value in ipairs(players) do
local target = GetPlayerPed(value)
if(target ~= ply) then
local targetCoords = GetEntityCoords(GetPlayerPed(value), 0)
local distance = GetDistanceBetweenCoords(targetCoords['x'], targetCoords['y'], targetCoords['z'], plyCoords['x'], plyCoords['y'], plyCoords['z'], true)
if(closestDistance == -1 or closestDistance > distance) then
closestPlayer = value
closestDistance = distance
end
end
end
return closestPlayer, closestDistance
end
local pP = GetPlayerPed(-1)
Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
if IsControlPressed(0, 51) then
if IsPedInAnyVehicle(pP) then
TriggerEvent('chatMessage', 'Tackle', {255, 255, 255}, 'You cannot tackle someone in a vehicle')
else
local player, distance = GetClosestPlayer()
local closestID = GetPlayerServerId(player)
if distance ~= -1 and distance <= 1.5 then
TriggerServerEvent('tackleServer', closestID)
end
SetPedToRagdoll(pP, 1000, 1000, 0, 0, 0, 0)
end
end
end
end)
RegisterNetEvent('tackleClient')
AddEventHandler('tackleClient', function()
local pP = GetPlayerPed(-1)
SetPedToRagdoll(pP, 5000, 5000, 0, 0, 0, 0)
end)
function GetPlayers()
local players = {}
for i = 0, 31 do
if NetworkIsPlayerActive(i) then
table.insert(players, i)
end
end
return players
end
function GetClosestPlayer()
local players = GetPlayers()
local closestDistance = -1
local closestPlayer = -1
local ply = GetPlayerPed(-1)
local plyCoords = GetEntityCoords(ply, 0)
for index,value in ipairs(players) do
local target = GetPlayerPed(value)
if(target ~= ply) then
local targetCoords = GetEntityCoords(GetPlayerPed(value), 0)
local distance = GetDistanceBetweenCoords(targetCoords['x'], targetCoords['y'], targetCoords['z'], plyCoords['x'], plyCoords['y'], plyCoords['z'], true)
if(closestDistance == -1 or closestDistance > distance) then
closestPlayer = value
closestDistance = distance
end
end
end
return closestPlayer, closestDistance
end