Плагин позволяет сделать меню без ковырянии в исходном коде. Аналог amxmodx менюшки но более простой и с дополнительными возможностями (вызов форвардов с различными параметрами, возможность создавать много много менюшек с кучей пунктов и т.п).
Версия плагина 1.0 (первый релиз) Обновлено до 1.5
Ограничение 40 менюшек. 64 пункта в меню включая пропуски. Требуется 10МБ оперативной памяти. (Прожорливая тварь)
Возможности : * Простота использования, 1 файл = 1 меню. Название файла = команда вызова этого меню. * Возможно вызывать функции из "чужих плагинов" (forward, пример имеется в архиве с плагином)
Создание меню: (В АРХИВЕ ИМЕЕТСЯ ПРИМЕРЫ) 1. Создать файл в папке addons/amxmodx/configs/unrealmenu, например test_menu.txt (полный путь получится addons/amxmodx/configs/unrealmenu/test_menu.txt) 2. В первой строк файле написать название меню. 3. Далее создать записи следующего вида
Код
Название пункта меню=Команда
например
Код
Написать HP=say /hp
в итоге выйдет
Код
НАЗВАНИЕ МЕНЮ 1 Написать HP=say /hp
4. Таким образом если вы напишите в консоль test_menu то вам откроется менюшка с названием "НАЗВАНИЕ МЕНЮ 1" и с пунктом "Написать HP", если вы его нажмете то напишите в чат "say /hp".
Думаю тут все довольно просто, а для более сложных случаев (вызов Forwardов) смотрите пример.
Скачать плагин можно тут
Обновление 1.1 * Добавлены примеры Обновление 1.2 * Блокировка команд Обновление 1.3 * Поддержка названия меню Обновление 1.4 * Поддержка флагов доступа Например добавьте ADMIN_LEVEL_G= в начало строки и пункт меню будет доступен только для ADMIN_LEVEL_G (см примеры) Обновление 1.4 * Регистрирует так же say / команду Обновление 1.5 * Возможность добавить пустое место(пример в radio2.txt) Обновление 1.6 * Возможность вызвать функцию из определенного плагина * Возможность вызвать функцию по ID (нет примера, но вместо функции можно цифру вставить это будет считаться как ID) * Возможность включения отладки
Наверное не понадобится 10 мб памяти, если ты научишься использовать возможности яп по назначению, ну или хотя бы ознакомишься поподробнее с документацией, которая с амыксмодом предоставляется. Где-то грустят динамические массивы.
Ах, да, вот еще: тут чет как-то попроще всё, и работает.
Ой ну никто не умрет от того что сервер будет пожирать на 10мб памяти больше))
И там нет возможности вызывать функции напрямую из чужих плагинов с параметрами) Я думаю ни в каком меню пока нет такого) А это избавляет от необходимости вызывать client_cmd
Ой ну никто не умрет от того что сервер будет пожирать на 10мб памяти больше))
И там нет возможности вызывать функции напрямую из чужих плагинов с параметрами) Я думаю ни в каком меню пока нет такого) А это избавляет от необходимости вызывать client_cmd
Даже если и нет, там сделать открытие меню без форса команды проще, а еще там лимитов на меню нет)
karaulov, Не подскажешь, что будет если я открою меню, ничего не делаю. В это время другой игрок открывает меню и жмет выход. Что будет когда я после этого нажму любой пункт меню?
karaulov, Не подскажешь, что будет если я открою меню, ничего не делаю. В это время другой игрок открывает меню и жмет выход. Что будет когда я после этого нажму любой пункт меню?
Проверь потом расскажешь) Работает на сервере с 32 онлайном и нет жалоб, сам там играю и мне отлично работает. А что по твоему должно произойти?)))))
Обновление 1.6 * Возможность вызвать функцию из определенного плагина (пример имеется) * Возможность вызвать функцию по ID (нет примера, но вместо функции можно цифру вставить это будет считаться как ID) * Возможность включения отладки
Небольшую обновку загрузил на гитхаб, версию не поднимал т.к слишком мелкая обнова. Игроки жаловались что кнопки в меню неудобно на 9 закрывать. * Добавлено выравнивание, теперь закрытие всегда будет на 0
И повторюсь еще на счет функционала из-за которого вам следует подумать над переходом на этот плагин! Опытные пользователи могут настроить меню так что бы не требовалась отправка client_cmd (а это означает с cl_filterstuffcmd 1 менюшка будет работать) Остальные плагины с меню не могут себе позволить такой роскоши! ) Примеры есть в папке с менюшками. Но сделать это смогут только те кто разбирается в плагинах.
Для тех кто захочет использовать "секретный функционал".
Пример на примере плагина map_manager_rtv.amxx (простите за каламбур) Другие плагины будут отправлять client_cmd(id,"say /rtv") а это значит что с некоторыми протекторами, а особенно с cl_filterstuffcmd 1 менюшки не будут совместимы Тогда как в моем плагине можно сделать запись вида: Голосовать за смену карты=EXECUTE_WITH_ARGS:clcmd_rtv:map_manager_rtv.amxx:INTEGER:CALLERID Разберем этот пример: Плагин создает пункт меню "Голосовать за смену карты". Команда EXECUTE_WITH_ARGS означает что будет вызвана функция с аргументами. Будет вызвана функция clcmd_rtv Поиск функции будет вестись в плагине map_manager_rtv.amxx (Название плагина можно не указывать тогда это будет работать как форвард, и вызов произойдет в КАЖДОМ из плагинов) Если функция найдена, то производится вызов, в аргументы передается число (INTEGER) со значением CALLERID ( игрок нажавший этот пункт )