From 5b3ccf17a2a8fe8058e153814e691b5d3268e4f8 Mon Sep 17 00:00:00 2001 From: bugor Date: Tue, 31 Mar 2026 23:34:54 +0300 Subject: [PATCH] add --- .../plugins/admin_magaz/cl_plugin.lua | 32 ++++++++----------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/garrysmod/gamemodes/militaryrp/plugins/admin_magaz/cl_plugin.lua b/garrysmod/gamemodes/militaryrp/plugins/admin_magaz/cl_plugin.lua index ef2614f..e18d978 100644 --- a/garrysmod/gamemodes/militaryrp/plugins/admin_magaz/cl_plugin.lua +++ b/garrysmod/gamemodes/militaryrp/plugins/admin_magaz/cl_plugin.lua @@ -119,24 +119,8 @@ function PANEL:Init() CreateNavBtn("Магазин", "shop", 0, COLOR_BASE) - -- Всегда создаем кнопку "Панель", но скрываем для не-superadmin - local panelBtn = CreateNavBtn("Панель", "panel", 160, Color(120, 0, 180)) - - local ply = LocalPlayer() - if IsValid(ply) and (ply:IsSuperAdmin() or ply:GetUserGroup() == "superadmin") then - panelBtn:SetVisible(true) - else - panelBtn:SetVisible(false) - end - - -- Проверка через 0.5 секунды на случай если данные еще загружаются - timer.Simple(0.5, function() - if not IsValid(panelBtn) or not IsValid(self) then return end - local ply = LocalPlayer() - if IsValid(ply) and (ply:IsSuperAdmin() or ply:GetUserGroup() == "superadmin") then - panelBtn:SetVisible(true) - end - end) + -- Кнопка "Панель" - видима всем, сервер проверяет права + CreateNavBtn("Панель", "panel", 160, Color(120, 0, 180)) self.content = self:Add("DScrollPanel") self.content:Dock(FILL) @@ -208,6 +192,18 @@ function PANEL:Refresh() end end elseif self.currentView == "panel" then + -- Проверка прав на клиенте + local ply = LocalPlayer() + if not IsValid(ply) or not (ply:IsSuperAdmin() or ply:GetUserGroup() == "superadmin") then + local errorPanel = self.content:Add("DPanel") + errorPanel:Dock(FILL) + errorPanel.Paint = function(s, w, h) + draw.SimpleText("Доступ запрещен", "ixAdminShopTitle", w/2, h/2 - 20, COLOR_DANGER, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER) + draw.SimpleText("Эта панель доступна только суперадминистраторам", "ixAdminShopSmall", w/2, h/2 + 20, COLOR_TEXT_DIM, TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER) + end + return + end + -- Запрос данных с сервера net.Start("ixAdminShopPanelOpen") net.SendToServer()