Files
2025-09-18 17:55:52 -04:00

41 lines
1.1 KiB
Lua

local PlayerPermissionsModule = {}
local function HasRankInGroupFunctionFactory(groupId, requiredRank)
local hasRankCache = {}
assert(type(requiredRank) == "number", "requiredRank must be a number")
return function(player)
if player and player.UserId > 0 then
if hasRankCache[player.UserId] == nil then
local hasRank = false
pcall(function()
hasRank = player:GetRankInGroup(groupId) >= requiredRank
end)
hasRankCache[player.UserId] = hasRank
end
return hasRankCache[player.UserId]
end
return false
end
end
local function IsInGroupFunctionFactory(groupId)
local inGroupCache = {}
return function(player)
if player and player.UserId > 0 then
if inGroupCache[player.UserId] == nil then
local inGroup = false
pcall(function()
inGroup = player:IsInGroup(groupId)
end)
inGroupCache[player.UserId] = inGroup
end
return inGroupCache[player.UserId]
end
return false
end
end
PlayerPermissionsModule.IsPlayerAdminAsync = IsInGroupFunctionFactory(1200769)
PlayerPermissionsModule.IsPlayerInternAsync = HasRankInGroupFunctionFactory(2868472, 100)
return PlayerPermissionsModule