за минуту накалякал вот такую функцию
function properties.SetAccess(name, ...)
local property = properties.List[name]
if property == nil then return end
local whitelist = {}
for usergroup in ipairs({...}) do
whitelist[usergroup] = true
end
property.DefaultFilter = property.DefaultFilter or property.Filter or function() end
function property:Filter(ent, ply)
if whitelist[ply:GetUserGroup()] == nil then return false end
return self:DefaultFilter(ent, ply)
end
end
пример использования:
properties.SetAccess("keepupright", "superadmin", "admin", "vip") -- разрешает использование keepupright только для superadmin, admin и vip