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

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

  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Пункты меню по разным флагам
Jon4ik Дата: Понедельник, 02.06.2014, 16:16:24 | Сообщение # 31
Сообщений: 278
Репутация: 7 [ +/- ]
Цитата Tokami ()
Если игрок без флага а и жмет на 4 то ему пишет тест? а если флаг а есть то выполняется функция?

Ну как то так
 
Tokami Дата: Понедельник, 02.06.2014, 16:20:58 | Сообщение # 32
Сообщений: 238
Репутация: 19 [ +/- ]
Честно сильно не понял ну пробуй это
Код

#include <sourcemod>  

public OnPluginStart()  
{  
  RegConsoleCmd("test",Command);  
  RegConsoleCmd("sm_test",Command);  
}  

public Action:Command(client,argc)  
{  
  decl String:player[64],String:command[32];  
  GetCmdArg(1,command,sizeof(command));  
  GetCmdArg(2,player,sizeof(player));  
  {  
   OpenMenu(client);  
  }  
}  

OpenMenu(client)  
{  
  new flags = GetUserFlagBits(client);  
  new Handle:menu = CreateMenu(AccesMenu_handle);  
  SetMenuTitle(menu, "Menu");  
  AddMenuItem(menu, "", "votemute");  
  AddMenuItem(menu, "", "votekick");  
  AddMenuItem(menu, "", "voteban");  
  if (flags & ADMFLAG_RESERVATION)  
  {  
   AddMenuItem(menu, "", "Для админов");  
  }  
  AddMenuItem(menu, "", "noobs");
  DisplayMenu(menu, client, 0);  
}

public AccesMenu_handle(Handle:panel, MenuAction:action, client, option)   
{  
  if (action == MenuAction_Select)  
  {  
   if(option == 1)
   {
    PrintToChat(client, "Тут будет мут");  
   }
   else if(option == 2)
   {
    PrintToChat(client, "Тут будет кик");  
   }
   else if(option == 3)
   {
    PrintToChat(client, "Тут будет бан");  
   }
   else if(option == 4)
   {
    new flags = GetUserFlagBits(client);  
     
    if (flags & ADMFLAG_RESERVATION)  
    {  
     PrintToChat(client, "Тут будет для админ");  
    }
    else
    {
     PrintToChat(client, "Вы не админ");
    }
   }
   else if(option == 5)
   {
    PrintToChat(client, "Вы нуб");  
   }
  }  
}

Добавлено (02.06.2014, 16:20:58)
---------------------------------------------
ой там где меню убери нафиг эти проверки

 
Jon4ik Дата: Понедельник, 02.06.2014, 16:27:32 | Сообщение # 33
Сообщений: 278
Репутация: 7 [ +/- ]
Tokami, Почемуто пункты перепутаны жму votemute пишет вы не админ
 
Tokami Дата: Понедельник, 02.06.2014, 16:45:33 | Сообщение # 34
Сообщений: 238
Репутация: 19 [ +/- ]
хммм я с меню не работаю пробуй так
Код

#include <sourcemod>  

public OnPluginStart()  
{  
  RegConsoleCmd("test",Command);  
  RegConsoleCmd("sm_test",Command);  
}  

public Action:Command(client,argc)  
{  
  decl String:player[64],String:command[32];  
  GetCmdArg(1,command,sizeof(command));  
  GetCmdArg(2,player,sizeof(player));  
  {  
   OpenMenu(client);  
  }  
}  

OpenMenu(client)  
{  
  new Handle:menu = CreateMenu(AccesMenu_handle);  
  SetMenuTitle(menu, "Menu");  
  AddMenuItem(menu, "1", "votemute");  
  AddMenuItem(menu, "2", "votekick");  
  AddMenuItem(menu, "3", "voteban");   
  AddMenuItem(menu, "4", "Для админов");  
  AddMenuItem(menu, "5", "noobs");
   
  DisplayMenu(menu, client, 0);  
}

