Помогите как сделать q menu разрешения по фкладкам, есть lua по этому доступу вот lua
sh_spawnprops.lua (26.5 КБ)
Там есть в конце код кому фулл q menu а кому только разрешённые пропы.
Не моглиб бы помочь там сделал так дабы у
superadmin",“root”,“sudo-root было фулл q menu а мне надо убрать у
superadmin”,"root Вкладки (Постобработка, Дубликаты, Сохранение) А как не знаю
А у sudo-root убрать (Постобработка, Дубликаты, Сохранение, Транспорт, Энтити)
local BULLSHIT = {
['root'] = {
[language.GetPhrase("spawnmenu.category.postprocess")] = true,
[language.GetPhrase("spawnmenu.category.dupes")] = true,
[language.GetPhrase("spawnmenu.category.saves")] = true,
},
['sudo-root'] = {
[language.GetPhrase("spawnmenu.category.entities")] = true,
[language.GetPhrase("spawnmenu.category.vehicles")] = true,
[language.GetPhrase("spawnmenu.category.postprocess")] = true,
[language.GetPhrase("spawnmenu.category.dupes")] = true,
[language.GetPhrase("spawnmenu.category.saves")] = true,
},
}
local tabstoremove = {
[language.GetPhrase("spawnmenu.content_tab")] = true,
[language.GetPhrase("spawnmenu.category.npcs")] = true,
[language.GetPhrase("spawnmenu.category.entities")] = true,
[language.GetPhrase("spawnmenu.category.weapons")] = true,
[language.GetPhrase("spawnmenu.category.vehicles")] = true,
[language.GetPhrase("spawnmenu.category.postprocess")] = true,
[language.GetPhrase("spawnmenu.category.dupes")] = true,
[language.GetPhrase("spawnmenu.category.saves")] = true,
}
local function RemoveSandboxTabs()
for k, v in pairs(g_SpawnMenu.CreateMenu.Items) do
local group = BULLSHIT[LocalPlayer():GetUserGroup()]
if (tabstoremove[v.Tab:GetText()] and not group) or (group and group[v.Tab:GetText()]) then
g_SpawnMenu.CreateMenu:CloseTab(v.Tab, true)
end
end
end
hook.Add("SpawnMenuOpen", "blockmenutabs", RemoveSandboxTabs)
Это туда же ?
if CLIENT then
local CfgVars = {}
local WEBSITE = {}
CfgVars[“EquipmentDecayTimer”] = 3
CfgVars[“WeaponDecayTimer”] = 3
CfgVars[“DrugDecayTimer”] = 3
local buytable = {}
buytable[“1) Строительство:”] = {}
buytable[“1) Строительство:”].Model = Props_1
buytable[“1) Строительство:”].Data = Props_1
buytable[“2) Основное:”] = {}
buytable[“2) Основное:”].Model = Props_3
buytable[“2) Основное:”].Data = Props_3
buytable[“3) Строительство2:”] = {}
buytable[“3) Строительство2:”].Model = Props_4
buytable[“3) Строительство2:”].Data = Props_4
local PANEL = {}
function PANEL:Init()
self.PanelList = vgui.Create("DPanelList", self)
self.PanelList:SetPadding(4)
self.PanelList:SetSpacing(2)
self.PanelList:EnableVerticalScrollbar(true)
self:BuildList()
end
local function AddComma(n)
local sn = tostring(n)
sn = string.ToTable(sn)
local tab = {}
for i = 0, #sn - 1 do
if i % 3 == #sn % 3 and not (i == 0) then
table.insert(tab, ",")
end
table.insert(tab, sn[i + 1])
end
return string.Implode("", tab)
end
function PANEL:BuildList()
self.PanelList:Clear()
local Categorised = {}
for k, v in pairs(buytable) do
v.Category = k
Categorised[v.Category] = Categorised[v.Category] or {}
table.insert(Categorised[v.Category], v)
end
for CategoryName, v in SortedPairs(Categorised) do
local Category = vgui.Create("DCollapsibleCategory", self)
self.PanelList:AddItem(Category)
Category:SetExpanded(false)
Category:SetLabel(CategoryName)
Category:SetCookieName("EntitySpawn." .. CategoryName)
local Content = vgui.Create("DPanelList")
Category:SetContents(Content)
Content:EnableHorizontal(true)
Content:SetDrawBackground(false)
Content:SetSpacing(2)
Content:SetPadding(2)
Content:SetAutoSize(true)
number = 1
for k, v in pairs(buytable[CategoryName].Model) do
local Icon = vgui.Create("SpawnIcon", self)
local Model = buytable[CategoryName].Model[number]
if (buytable[CategoryName].Model[number] ~= nil) then
Icon:SetModel(buytable[CategoryName].Model[number])
else
Icon:SetModel("models/error.mdl")
end
Icon.DoClick = function()
RunConsoleCommand("gm_spawn", Model)
end
local lable = vgui.Create("DLabel", Icon)
lable:SetFont("DebugFixedSmall")
lable:SetTextColor(color_black)
lable:SetText(Model)
lable:SetContentAlignment(5)
lable:SetWide(self:GetWide())
lable:AlignBottom(-42)
Content:AddItem(Icon)
number = number + 1
end
end
self.PanelList:InvalidateLayout()
end
function PANEL:PerformLayout()
self.PanelList:StretchToParent(0, 0, 0, 0)
end
local CreationSheet = vgui.RegisterTable(PANEL, "Panel")
local function CreateContentPanel()
local ctrl = vgui.CreateFromTable(CreationSheet)
return ctrl
end
local function RemoveSandboxTabs()
local AccsesGroup = {"superadmin"}
local BULLSHIT = {
['root'] = {
[language.GetPhrase("spawnmenu.category.postprocess")] = true,
[language.GetPhrase("spawnmenu.category.dupes")] = true,
[language.GetPhrase("spawnmenu.category.saves")] = true,
},
['sudo-root'] = {
[language.GetPhrase("spawnmenu.category.entities")] = true,
[language.GetPhrase("spawnmenu.category.vehicles")] = true,
[language.GetPhrase("spawnmenu.category.postprocess")] = true,
[language.GetPhrase("spawnmenu.category.dupes")] = true,
[language.GetPhrase("spawnmenu.category.saves")] = true,
},
}
local tabstoremove = {
language.GetPhrase("spawnmenu.content_tab"),
language.GetPhrase("spawnmenu.category.npcs"),
language.GetPhrase("spawnmenu.category.entities"),
language.GetPhrase("spawnmenu.category.weapons"),
language.GetPhrase("spawnmenu.category.vehicles"),
language.GetPhrase("spawnmenu.category.postprocess"),
language.GetPhrase("spawnmenu.category.dupes"),
language.GetPhrase("spawnmenu.category.saves")
}
local function RemoveSandboxTabs()
for k, v in pairs(g_SpawnMenu.CreateMenu.Items) do
local group = BULLSHIT[LocalPlayer():GetUserGroup()]
if (tabstoremove[v.Tab:GetText()] and not group) or (group and group[v.Tab:GetText()]) then
g_SpawnMenu.CreateMenu:CloseTab(v.Tab, true)
end
end
end
if !table.HasValue(AccsesGroup, LocalPlayer():GetUserGroup()) then
for k, v in pairs(g_SpawnMenu.CreateMenu.Items) do
if table.HasValue(tabstoremove, v.Tab:GetText()) then
g_SpawnMenu.CreateMenu:CloseTab(v.Tab, true)
RemoveSandboxTabs()
end
end
end
end
hook.Add("SpawnMenuOpen", "blockmenutabs", RemoveSandboxTabs)
local function BunkMenu()
return
end
spawnmenu.AddCreationTab("Разрешенные пропы", CreateContentPanel, "icon16/application_view_tile.png", 4)
end
Спасибо