Custom Admin Menu - Создание меню админа Sourcemod - Помощь по игровым серверам - Моддинг Игр и Серверов Перейти к содержанию
Гость

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


 Поделиться

Рекомендуемые сообщения

Как создать меню админа в 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
Ссылка на комментарий
Поделиться на другие сайты

 Поделиться

Подписывайтесь на нас во Вконтакте!

×
×
  • Создать...
Искать в
  • Ещё...
Поиск контента, содержащего...
Поиск результатов в...

Напишите свой запрос, а Мы попробуем найти ответ!