1
0
Fork 0
forked from Simnation/Main
Main/resources/[carscripts]/ox_commands/server.lua
2025-06-25 00:59:30 +02:00

77 lines
2.4 KiB
Lua

-- Client-side freeze handling (put this in a client file)
RegisterNetEvent('ox_commands:freeze', function(freezeStatus, notify)
local playerPed = PlayerPedId()
FreezeEntityPosition(playerPed, freezeStatus)
if notify then
lib.notify({
title = freezeStatus and 'Frozen' or 'Unfrozen',
description = freezeStatus and 'You have been frozen by an admin' or 'You have been unfrozen by an admin',
type = freezeStatus and 'error' or 'success'
})
end
end)
-- Server-side commands (put this in a server file)
lib.addCommand('freeze', {
help = 'Freeze a player',
params = {
{
name = 'target',
type = 'playerId',
help = 'Target player server ID',
optional = true -- Makes target optional (self-target if omitted)
}
},
restricted = 'group.admin'
}, function(source, args, raw)
local target = args.target or source -- If no target specified, target self
local entity = GetPlayerPed(target)
if entity ~= 0 then
TriggerClientEvent('ox_commands:freeze', target, true, source ~= target) -- Only notify if targeting someone else
lib.notify(source, {
title = 'Success',
description = ('Player %d frozen'):format(target),
type = 'success'
})
else
lib.notify(source, {
title = 'Error',
description = 'Invalid target player',
type = 'error'
})
end
end)
lib.addCommand('thaw', {
help = 'Unfreeze a player',
params = {
{
name = 'target',
type = 'playerId',
help = 'Target player server ID',
optional = true -- Makes target optional (self-target if omitted)
}
},
restricted = 'group.admin'
}, function(source, args, raw)
local target = args.target or source -- If no target specified, target self
local entity = GetPlayerPed(target)
if entity ~= 0 then
TriggerClientEvent('ox_commands:freeze', target, false, source ~= target) -- Only notify if targeting someone else
lib.notify(source, {
title = 'Success',
description = ('Player %d unfrozen'):format(target),
type = 'success'
})
else
lib.notify(source, {
title = 'Error',
description = 'Invalid target player',
type = 'error'
})
end
end)