show 'Refresh menu' on every zone menu page

This commit is contained in:
rtldg 2021-12-25 10:23:05 +00:00
parent 78b276c350
commit c68d50a4d0

View File

@ -2098,6 +2098,7 @@ Action OpenTpToZoneMenu(int client, int pagepos=0)
Menu menu = new Menu(MenuHandler_TpToEdit); Menu menu = new Menu(MenuHandler_TpToEdit);
menu.SetTitle("%T\n ", "TpToZone", client); menu.SetTitle("%T\n ", "TpToZone", client);
int newPageInterval = (gEV_Type == Engine_CSGO) ? 6 : 7;
char sDisplay[64]; char sDisplay[64];
FormatEx(sDisplay, 64, "%T", "ZoneEditRefresh", client); FormatEx(sDisplay, 64, "%T", "ZoneEditRefresh", client);
menu.AddItem("-2", sDisplay); menu.AddItem("-2", sDisplay);
@ -2109,6 +2110,12 @@ Action OpenTpToZoneMenu(int client, int pagepos=0)
continue; continue;
} }
if ((menu.ItemCount % newPageInterval) == 0)
{
FormatEx(sDisplay, 64, "%T", "ZoneEditRefresh", client);
menu.AddItem("-2", sDisplay);
}
char sInfo[8]; char sInfo[8];
IntToString(i, sInfo, 8); IntToString(i, sInfo, 8);
@ -2135,14 +2142,8 @@ Action OpenTpToZoneMenu(int client, int pagepos=0)
menu.AddItem(sInfo, sDisplay, ITEMDRAW_DEFAULT); menu.AddItem(sInfo, sDisplay, ITEMDRAW_DEFAULT);
} }
if (menu.ItemCount == 0)
{
FormatEx(sDisplay, 64, "%T", "ZonesMenuNoneFound", client);
menu.AddItem("-1", sDisplay);
}
menu.ExitButton = true; menu.ExitButton = true;
menu.DisplayAt(client, pagepos, 300); menu.DisplayAt(client, pagepos, MENU_TIME_FOREVER);
return Plugin_Handled; return Plugin_Handled;
} }
@ -2188,11 +2189,13 @@ public int MenuHandler_TpToEdit(Menu menu, MenuAction action, int param1, int pa
return 0; return 0;
} }
Action OpenEditMenu(int client) Action OpenEditMenu(int client, int pos = 0)
{ {
Menu menu = new Menu(MenuHandler_ZoneEdit); Menu menu = new Menu(MenuHandler_ZoneEdit);
menu.SetTitle("%T\n ", "ZoneEditTitle", client); menu.SetTitle("%T\n ", "ZoneEditTitle", client);
int newPageInterval = (gEV_Type == Engine_CSGO) ? 6 : 7;
char sDisplay[64]; char sDisplay[64];
FormatEx(sDisplay, 64, "%T", "ZoneEditRefresh", client); FormatEx(sDisplay, 64, "%T", "ZoneEditRefresh", client);
menu.AddItem("-2", sDisplay); menu.AddItem("-2", sDisplay);
@ -2204,6 +2207,12 @@ Action OpenEditMenu(int client)
continue; continue;
} }
if ((menu.ItemCount % newPageInterval) == 0)
{
FormatEx(sDisplay, 64, "%T", "ZoneEditRefresh", client);
menu.AddItem("-2", sDisplay);
}
char sInfo[8]; char sInfo[8];
IntToString(i, sInfo, 8); IntToString(i, sInfo, 8);
@ -2230,14 +2239,8 @@ Action OpenEditMenu(int client)
menu.AddItem(sInfo, sDisplay, gA_ZoneCache[i].bPrebuilt ? ITEMDRAW_DISABLED : ITEMDRAW_DEFAULT); menu.AddItem(sInfo, sDisplay, gA_ZoneCache[i].bPrebuilt ? ITEMDRAW_DISABLED : ITEMDRAW_DEFAULT);
} }
if(menu.ItemCount == 0)
{
FormatEx(sDisplay, 64, "%T", "ZonesMenuNoneFound", client);
menu.AddItem("-1", sDisplay);
}
menu.ExitButton = true; menu.ExitButton = true;
menu.Display(client, 300); menu.DisplayAt(client, pos, MENU_TIME_FOREVER);
return Plugin_Handled; return Plugin_Handled;
} }
@ -2255,7 +2258,7 @@ public int MenuHandler_ZoneEdit(Menu menu, MenuAction action, int param1, int pa
{ {
case -2: case -2:
{ {
OpenEditMenu(param1); OpenEditMenu(param1, GetMenuSelectionPosition());
} }
case -1: case -1:
@ -2306,11 +2309,12 @@ public Action Command_DeleteZone(int client, int args)
return OpenDeleteMenu(client); return OpenDeleteMenu(client);
} }
Action OpenDeleteMenu(int client) Action OpenDeleteMenu(int client, int pos = 0)
{ {
Menu menu = new Menu(MenuHandler_DeleteZone); Menu menu = new Menu(MenuHandler_DeleteZone);
menu.SetTitle("%T\n ", "ZoneMenuDeleteTitle", client); menu.SetTitle("%T\n ", "ZoneMenuDeleteTitle", client);
int newPageInterval = (gEV_Type == Engine_CSGO) ? 6 : 7;
char sDisplay[64]; char sDisplay[64];
FormatEx(sDisplay, 64, "%T", "ZoneEditRefresh", client); FormatEx(sDisplay, 64, "%T", "ZoneEditRefresh", client);
menu.AddItem("-2", sDisplay); menu.AddItem("-2", sDisplay);
@ -2319,6 +2323,12 @@ Action OpenDeleteMenu(int client)
{ {
if (gA_ZoneCache[i].bZoneInitialized) if (gA_ZoneCache[i].bZoneInitialized)
{ {
if ((menu.ItemCount % newPageInterval) == 0)
{
FormatEx(sDisplay, 64, "%T", "ZoneEditRefresh", client);
menu.AddItem("-2", sDisplay);
}
char sPrebuilt[16]; char sPrebuilt[16];
sPrebuilt = gA_ZoneCache[i].bPrebuilt ? " (prebuilt)" : ""; sPrebuilt = gA_ZoneCache[i].bPrebuilt ? " (prebuilt)" : "";
@ -2346,15 +2356,8 @@ Action OpenDeleteMenu(int client)
} }
} }
if(menu.ItemCount == 0)
{
char sMenuItem[64];
FormatEx(sMenuItem, 64, "%T", "ZonesMenuNoneFound", client);
menu.AddItem("-1", sMenuItem);
}
menu.ExitButton = true; menu.ExitButton = true;
menu.Display(client, 300); menu.DisplayAt(client, pos, MENU_TIME_FOREVER);
return Plugin_Handled; return Plugin_Handled;
} }
@ -2372,7 +2375,7 @@ public int MenuHandler_DeleteZone(Menu menu, MenuAction action, int param1, int
{ {
case -2: case -2:
{ {
OpenDeleteMenu(param1); OpenDeleteMenu(param1, GetMenuSelectionPosition());
} }
case -1: case -1: