ReHLDS/HLDS UNREAL MENU

karaulov

Скриптер
Постоялец
Пользователь
Регистрация
5 Май 2019
Сообщения
1.041
Симпатии
357
Пол
Мужской
Плагин позволяет сделать меню без ковырянии в исходном коде.
Аналог amxmodx менюшки но более простой и с дополнительными возможностями (вызов форвардов с различными параметрами, возможность создавать много много менюшек с кучей пунктов и т.п).

Версия плагина 1.0 (первый релиз)
Обновлено до 1.4

Ограничение 40 менюшек.
Требуется 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)
 
Последнее редактирование:

karaulov

Скриптер
Постоялец
Пользователь
Регистрация
5 Май 2019
Сообщения
1.041
Симпатии
357
Пол
Мужской
Обновление 1.6
* Возможность вызвать функцию из определенного плагина (пример имеется)
* Возможность вызвать функцию по ID (нет примера, но вместо функции можно цифру вставить это будет считаться как ID)
* Возможность включения отладки
 

karaulov

Скриптер
Постоялец
Пользователь
Регистрация
5 Май 2019
Сообщения
1.041
Симпатии
357
Пол
Мужской
Небольшую обновку загрузил на гитхаб, версию не поднимал т.к слишком мелкая обнова. Игроки жаловались что кнопки в меню неудобно на 9 закрывать.
* Добавлено выравнивание, теперь закрытие всегда будет на 0

И ниже повторюсь еще раз на счет функционала из-за которого вам следует подумать над переходом на этот плагин!



Для тех кто захочет использовать "секретный функционал".

Пример на примере плагина 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 ( игрок нажавший этот пункт )
 

karaulov

Скриптер
Постоялец
Пользователь
Регистрация
5 Май 2019
Сообщения
1.041
Симпатии
357
Пол
Мужской
Обновление 1.6.2 : Исправление вызова по ID и названию плагина. И фикс квара.
 
Сверху Снизу