[SAM] Physgun only TEAM_MODERATOR/GA

Привет, мне нужен скрипт для SAM. Который поможет брать только в профессии администратора или глав администратору и superadmin’y хоть в рп профессии.Но так, чтобы кто выше на пример moderator мог брать его, а сам он их нет. Искал такой код, не нашёл, который работает правильно. Надеюсь объяснил нормально.

Вот скрипт
Путь: lua/autorun/server


local function HasAdminAccess(ply)
    local allowedRanks = {
        ["admin"] = {
            ["admin"] = true,
            ["superadmin"] = true,
        },
        ["superadmin"] = { -- тут можешь настроить кто кого может поднимать
            ["superadmin"] = true,
        },
    }

    local allowedJobs = { -- профессии для использование физгана как ты и хотел
        [TEAM_ADMIN] = true,
        [TEAM_CHIEF] = true,
    }

    local targetRank = ply:GetUserGroup()
    local targetJob = ply:Team()

    local adminRank = "superadmin"

    return (allowedRanks[targetRank] and allowedRanks[targetRank][adminRank]) or allowedJobs[targetJob] or false
end

hook.Add("PhysgunPickup", "Physgunhuina", function(ply, ent)
    if IsValid(ent) and ent:IsPlayer() and HasAdminAccess(ply) then
        return true
    end
end)

Не работает, даже не добавил ранг, но он все равно может всех таскать (даже суперадмина!)