Соник_Йожыг

Custom Admin Menu - Создание меню админа Sourcemod

Recommended Posts

Как создать меню админа в Sourcemod

 

 

Введение
Функция пользовательских меню позволяет администраторам сервера добавлять новые элементы в SourceMod меню администратора. Оно предназначено для использования в качестве дополнения к плагинам команды которых нужно добавить в меню.
Администраторы могут настроить их меню с помощью конфигурационного файла sourcemod/configs/adminmenu_custom.txt, этот файл создает набор пунктов и категорий в меню администратора при запуске сервера.

 

 
 
Список параметров
Все эти параметры могут быть указаны для настройки меню. Большинство из них необязательны и имеют значения по умолчанию, если они не обнаружены. Смотрите 3ий пункт примеры команд и/или пункт файлы примеров для получения информации о том, как должен выглядеть и какую структуру иметь конфигурационный файл.

 

 

  • cmd - команда которая будет выполнена (#1,#2 и т.д. для параметров - никаких лимитов для них) Используйте @num чтобы послать параметр не окруженный "кавычками"
  • admin - уровень администратора требующийся для доступа к выполнению команды - смотрите уровни администраторов
  • execute - 'server' или 'player' - выбор выполнить команду на клиенте или как команду сервера - значение по умолчанию 'player'
  • 1 - Информация о параметре 1 (#1) - Вы должны указать большинство из следующих параметров
  • type - значение по умолчанию 'list' если другое не указано
  • 'groupplayer' - Список в виде групп + присоединенные игроки
  • 'group' - Список групп
  • 'player' - Список игроков
  • 'list' - Список из определенных опций
  • 'mapcycle' - автоматическое заполнение списка содержимым вашего mapcycle файла
  • 'onoff' - On или Off меню которое посылает числа 1/0 (хорошо для cvars(консольных переменных имеющих значения вкл./выкл.))
  • path - Требуется только для типа mapcycle. Путь (включая имя файла и его расширение) содержащий список карт (или другой текстовый отформатированный как mapcycle.txt) - по умолчанию имеет значение 'mapcycle.txt'
  • method - 'name', 'steamid', 'userid', 'userid2' (обратите внимание что символ '#' не указывается), 'clientid', 'ip' - необходимы только для меню groupplayer/player - по умолчанию name
  • title - Заголовок меню выбора (опционально)
  • 1-x - Список параметров - нужен только для параметров типа 'list'
  • 1.-x. - Текст описывающий параметр - нужен только для параметров типа 'list' (опционально, можно использовать в качестве текста или не использовать вообще)
  • 1* - x* - Уровень администратора требующийся чтобы видеть эту опцию (также как и остальные типы admin)

 

 

Примеры команд
 
"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' 
 
Группы подменю 
Типы 'group' и 'groupplayer' добавляют предварительно настроенные параметры в меню. 
Эти параметры настраиваются с помощью файла sourcemod/configs/adminmenu_grouping.txt
Они, как правило, используется для обеспечения действий над командами или всеми игроками, например как '@all' , '@t' в вашем меню.

 

Категории
Если вы хотите добавить элементы в уже существующую категорию, вам необходимо указать внутреннее имя этой категории. Названия для трех категорий, предусмотренных по умолчанию в SourceMod: 
  • PlayerCommands
  • ServerCommands
  • VotingCommands

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас