#include <sourcemod>
#include <sdktools>
new String:s_Waponname[33][32] = {"Glock", "USP", "Deagle", "P228", "Five-Seven", "Dual Elites", "M3", "XM1014", "TMP", "MAC-10", "MP5", "UMP", "P90", "FAMAS", "Galil", "Scout", "AK-47", "M4A1", "AUG", "Krieg", "AWP", "SG550",
"G3SG1", "Пулемёт", "Нож", "Взрывная граната", "Слеповая граната", "Дымовая граната", "Броня", "Броня+Шлем", "Бомба", "Defuse Kit", "Ночное видение"},
String:s_Wapon[33][32] = {"weapon_glock", "weapon_usp", "weapon_deagle", "weapon_p228", "weapon_fiveseven", "weapon_elite", "weapon_m3", "weapon_xm1014", "weapon_tmp", "weapon_mac10", "weapon_mp5navy", "weapon_ump45",
"weapon_p90", "weapon_famas", "weapon_galil", "weapon_scout", "weapon_ak47", "weapon_m4a1", "weapon_aug", "weapon_sg552", "weapon_awp", "weapon_sg550", "weapon_g3sg1", "weapon_m249", "weapon_knife",
"weapon_hegrenade", "weapon_flashbang", "weapon_smokegrenade", "item_kevlar", "item_assaultsuit", "weapon_c4", "item_defuser", "item_nvgs"},
String:s_Wapons[MAXPLAYERS+1][32];
public Plugin:myinfo =
{
name = "WeaponGiver",
author = "",
description = "Admin menu which gives players weapons and items",
version = "2.0",
url = ""
}
public OnPluginStart()
{
RegAdminCmd("sm_wg", ConsoleCmd, ADMFLAG_ROOT);
}
public Action:ConsoleCmd(client, args)
{
GiveWapon(client);
return Plugin_Handled;
}
GiveWapon(client)
{
new Handle:menu = CreateMenu(MenuHandlerWapon);
SetMenuTitle(menu, "Меню оружия");
AddMenuItem(menu, "Пистолет", "Пистолет"); // pistols
AddMenuItem(menu, "Дробовик", "Дробовик"); // shotgun
AddMenuItem(menu, "Пистолет-Пулемёт", "Пистолет-Пулемёт"); //smg
AddMenuItem(menu, "Винтовки", "Винтовки"); //rifle
AddMenuItem(menu, "Пулемёт", "Пулемёт"); //machinegun
AddMenuItem(menu, "Прочее", "Прочее"); //misc
SetMenuExitButton(menu, true);
DisplayMenu(menu, client, MENU_TIME_FOREVER);
}
public MenuHandlerWapon(Handle:menu, MenuAction:action, client, param2)
{
if (action == MenuAction_Select)
{
decl String:s_info[32];
GetMenuItem(menu, param2, s_info, sizeof(s_info));
new Handle:menus = CreateMenu(MenuHandlerWapon2);
SetMenuTitle(menus, "Меню оружия- %s", s_info);
switch(param2)
{
case 0:
{
for (new j = 0; j < 5; j++)
AddMenuItem(menus, s_Wapon[j], s_Waponname[j]);
}
case 1:
{
for (new j = 6; j < 8; j++)
AddMenuItem(menus, s_Wapon[j], s_Waponname[j]);
}
case 2:
{
for (new j = 9; j < 12; j++)
AddMenuItem(menus, s_Wapon[j], s_Waponname[j]);
}
case 3:
{
for (new j = 13; j < 22; j++)
AddMenuItem(menus, s_Wapon[j], s_Waponname[j]);
}
case 4: AddMenuItem(menus, s_Wapon[23], s_Waponname[23]);
case 5:
{
for (new j = 24; j < 33; j++)
AddMenuItem(menus, s_Wapon[j], s_Waponname[j]);
}
}
SetMenuExitBackButton(menus, true);
DisplayMenu(menus, client, MENU_TIME_FOREVER);
}
else if (action == MenuAction_Cancel)
CloseHandle(menu);
}
public MenuHandlerWapon2(Handle:menu, MenuAction:action, client, param2)
{
if (action == MenuAction_Select)
{
GetMenuItem(menu, param2, s_Wapons[client], sizeof(s_Wapons[]));
GiveWaponClient(client)
}
else if (action == MenuAction_Cancel)
{
if (param2 == MenuCancel_ExitBack)
GiveWapon(client);
if (param2 == MenuCancel_Exit)
CloseHandle(menu);
}
}
GiveWaponClient(client)
{
decl String:s_name[64], String:s_target[12];
new Handle:menu = CreateMenu(MenuHandlerClient);
SetMenuTitle(menu, "Кому дать оружие");
for (new i = 1; i <= GetMaxClients(); i++)
{
if (IsClientInGame(i) && IsPlayerAlive(i))
{
GetClientName(i, s_name, sizeof(s_name));
IntToString(GetClientUserId(i), s_target, sizeof(s_target));
AddMenuItem(menu, s_target, s_name);
}
}
SetMenuExitBackButton(menu, true);
DisplayMenu(menu, client, 0);
}
public MenuHandlerClient(Handle:menu, MenuAction:action, client, param2)
{
if (action == MenuAction_Select)
{
new iTarget;
decl String:s_info[12],
String:s_name[64];
GetMenuItem(menu, param2, s_info, sizeof(s_info));
iTarget = GetClientOfUserId(StringToInt(s_info));
GetClientName(iTarget, s_name, sizeof(s_name));
if (IsClientInGame(iTarget))
{
GivePlayerItem(iTarget, s_Wapons[client]);
for (new j = 0; j < 33; j++)
ReplaceString(s_Wapons[client], sizeof(s_Wapons[]), s_Wapon[j], s_Waponname[j]);
PrintToChatAll("\x07008000[\x07ff0000Мини Игры\x07008000] \x01Админ дал \x07ff0033%s \x01игроку \x0734c924%s", s_Wapons[client], s_name);
}
GiveWapon(client);
}
else if (action == MenuAction_Cancel)
{
if (param2 == MenuCancel_ExitBack)
GiveWapon(client);
if (param2 == MenuCancel_Exit)
CloseHandle(menu);
}
}