hook.Add(“Initialize”, “Custom_SAM_Physgun”, function()
local function freeze_player(ply)
if SERVER then
ply:Lock()
end
ply:SetMoveType(MOVETYPE_NONE)
ply:SetCollisionGroup(COLLISION_GROUP_WORLD)
end
sam.hook_first("PhysgunPickup", "SAM.CanPhysgunPlayer", function(ply, target)
if sam.type(target) == "Player" and
ply:HasPermission("can_physgun_players") and
ply:CanTarget(target) and
ply:Team() == TEAM_ADMIN -- обязательньно к редактированию
then
freeze_player(target)
return true
end
end)
end)
Помогите допилить. Нужно чтобы root и superadmin’a ВОПШЕ админы ниже ранга не могли брать выше!
Вот скрипт, в следующий раз напиши нормальное название темы!
hook.Add("Initialize", "Custom_SAM_Physgun", function()
local function freeze_player(ply)
if SERVER then
ply:Lock()
end
ply:SetMoveType(MOVETYPE_NONE)
ply:SetCollisionGroup(COLLISION_GROUP_WORLD)
end
sam.hook_first("PhysgunPickup", "SAM.CanPhysgunPlayer", function(ply, target)
if sam.type(target) == "Player" and
ply:HasPermission("can_physgun_players") and
ply:CanTarget(target) and
not (target:IsUserGroup("superadmin") or target:IsUserGroup("root"))
then
freeze_player(target)
return true
end
end)
end)
Вот так?
function sam.ranks.can_target(rank_1, rank_2)
rank_1, rank_2 = sam.ranks.get_rank(rank_1), sam.ranks.get_Rank(rank_2)
if not rank_1 or not rank_2 then
return false
end
return rank_1.immunity >= rank_2.immunity
end
local can_target = sam.ranks.can_target
function PLAYER:CanTarget(ply)
return can_target(self:sam_getrank(), ply:sam_getrank())
end
hook.Add(“Initialize”, “Custom_SAM_Physgun”, function()
local function freeze_player(ply)
if SERVER then
ply:Lock()
end
ply:SetMoveType(MOVETYPE_NONE)
ply:SetCollisionGroup(COLLISION_GROUP_WORLD)
end
sam.hook_first("PhysgunPickup", "SAM.CanPhysgunPlayer", function(ply, target)
if sam.type(target) == "Player" and
ply:HasPermission("can_physgun_players") and
ply:CanTarget(target) and
ply:Team() == TEAM_STAFF -- обязательньно к редактированию
then
freeze_player(target)
return true
end
end)