Code:
public MenuHandler1(Handle:menu, MenuAction:action, client, param2) // Menu Handler
{
if (action == MenuAction_Select)
{
new String:info[64];
GetMenuItem(menu, param2, info, sizeof(info));
GetClientName(client, name, sizeof(name));
if(strcmp(info, "WardenCreatePrikaz") == 0) // Create a order command
{
new Handle:wrdnorder = CreateMenu(MenuHandler1);
SetMenuTitle(wrdnorder, "Напишите в чат ваш приказ"); //Menu Title
AddMenuItem(wrdnorder, ""); //Menu Item 1
AddMenuItem(wrdnorder, "Знак + перед текстом - переход на новую строку"); // Menu item 2
AddMenuItem(wrdnorder, ""); // Menu item 3
SetMenuExitBackButton(wrdnorder, true); // Sets a Exit and Back Button
DisplayMenu(wrdnorder, client, 0); // Displays a menu
public Action OnClientSayCommand(int client, const char[] command, const char[] sArgs) // Client writes in chat
{
if (client && IsClientInGame(client) && JWP_IsWarden(client) && (g_CvarOrderAlways.BoolValue || g_bChatListen))
{
if (sArgs[0] != '!' && sArgs[0] != '/' && sArgs[0] != '@')
{
g_bChatListen = false;
CreateOrderMsg(client, sArgs);
PrecacheSound("buttons\blip2.wav") // Precaches a sound
if (g_cOrderSound[0]) // Emit Sound
EmitSoundToAll(g_cOrderSound);
if (!g_CvarOrderAlways.BoolValue)
return Plugin_Handled;
}
}
}
}
if(strcmp(info, "WardenOpenAllCells") == 0) // Opens a all doors
{
AcceptEntityInput(func_door_rotating, "Open");
AcceptEntityInput(func_door, "Open");
}
if(strcmp(info, "WardenCloseAllCells") == 0) // Closes a all doors
{
AcceptEntityInput(func_door_rotating, "Close");
AcceptEntityInput(func_door, "Close");
}
if(strcmp(info, "WardenOpenCell") == 0) // Opens a door from the crosshair
{
int TiB_GetAimInfo(int client)
{
float origin[3], angles[3];
GetClientEyePosition(client, origin);
GetClientEyeAngles(client, angles);
TR_TraceRayFilter(origin, angles, MASK_SHOT, RayType_Infinite, TraceFilter_Callback, client);
if (!TR_DidHit()) return -1;
return TR_GetEntityIndex();
}
public bool TraceFilter_Callback(int ent, int mask, int client)
{
return (client != ent);
}
bool TiB_IsDoor(const char[] classname)
{
return (StrContains(classname, "movelinear", false) || StrContains(classname, "door", false) || StrContains(classname, "plat", false) || StrContains(classname, "rotating", false) || StrContains(classname, "tracktrain", false));
}
}
if(strcmp(info, "WardenResign") == 0) // Resign cmd
{
new Handle:wrdnresign = CreateMenu(MenuHandler1);
SetMenuTitle(wrdnresign, "ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ ПОКИНУТЬ ПОСТ КОМАНДИРА?");
AddMenuItem(wrdnresign, "");
AddMenuItem(wrdnresign, "Да", "WardenResignYes");
AddMenuItem(wrdnresign, "Нет", "WardenResignNo");
SetMenuExitBackButton(wrdnresign, true);
DisplayMenu(wrdnresign, client, 0);
}
}
}