Список параметров
Все эти параметры могут быть указаны для настройки меню. Большинство из них необязательны и имеют значения по умолчанию, если они не обнаружены. Смотрите 3ий пункт примеры команд и/или пункт файлы примеров для получения информации о том, как должен выглядеть и какую структуру иметь конфигурационный файл. * cmd - команда которая будет выполнена (#1,#2 и т.д. для параметров - никаких лимитов для них) Используйте @num чтобы послать параметр не окруженный "кавычками"
* admin - уровень администратора требующийся для доступа к выполнению команды - смотрите уровни администраторов
* execute - 'server' или 'player' - выбор выполнить команду на клиенте или как команду сервера - значение по умолчанию 'player'
* 1 - Информация о параметре 1 (#1) - Вы должны указать большинство из следующих параметров
o type - значение по умолчанию 'list' если другое не указано
+ 'groupplayer' - Список в виде групп + присоединенные игроки
+ 'group' - Список групп
+ 'player' - Список игроков
+ 'list' - Список из определенных опций
+ 'mapcycle' - автоматическое заполнение списка содержимым вашего mapcycle файла
+ 'onoff' - On или Off меню которое посылает числа 1/0 (хорошо для cvars(консольных переменных имеющих значения вкл./выкл.))
o path - Требуется только для типа mapcycle. Путь (включая имя файла и его расширение) содержащий список карт (или другой текстовый отформатированный как mapcycle.txt) - по умолчанию имеет значение 'mapcycle.txt'
o method - 'name', 'steamid', 'userid', 'userid2' (обратите внимание что символ '#' не указывается), 'clientid', 'ip' - необходимы только для меню groupplayer/player - по умолчанию name
o title - Заголовок меню выбора (опционально)
o 1-x - Список параметров - нужен только для параметров типа 'list'
o 1.-x. - Текст описывающий параметр - нужен только для параметров типа 'list' (опционально, можно использовать в качестве текста или не использовать вообще)
o 1* - x* - Уровень администратора требующийся чтобы видеть эту опцию (также как и остальные типы admin)
Примеры команд
PHP код:
"Commands"
{
"Fun Commands"
{
"Set Player Speed"
{
"cmd" "sm_speed #1 @2"
"admin" "sm_kick"
"execute" "player"
"1"
{
"type" "groupplayer"
"method" "name"
"title" "Player/Team to Edit" }
"2"
{
"type" "list"
"title" "Speed Multiplier"
"1" "1.0"
"1." "Normal"
"2" "0.8"
"2." "80%"
"3" "0.5"
"3." "Half"
"4" "1.5"
"4." "50% Boost"
"5" "2.0"
"5." "Double"
"5*" "sm_ban"
//restrict the double option to admins who have access to the 'sm_ban' override
}
}
PHP код:
"Commands"
{
"Fun Commands"
{
"Set Player Speed"
{
"cmd" "sm_speed #1 @2"
"admin" "sm_kick"
"execute" "player"
"1"
{
"type" "groupplayer"
"method" "name"
"title" "Player/Team to Edit"
}
"2"
{
"type" "list"
"title" "Speed Multiplier"
"1" "1.0"
"1." "Normal"
"2" "0.8"
"2." "80%"
"3" "0.5"
"3." "Half"
"4" "1.5"
"4." "50% Boost"
"5" "2.0"
"5." "Double"
"5*" "sm_ban"
//restrict the double option to admins who have access to the 'sm_ban' override
}
}
}
PHP код:
"Commands"
{
"Fun Commands"
{
"Set Player Speed"
{
"cmd" "sm_speed #1 @2"
"admin" "sm_kick"
"execute" "player"
"1"
{
"type" "groupplayer"
"method" "name"
"title" "Player/Team to Edit"
}
"2"
{
"type" "list"
"title" "Speed Multiplier"
"1" "1.0"
"1." "Normal"
"2" "0.8"
"2." "80%"
"3" "0.5"
"3." "Half"
"4" "1.5"
"4." "50% Boost"
"5" "2.0"
"5." "Double"
"5*" "sm_ban"
//restrict the double option to admins who have access to the 'sm_ban' override
}
}
}PHP код:
"Commands"
{
"Fun Commands"
{
"Set Player Speed"
{
"cmd" "sm_speed #1 @2"
"admin" "sm_kick"
"execute" "player"
"1"
{
"type" "groupplayer"
"method" "name"
"title" "Player/Team to Edit"
}
"2"
{
"type" "list"
"title" "Speed Multiplier"
"1" "1.0"
"1." "Normal"
"2" "0.8"
"2." "80%"
"3" "0.5"
"3." "Half"
"4" "1.5"
"4." "50% Boost"
"5" "2.0"
"5." "Double"
"5*" "sm_ban"
//restrict the double option to admins who have access to the 'sm_ban' override
}
}
}
}
Выше написан пример содержимого конфигурационного файла adminmenu_custom.txt мы создали новую категорию в админском меню называемую 'Fun Commands'.
* Эта категория содержит опцию под названием : "Set Player Speed". (установить скорость игрока)
* Выбрав это мы бы вызвали следующее меню под названием: "Player/Team to Edit" содержащее список групп и имена игроков.
* Далее выбрав что либо в списке мы переходим в следующее меню называющееся "Speed Multiplier".
* Видим список опций такие как "Normal", "80%" например.
* Пример команды отправляемой если пользователь выбран "Double" (выполняется команда на игроке FakeClientCommand) - 'sm_speed "@CT" 2.0'
Примечание: Вы можете использовать \ в качестве символа перехода. Использование \" позволит вам добавить кавычки в вашу строку.
Админские уровни
Все типы 'admin' сейчас требуют имя командной строки. Эта команда может быть уже существующей (sm_ban) или полностью воображаемой (onlycrabscanusethis).
Если команда существует в этой секции (или списке опций) потребуется точно такой же уровень доступа как и команда (включая любые перекрывающие указатели).
Пример. Вы используете sm_ban в качестве уровня администратора для под меню, поэтому все кто может получить доступ sm_ban также будут иметь доступ к этой опции меню (По умолчанию это администраторы с флагом 'ban' ). Однако если у вас есть перекрывающая sm_ban группа, то эта группа также будет иметь доступ.
Если команда не существует, вы будете должны добавить её в свои перекрывающие разделы, как если бы это была нормальная команда. Это может быть сделано в файле admin_overrides.cfg (чтобы присвоить флаг к этой команде), и/или в admin_groups.cfg (предоставить доступ к команде определенной группе или удалить её из группы, хотя они имеют флаг к использованию её)
Если не уровень администратора указан для базовой команду он по умолчанию будет первым аргументом в "cmd" строке. Например, имея
Цитата:
"cmd" "sm_ban #1 #2"
будет иметь значение по умолчанию admin override строка 'sm_ban'
Для более подробной информации смотрите Overriding Command Access
Группы подменю
Типы 'group' и 'groupplayer' добавляют предварительно настроенные параметры в меню.
Эти параметры настраиваются с помощью файла sourcemod/configs/adminmenu_grouping.txt
Они, как правило, используется для обеспечения действий над командами или всеми игроками, например как '@all' , '@t' в вашем меню.
Категории
Если вы хотите добавить элементы в уже существующую категорию, вам необходимо указать внутреннее имя этой категории. Названия для трех категорий, предусмотренных по умолчанию в SourceMod:
* PlayerCommands
* ServerCommands
* VotingCommands
Сортировка
Категории и пункты добавленые с помощью динамического меню могут быть отсортированы таким же образом, как обычные элементы. Для получения дополнительной информации смотрите Admin Menu Configuration
Вам необходимо указать имя, которое вы дали команде в файле конфигурации.
Пример:
Цитата:
"item" "Set Player Speed
Взято и переведено от сюда есть готовый пример!!!!