BladW = BladW or {} BladW.Announcement = BladW.Announcement or {} -- le droit géré par l'admin mod (SAM / ULX / FAdmin) local PRIV = "bladw_announce" BladW.Announcement.Privilege = PRIV -- j'enregistre le droit dans l'admin mod présent, pour qu'il apparaisse dans son menu local function Register() -- SAM if sam and sam.permissions and sam.permissions.add then pcall(sam.permissions.add, PRIV, "BladW Annonce", "admin") end -- ULX / ULib if ULib and ULib.ucl and ULib.ucl.registerAccess then pcall(ULib.ucl.registerAccess, PRIV, "admin", "Gérer les annonces BladW", "BladW") end -- FAdmin (DarkRP) : 2 = admin if FAdmin and FAdmin.Access and FAdmin.Access.AddPrivilege then pcall(FAdmin.Access.AddPrivilege, PRIV, 2) end end -- SAM veut qu'on (ré)enregistre ses permissions sur ce hook hook.Add("SAM.LoadPermissions", "BladW:AnnouncePriv", Register) -- les autres mods sont parfois chargés après le serveur -> on retente hook.Add("InitPostEntity", "BladW:AnnouncePriv", Register) -- et un coup direct au cas où le mod est déjà là (hot-reload) Register() -- est-ce que ce joueur a le droit de gérer les annonces ? function BladW.Announcement.HasAccess(ply) if not IsValid(ply) then return false end -- SAM if sam and sam.player and sam.player.has_permission then return sam.player.has_permission(ply, PRIV) end -- ULX / ULib if ULib and ULib.ucl and ULib.ucl.query then return ULib.ucl.query(ply, PRIV) end -- FAdmin (DarkRP) if FAdmin and FAdmin.Access and FAdmin.Access.PlayerHasPrivilege then return FAdmin.Access.PlayerHasPrivilege(ply, PRIV) end -- pas d'admin mod -> on retombe sur l'admin de base return ply:IsAdmin() end