Как запретить фукции в c menu?

Такой вопрос, как запретить всем привилегиям кроме operator и superadmin взаимодествовать с c menu, при нажатии с и наведя курсор на проп или транспорт нажать на удалить или модифициовать транспорт, то все работает даже у юзеров, как это исправить?

Режим: DarkRP
Админ система: Ulx

Пример скрина ниже:

за минуту накалякал вот такую функцию

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

Спасибо, подскажите путь куда это вписывать?

в любой shared файл, главное что-бы он загружался после этого файла

(т.к. функция которую я скинул детоурит)
как вариант можешь закинуть в garrysmod/lua/autorun/properties_access.lua обернув вызовы функции properties.SetAccess в timer.Simple(0, function() ... end)
пример:

-- garrysmod/lua/autorun/properties_access.lua
timer.Simple(0, function()
	properties.SetAccess("keepupright", "superadmin", "admin", "vip")
end)

Думаю, правильнее использовать специальный хук:

На стринице есть пример использования

1 лайк
local whitelist = {}
for usergroup in ipairs({...}) do
	whitelist[usergroup] = true

Чо суда писать