Skip to content

Latest commit

 

History

History
149 lines (99 loc) · 7.73 KB

configs.md

File metadata and controls

149 lines (99 loc) · 7.73 KB

Настройки

Основные моменты при настройке системы привилегий.

  • Ссылки на файлы
  • Главный файл
  • Проверки
  • Модули
  • Глобальные настройки модулей

ВАЖНО: Все конфиг-файлы должны соответствовать формату JSON. Допускаются комментарии вида /* comment */ или // comment.

Ссылки на файлы

В целях оптимизации и разбиения конфигов на отдельные файлы, некоторые элементы конфига могут быть заменены на ссылку вида "File:<path>/<file>".

  • <path> - путь до файла, относительно папки amxmodx/configs/plugins/VipModular/.
  • <file> - название .json файла без расширения.

При повторном обращении к файлу по ссылке, вместо чтения файла, на место ссылки будет подставлен обьект, прочитанный из этого файла в первый раз.

Главный файл

Основным файлом настроек является файл amxmodx/configs/plugins/VipModular/Vips.json.

Также, настройки привилегий можно хранить в нескольких файлах в папке amxmodx/configs/plugins/VipModular/Vips/. Название файла любое, главное - расширение .json. Структура та же.

Можно использовать любой из вариантов или оба сразу. Файл Vips.json читается в первую очередь, а какой-либо порядок чтения файлов из папки Vips не гарантируется.

Структура главного файла

[
    {
        "Access": [ /* ... */ ],
        "Modules": [ /* ... */ ]
    },
    { /* ... */ }
]

Корневой массив

Элементами корневого массива являются обьекты, содержащие поля Access и Modules.

Поле Access

Поле Access должно содержать одну или более проверок, привязанных к игроку.

Если проверка одна, она может быть указана как обьект, вместо массива.

Может являться ссылкой на файл. Как массив, так и элементы массива.

Поле Modules

Поле Modules содержит один или более модулей, которые будут выданы игроку, если он прошёл все проверки из поля Access.

Если модуль один, он может быть указан как обьект, вместо массива.

Может являться ссылкой на файл. Как массив, так и элементы массива.

Проверки

Список доступных типов проверок может быть расширен специальными плагинами-расширениями с приставкой L.

Типы проверок деляться на две подгруппы: Привязанные к игрокам и свободные.

  • Проверки, привязанные к игрокам не могут быть использованы в конфигах, не применяемых к игрокам, например, в глобальных настройках модулей.
  • Свободные проверки могут использоваться в любых списках проверок.

Структура обьекта проверки

{
    "Limit": "<LimitTypeName>",

    "<Param1>": "",
    /* ... */
    "<ParamN>": []
}
  • <LimitTypeName> - название типа проверки. Определяется плагином-расширением, регистрирующим тип проверки.
  • <ParamX> - какой-либо параметр проверки. Названия и типы параметров определяются плагином-расширением, добавляющим тип проверки.

Модули

Проверки - обьект, выдаваемый игроку и выполняющий при этом некоторые действия, определённые плагином-расширением.

Список доступных модулей может быть расширен специальными плагинами-расширениями с приставкой M.

Структура обьекта модуля

{
    "Module": "<ModuleName>",

    "<Param1>": "",
    /* ... */
    "<ParamN>": []
}
  • <ModuleName> - название модуля. Определяется плагином-расширением, регистрирующим модуль.
  • <ParamX> - какой-либо параметр модуля. Названия и типы параметров определяются плагином-расширением, добавляющим модуль.

Настройка активности модулей

За настройку активации модулей отвечает плагин VipM-ModulesLimiter. Если данные настройки не используются, его можно отключить, в таком случае все модули всегда будут активны.

Файл настроек активности модулей: amxmodx/configs/plugins/VipModular/Modules.json.

Структура файла настройки активности модулей

[
    {
        "Modules": [ /* ... */ ],
        "Limits": [ /* ... */ ]
    },
    { /* ... */ }
]
  • Modules - список названий модулей, к которым будут применяться ограничения.
  • Limits - ограничения, применяемые для активации модуля.

Принцип работы

Попытка активации всех используемых модулей запускается после полной загрузки системы привилегий.

Если хоть одно ограничение из поля Limits выполняется, модули из поля Modules будут активны. Если модуль не упоминается в этом файле, он будет активен всегда.

Активируются только те модули, которые хотя бы раз встречаются в настройках привилегий.

Типы параметров

Тип E_ParamType Описание
Integer ptInteger Целое число
Float ptFloat Дробное число
Bool ptBoolean true/false
String ptString Строка
Color ptColor Цвет (Массив из трёх целых чисел)
Vector2 ptVector2 Двумерный вектор (Массив из двух дробных чисел)
Vector3 ptVector3 Трёхмерный вектор (Массив из трёх дробных чисел)
Limit ptLimit Одна проверка
Limits ptLimits Массив проверок
Custom ptCustom Сложный тип, зависит от модуля, использующего его