Ограничить user-ам в ulx определенные вкладки в q menu

Делаю самописный рп сервак на основе z city. Как сделать так, чтоб-бы user-ы в ulx не могли даже видеть все вкладки кроме вкладки списка создаваемого? Очень нужно. Пытался что то накодить. но ничего не получилось нормального.

Круто, вы создали тему. К сожалению, большинство тем на этом форуме модераторам приходится переименовывать и удалять, чтобы поддерживать форум в чистоте.

  1. Если ваша тема содержит заголовок, по которому ее невозможно найти через поиск или который не несет конкретики, например “помогите с ошибкой” вместо например “[DarkRP] Не создается коробка с оружием при нажатии кнопки”, то тема будет либо отредактирована, либо удалена
  2. Код в теме и логи следует обрамлять тремя такими символами: ```. Сверху кода и снизу. Тогда он будет выглядеть красиво, а не как каша текста
  3. Сверху ссылка на методичку модератора. Если вы ее прочтете, то круто поможете форуму. Кто знает, может именно вы будущий модератор?
local AccessGroup = {
	admin = true,
	moder = true,
}

local tabstoremove = {
	[language.GetPhrase("spawnmenu.content_tab")] = function()
		local lp = LocalPlayer()
		return not AccessGroup[lp:GetUserGroup()]
	end,
	[language.GetPhrase("spawnmenu.category.npcs")] = function()
		local lp = LocalPlayer()
		return not AccessGroup[lp:GetUserGroup()
	end,
	[language.GetPhrase("spawnmenu.category.entities")] = function()
		local lp = LocalPlayer()
		return not not AccessGroup[lp:GetUserGroup()
	end,
	[language.GetPhrase("spawnmenu.category.weapons")] = function()
		local lp = LocalPlayer()
		return not AccessGroup[lp:GetUserGroup()
	end,
	[language.GetPhrase("spawnmenu.category.vehicles")] = function()
		local lp = LocalPlayer()
		return not AccessGroup[lp:GetUserGroup()
	end,
	[language.GetPhrase("spawnmenu.category.postprocess")] = true,
	[language.GetPhrase("spawnmenu.category.dupes")] = true,
	[language.GetPhrase("spawnmenu.category.saves")] = true
}

local function RemoveSandboxTabs()
	--local ply = LocalPlayer()
	--if ply:IsSuperAdmin() then return end
	for k, v in pairs(g_SpawnMenu.CreateMenu.Items) do
		local func = tabstoremove[v.Tab:GetText()]
		local isClosed = false
		if func == true or isfunction(func) and func() and v.Tab:IsVisible() then
			v.Tab:SetVisible(false)
			isClosed = true
		elseif isfunction(func) and not func() then
			if not v.Tab:IsVisible() then v.Tab:SetVisible(true) end
		end

		if isClosed then
			-- g_SpawnMenu.CreateMenu:SwitchToName("Строительство")
			g_SpawnMenu.CreateMenu:InvalidateLayout()
		end
	end
end

hook.Add("SpawnMenuOpen", "blockmenutabs", RemoveSandboxTabs)
2 лайка