[HELP] Freezing nearest player not working

Hi, I have been trying to cuff the nearest player. And for now I am just freezing them, but this does not work:

-- Commands
RegisterCommand('cuff', function()
    closest = GetClosestPlayer()
    if closest ~= nil and DoesEntityExist(closest) then
        FreezeEntityPosition(closest, true)
    end
end)

-- Events


-- Threads


-- Functions
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

YOull need to call an event to freeze them on the client you want to freeze

1 Like