Grey83
не пишу плагины с весны 2022
- Сообщения
- 8,520
- Реакции
- 4,979
можно попробовать и такоеможно реализовать
часов через 8-9 гляну, как с работы приду
Сообщения автоматически склеены:
@Туник, пробуй:
C-подобный:
#pragma semicolon 1
#pragma newdecls required
static const char
CMDS[][][] =
{
{"!knife", "Выбрать нож"},
{"!ws", "Выбрать скин"},
{"!gl", "Выбрать перчатки"}
};
Menu
hMenu;
bool
bInMenu[MAXPLAYERS+1];
public void OnPluginStart()
{
AddCommandListener(Cmd_Drop, "drop");
hMenu = new Menu(Handler_Menu);
hMenu.SetTitle("Меню игрока:\n ");
int i = -1;
while(++i < sizeof(CMDS)) hMenu.AddItem("", CMDS[i][1]);
}
public void OnClientDisconnect(int client)
{
bInMenu[client] = false;
}
public Action Cmd_Drop(int client, const char[] cmd, int argc)
{
if(!client || !IsClientInGame(client))
return Plugin_Continue;
if((bInMenu[client] ^= true))
{
hMenu.Display(client, MENU_TIME_FOREVER);
return Plugin_Handled;
}
if(GetClientMenu(client, null) == MenuSource_External)
CancelClientMenu(client, true, null);
return Plugin_Continue;
}
public int Handler_Menu(Menu menu, MenuAction action, int client, int param)
{
if(action == MenuAction_Select) FakeClientCommand(client, "say_team \"%s\"", CMDS[param][0]);
return 0;
}
Последнее редактирование: