From da518fdc0f32839730ccdee8098b59c6f842d93f Mon Sep 17 00:00:00 2001 From: navewindre Date: Mon, 13 Nov 2023 14:28:08 +0100 Subject: ya --- sourcemod/scripting/include/smlib/menus.inc | 37 +++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 sourcemod/scripting/include/smlib/menus.inc (limited to 'sourcemod/scripting/include/smlib/menus.inc') diff --git a/sourcemod/scripting/include/smlib/menus.inc b/sourcemod/scripting/include/smlib/menus.inc new file mode 100644 index 0000000..87f253e --- /dev/null +++ b/sourcemod/scripting/include/smlib/menus.inc @@ -0,0 +1,37 @@ +#if defined _smlib_menus_included + #endinput +#endif +#define _smlib_menus_included + +#include +#include + +/** + * Adds an option to a menu with a String display but an integer + * identifying the option. + * + * @param menu Handle to the menu + * @param value Integer value for the option + * @param display Display text for the menu + */ +stock void Menu_AddIntItem(Menu menu, any value, char[] display) +{ + char buffer[INT_MAX_DIGITS + 1]; + IntToString(value, buffer, sizeof(buffer)); + menu.AddItem(buffer, display); +} + +/** + * Retrieves an integer-value choice from a menu, where the + * menu's information strings were created as integers. + * + * @param menu Handle to the menu + * @param param2 The item position selected from the menu. + * @return Integer choice from the menu, or 0 if the integer could not be parsed. + */ +stock any Menu_GetIntItem(Menu menu, any param2) +{ + char buffer[INT_MAX_DIGITS + 1]; + menu.GetItem(param2, buffer, sizeof(buffer)); + return StringToInt(buffer); +} -- cgit v1.2.3