Files
nocode 63e35a534c feat(privileges): add privilege management for admin mods
Implement privilege registration and access checking for SAM, ULX, and FAdmin admin mods.

Provides:
- Registration of bladw_warn privilege with supported admin mods
- BladW.Warn.HasAccess() function to check player permissions
- Fallback to IsAdmin() if no admin mod is detected
2026-07-20 23:29:44 +02:00

41 lines
1.3 KiB
Lua

BladW = BladW or {}
BladW.Warn = BladW.Warn or {}
-- le droit géré par l'admin mod (SAM / ULX / FAdmin)
local PRIV = "bladw_warn"
BladW.Warn.Privilege = PRIV
-- enregistre le droit dans l'admin mod présent
local function Register()
if sam and sam.permissions and sam.permissions.add then
pcall(sam.permissions.add, PRIV, "BladW Warn", "admin")
end
if ULib and ULib.ucl and ULib.ucl.registerAccess then
pcall(ULib.ucl.registerAccess, PRIV, "admin", "Gérer les warns BladW", "BladW")
end
if FAdmin and FAdmin.Access and FAdmin.Access.AddPrivilege then
pcall(FAdmin.Access.AddPrivilege, PRIV, 2)
end
end
hook.Add("SAM.LoadPermissions", "BladW:WarnPriv", Register)
hook.Add("InitPostEntity", "BladW:WarnPriv", Register)
Register()
-- ce joueur peut-il gérer les warns ?
function BladW.Warn.HasAccess(ply)
if not IsValid(ply) then return false end
if sam and sam.player and sam.player.has_permission then
return sam.player.has_permission(ply, PRIV)
end
if ULib and ULib.ucl and ULib.ucl.query then
return ULib.ucl.query(ply, PRIV)
end
if FAdmin and FAdmin.Access and FAdmin.Access.PlayerHasPrivilege then
return FAdmin.Access.PlayerHasPrivilege(ply, PRIV)
end
return ply:IsAdmin()
end