#pragma semicolon 1
#pragma newdecls required
#include <sourcemod>
#define MAX_COMANDS 4 // если добавишь карты дописывай +1 на одну карту
#define MAX_TITLE 4 // если добавишь карты дописывай +1 на одну карту
char Comands[MAX_COMANDS][256], Title[MAX_TITLE][256];
public Plugin myinfo =
{
name = "Vote Change Map",
author = "",
description = "",
version = "",
url = ""
};
public void OnPluginStart()
{
RegConsoleCmd("sm_round", MenuTest);
Title[0] = "Tank Challenge 10";
Comands[0] = "l4d2_tank_challenge";
Title[1] = "Tank Challenge 15";
Comands[1] = "l4d2_tank_challenge_15_rounds";
Title[2] = "Tank Challenge 20";
Comands[2] = "l4d2_tank_challenge_20_rounds";
Title[3] = "Tank Challenge 30";
Comands[3] = "l4d2_tank_challenge_30_rounds";
}
public Action MenuTest(int client, int args)
{
Menu menu = new Menu(MenuHandler);
for (int i = 0; i < MAX_TITLE; i++)
{
char buffer[256];
Format(buffer, sizeof(buffer), "%s", Title[i]);
menu.AddItem(buffer, buffer);
}
menu.SetTitle("Выберите кампанию:");
menu.ExitButton = true;
menu.Display(client, MENU_TIME_FOREVER);
PrintToChatAll("\x03Если у вас нет дополнительных кампаний,\x04 НЕ ГОЛОСУЙТЕ ЗА НИХ!");
return Plugin_Handled;
}
public int MenuHandler(Menu menu, MenuAction action, int param1, int param2)
{
if (action == MenuAction_Select)
{
char info[56];
menu.GetItem(param2, info, sizeof(info));
for (int com = 0; com < MAX_COMANDS; com++)
{
if (StrEqual(info, Title[com], false))
{
char buffer[256];
Format(buffer, sizeof(buffer), "%s", Comands[com]);
FakeClientCommand(param1, "callvote changemission %s", buffer);
}
}
}
}