Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Админ Меню
TheReal Дата: Суббота, 28.12.2013, 17:52:40 | Сообщение # 1
Сообщений: 72
Репутация: 4 [ +/- ]
Здравствуйте, Помогите сделать плагин у кого нет админки чтобы вылизала меню как на картинке

Гости не могут скачивать файлы


Сообщение отредактировал TheReal - Суббота, 28.12.2013, 17:53:05
 
BeatMaker_R1KO_ Дата: Суббота, 28.12.2013, 18:02:13 | Сообщение # 2
Сообщений: 60
Репутация: 0 [ +/- ]
Цитата TheReal ()
Здравствуйте, Помогите сделать плагин у кого нет админки чтобы вылизала меню как на картинке


Код

#include <sourcemod>

#define CONTACTS "Skype: blabla | vk: blabla"
#define CASH "300 рублей 5 копеек"

new Handle:hPanel = INVALID_HANDLE;

new bool:IsClientAdmin[MAXPLAYERS + 1] = {false, ...};

public OnPluginStart()
{
      AddCommandListener(ACL_Admin, "sm_admin");

      hPanel = CreatePanel();
      SetPanelTitle(hPanel, "У вас нет доступа к правам администратора");

      decl String:buffer[256];
      Format(buffer, sizeof(buffer), "Контакты: %s\nСтоимость: %s", CONTACTS, CASH);
      DrawPanelText(hPanel, buffer);

      OnRebuildAdminCache(AdminCache_Overrides);
}

public OnRebuildAdminCache(AdminCachePart:part)
{
      for (new i = 1; i <= MaxClients; i++)
      {
          if (IsClientInGame(i))
          {
              OnClientPostAdminCheck(i);
          }
      }
}
        
public OnClientPostAdminCheck(client)
{
      if (!IsFakeClient(client))
      {
          IsClientAdmin[client] = GetUserAdmin(client) != INVALID_ADMIN_ID ? true : false;
      }
}

public Action:ACL_Admin(client, const String:command[], args)
{
      if (client > 0)
      {
          if (!IsClientAdmin[client])
          {
              SendPanelToClient(hPanel, client, PanelHandler, 30);
          }
      }
}

public PanelHandler(Handle:panel, MenuAction:action, param1, param2)
{
      // Panel Handler...
}


Сообщение отредактировал BeatMaker_R1KO_ - Суббота, 28.12.2013, 20:44:13
 
TheReal Дата: Суббота, 28.12.2013, 18:14:14 | Сообщение # 3
Сообщений: 72
Репутация: 4 [ +/- ]
не чего не появилось
 
BeatMaker_R1KO_ Дата: Суббота, 28.12.2013, 20:44:51 | Сообщение # 4
Сообщений: 60
Репутация: 0 [ +/- ]
Мдя...
Исправил код, пробуй.
 
«SeReGa»☆ Дата: Суббота, 28.12.2013, 21:21:24 | Сообщение # 5
Сообщений: 395
Репутация: 37 [ +/- ]
что значит 30???
 
BeatMaker_R1KO_ Дата: Суббота, 28.12.2013, 21:53:46 | Сообщение # 6
Сообщений: 60
Репутация: 0 [ +/- ]
Цитата «SeReGa»☆ ()
что значит 30???


Если ты об этом:
Код
SendPanelToClient(hPanel, client, PanelHandler, 30);


то это - время, через которое меню закроется.
 
«SeReGa»☆ Дата: Суббота, 28.12.2013, 23:46:25 | Сообщение # 7
Сообщений: 395
Репутация: 37 [ +/- ]
XD ХОроша идея))

Код
#include <sourcemod>

new bool:IsClientAdmin[MAXPLAYERS + 1] = {false, ...};     

public OnPluginStart()     
{     
     AddCommandListener(Admin, "sm_admin");
         
     OnRebuildAdminCache(AdminCache_Overrides);     
}

public OnRebuildAdminCache(AdminCachePart:part)     
{     
     for (new i = 1; i <= MaxClients; i++)     
     {     
      if (IsClientInGame(i))     
      {     
       OnClientPostAdminCheck(i);     
      }     
     }     
}

public OnClientPostAdminCheck(client)     
{     
     if (!IsFakeClient(client))     
     {     
      IsClientAdmin[client] = GetUserAdmin(client) != INVALID_ADMIN_ID ? true : false;     
     }     
}

public Action:Admin(client, const String:command[], args)     
{     
     if (client > 0)     
     {     
      if (!IsClientAdmin[client])     
      {     
       ShowMyPanel(client);
      }     
     }     
}

ShowMyPanel(client)     
{     
     new Handle:panel = CreatePanel();     
     SetPanelTitle(panel, "Животные:\n \n");     
     DrawPanelItem(panel, "Кот");     


..И ничего лишнего..


Сообщение отредактировал «SeReGa»☆ - Воскресенье, 29.12.2013, 02:05:48
 
BeatMaker_R1KO_ Дата: Суббота, 28.12.2013, 23:55:59 | Сообщение # 8
Сообщений: 60
Репутация: 0 [ +/- ]
«SeReGa»☆, не очень оптимально
 
«SeReGa»☆ Дата: Воскресенье, 29.12.2013, 01:08:23 | Сообщение # 9
Сообщений: 395
Репутация: 37 [ +/- ]
BeatMaker_R1KO_ет просто пример для те кто не понял))
 
  • Страница 1 из 1
  • 1
Поиск: