Для того что бы сделать отступ в меню есть функция menu_addblank, которая может делать два типа отступа.
Инфо из newmenu.inc:
/**
* Adds a blank line to a menu.
*
* @param menu Menu resource identifier.
* @param slot 1 (default) if the line should shift the numbering down.
* 0 if the line should be a visual shift only.
* @noreturn
* @error Invalid menu resource.
*/
native menu_addblank(menu, slot=1);
Синтаксис:
menu_addblank ( menu, slot=1 )
- menu - Идентификатор меню
- slot=1 - Если 1 то пустая строка занимает порядковый номер и следующий пункт меню будет больше на количество пропусков.
Если 0, то пропуск не будет занимать порядковые номера.
На рисунке пример, как первый пропуск сбивает нумерацию на 1, а второй нет, но нумерация уже была сбита ранее.
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "[newmenu.inc] menu_addblank"
#define VERSION "1.0"
#define AUTHOR "Admin"
new mTEST // Menu
new mcbTEST // Menu Callback
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /menu","func_menu")
/* Menu TEST */
mTEST = menu_create("TEST", "mh_TEST")
mcbTEST = menu_makecallback("mcb_TEST")
menu_additem(mTEST, "M test 1", "ma_TEST", ADMIN_ALL, mcbTEST)
menu_addblank(mTEST, 1)
menu_additem(mTEST, "M test 2", "ma_TEST", ADMIN_ALL, mcbTEST)
menu_addblank(mTEST, 0)
menu_additem(mTEST, "M test 3", "ma_TEST", ADMIN_ALL, mcbTEST)
menu_additem(mTEST, "M test 4", "ma_TEST", ADMIN_ALL, mcbTEST)
menu_additem(mTEST, "M test 5", "ma_TEST", ADMIN_ALL, mcbTEST)
/* Menu End */
}
public func_menu(id){
//Функция показывает меню,
//которое было сформировано еще в plugin_init
menu_display(id, mTEST, 0)
}
/* Menu TEST */
public mh_TEST(id, menu, item) {
// Функция вызывается при выборе одного из пунктов меню
}
public mcb_TEST(id, menu, item) {
// Тут код для активации/де активации пунктов меню
}
Описание:
В описании синтаксиса уже показан пример и объяснено что и как делает данная функция, хочу только обратить ваше внимание на следующие:
пустые строки могут быть добавлены Только после элементов меню, то есть нельзя сделать отступ перед первым элементом в меню.
menu_additem(mTEST, "M test 1\n", "ma_TEST", ADMIN_ALL, mcbTEST)
Таким способом как я описал выше можно