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) Декор:"] = {}
buytable["3) Декор:"].Model = Props_4
buytable["3) Декор:"].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","root","sponsor","admin","moderator","operator"}
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 tabstoremoveSup = {
language.GetPhrase("spawnmenu.content_tab"),
language.GetPhrase("spawnmenu.category.npcs"),
language.GetPhrase("spawnmenu.category.entities"),
language.GetPhrase("spawnmenu.category.vehicles"),
language.GetPhrase("spawnmenu.category.postprocess"),
language.GetPhrase("spawnmenu.category.dupes"),
language.GetPhrase("spawnmenu.category.saves")
}
if table.HasValue(AccsesGroup, LocalPlayer():GetUserGroup()) or LocalPlayer():IsSuperAdmin() then
if !LocalPlayer():IsSuperAdmin() or !LocalPlayer():GetUserGroup() == "root" then
for k, v in pairs(g_SpawnMenu.CreateMenu.Items) do
if table.HasValue(tabstoremoveSup, v.Tab:GetText()) then
g_SpawnMenu.CreateMenu:CloseTab(v.Tab, true)
RemoveSandboxTabs()
end
end
end
else
for k, v in pairs(g_SpawnMenu.CreateMenu.Items) do
-- if table.HasValue(tabstoremove, v.Tab:GetText()) then
if 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