add gs
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
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)
|
||||
PlayerPermissionsModule.IsPlayerStarAsync = IsInGroupFunctionFactory(4199740)
|
||||
|
||||
return PlayerPermissionsModule
|
||||
Reference in New Issue
Block a user