public AccesMenu_handle(Handle:panel, MenuAction:action, client, option)   
{  
  if (action == MenuAction_Select)  
  {  
   if(option == 1)
   {
    PrintToChat(client, "Тут будет мут");  
   }
   else if(option == 2)
   {
    PrintToChat(client, "Тут будет кик");  
   }
   else if(option == 3)
   {
    PrintToChat(client, "Тут будет бан");  
   }
   else if(option == 4)
   {
    new flags = GetUserFlagBits(client);  
     
    if (flags & ADMFLAG_RESERVATION)  
    {  
     PrintToChat(client, "Тут будет для админ");  
    }
    else
    {
     PrintToChat(client, "Вы не админ");
    }
   }
   else if(option == 5)
   {
    PrintToChat(client, "Вы нуб");  
   }
  }  
}
 
Jon4ik Дата: Понедельник, 02.06.2014, 16:48:32 | Сообщение # 35
Сообщений: 278
Репутация: 7 [ +/- ]
Tokami, Не всёравно лад пофиг буду обычное меню делать grust
 
Tokami Дата: Понедельник, 02.06.2014, 16:53:45 | Сообщение # 36
Сообщений: 238
Репутация: 19 [ +/- ]
Jon4ik, Сделай через панель и все будет нормально работать

Добавлено (02.06.2014, 16:53:15)
---------------------------------------------

Код


#include <sourcemod>  

public OnPluginStart()  
{  
  RegConsoleCmd("test",Command);  
  RegConsoleCmd("sm_test",Command);  
}  

public Action:Command(client,argc)  
{  
  decl String:player[64],String:command[32];  
  GetCmdArg(1,command,sizeof(command));  
  GetCmdArg(2,player,sizeof(player));  
  {  
   OpenMenu(client);  
  }  
}  

OpenMenu(client)  
{  
  new Handle:panel = CreatePanel();  
  SetPanelTitle(panel, "Менюшка by Jon4ik:\n \n");  
  DrawPanelItem(panel, "votemute");  
  DrawPanelItem(panel, "votekick");  
  DrawPanelItem(panel, "voteban");  
  DrawPanelItem(panel, "Для админов");  
  DrawPanelItem(panel, "noobs");
  SendPanelToClient(panel, client, Select_Panel, 0);
  CloseHandle(panel);
  ClientCommand(client, "playgamesound items/nvg_off.wav");
   
  DisplayMenu(menu, client, 0);  
}

public Select_Panel(Handle:panel, MenuAction:action, client, option)   
{  
  if (action == MenuAction_Select)  
  {  
   if(option == 1)
   {
    PrintToChat(client, "Тут будет мут");  
   }
   else if(option == 2)
   {
    PrintToChat(client, "Тут будет кик");  
   }
   else if(option == 3)
   {
    PrintToChat(client, "Тут будет бан");  
   }
   else if(option == 4)
   {
    new flags = GetUserFlagBits(client);  
     
    if (flags & ADMFLAG_RESERVATION)  
    {  
     PrintToChat(client, "Тут будет для админ");  
    }
    else
    {
     PrintToChat(client, "Вы не админ");
    }
   }
   else if(option == 5)
   {
    PrintToChat(client, "Вы нуб");  
   }
  }  
}

Добавлено (02.06.2014, 16:53:45)
---------------------------------------------
вот и все я хз чего ты там делал ваще полный бред)

 
Jon4ik Дата: Понедельник, 02.06.2014, 16:56:16 | Сообщение # 37
Сообщений: 278
Репутация: 7 [ +/- ]
Tokami, Спасибо огромное
 
«SeReGa»☆ Дата: Понедельник, 02.06.2014, 18:37:57 | Сообщение # 38
Сообщений: 395
Репутация: 37 [ +/- ]
есть ещё один вариант!
 
Jon4ik Дата: Понедельник, 02.06.2014, 18:41:55 | Сообщение # 39
Сообщений: 278
Репутация: 7 [ +/- ]
«SeReGa»☆, Этого вполне достаточно
 
Darkeneez Дата: Понедельник, 02.06.2014, 20:03:04 | Сообщение # 40
Сообщений: 221
Репутация: 18 [ +/- ]
BarD, Вот функция из библиотеки, которая используется

Код

stock bool:IsVip(client, flag)
{  
  if    ((GetUserFlagBits(client) & flag) != flag)
   return    false;
  else    return true;
}
 
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск: