Пакеты
Last updated
Last updated
Все пакеты лежат в папке packages/ в основной папке игры.
Каждый пакет находится в своей папке. Идентификатор пакета записан в файле .info.
Ресурсы пакета разделены по принципу использованию на две основные секции.
global
Ресурсы секции 'global' применяются один раз при запуске приложения и при включении/выключении пакетов в настройках игры.
В этой секции находятся ресурсы:
файлы интерфейса front-end
звуки,
музыка,
видео,
карты
scene
Ресурсы секции 'scene' применяются перед началом загрузки сцены, при создании новой сессии или в процессе подключения к сессии.
В пакетах поддерживается локализация. Локализируемые ресурсы размещаются в папках .lang/, где lang - код языка (обычно двухсимвольный).
Свойства пакета задаются параметрами в файле .info, который находится в корне папки пакета.
id
Уникальный идентификатор пакета. Если пакет является Steam DLC или Steam Workshop, то идентификатор назначается Steam. При создании пакета через интерфейс раздела "Настройки" уникальный идентификатор назначается автоматически. В других случаях рекомендуется использовать любой подходящий GUID-генератор (например, http://www.guidgen.com/).
legacy_id
Параметр id заменяется на legacy_id в процессе присвоения пакету Steam DlcId или WorkshopId. Значение параметра берется из параметра id. Таким образом, старые ссылки (например, save game) будут идентифицировать пакет
name
Название пакета. Не обязательный параметр. Если не задан, то в качестве названия берется папка, в которой лежит пакет. В случае Steam DLC игнорируется.
author
Автор пакета. Не обязательный параметр. Отображается в свойствах пакета.
order
Порядок в списке пакетов.
Значение параметра может быть как положительным, так и отрицательным. Влияет на порядок в списке, в котором пакеты отображаются в настройках. По умолчанию равен 0 и отображается самым верхним в списке пакетов.
default_disabled
Пакет по умолчанию будет отключен, пока игрок не активирует его в "Настройках игры". Если параметр не задан, то как только пакет будет установлен, он считается включенным.
hidden
Пакет не отображается в настройках. По умолчанию пакеты отображаются в настройках.
dependency <id пакета>
Зависимость от другого пакета. Блок с параметром dependency может быть использован многократно для создания множественных зависимостей. Пакеты применяются в том порядке, в котором записаны блоки.
incompatible <id пакета>
Указывает на несовместимость с пакетом. Игра будет отключать пакет с указанным id при активации пакета.
min_core_version <count> max_core_version <count>
Минимальная и максимальная версии игры, для которых поддерживается совместимость пакета. Если параметры не указаны, то соответствующая проверка отсутствует.
delete_global
Список виртуально удаляемых ресурсов при активации секции 'global'.
delete_scene
Список виртуально удаляемых ресурсов при активации секции 'scene'.
always_activate_scene
Всегда активировать секцию 'scene' этого пакета если активна секция 'global'. По умолчанию секция 'scene' активируется, если загружается карта, которая находится в секции 'global' этого пакета.
always_activate_global
Означает, что данный пакет изменяет глобальные игровые настройки (т.е. этот пакет будучи включенным всегда отмечается в списке при создании хоста, в сохранении игры и т.п.).
sign
Цифровая подпись.
Только для пакетов, выпущенных компанией Best Way.
Пакеты, имеющие такую подпись не допускают какой-либо модификации.
Если подпись не подтверждается, то пакет считается испорченным и не загружается.
token_count
Количество токенов, которые дает данный пакет.
Токены могут быть присвоены только пакетам, выпускаемым компанией Best Way.
token_sign
Цифровая подпись для токенов. Если подлинность не подтверждается, то токены игнорируются.
hash
Значение параметра hash позволяет предварительно определять, что содержимое пакета одинаковое у разных пользователей и на сервере при игре совместно.
Значение параметра hash автоматически обновляется при публикации в пакета в Workshop
obsolete
Позволяет скрыть ресурсы пакета (объекты и текстуры) в списках доступных ресурсов в редакторе.
client_only
Содержимое пакета доступно только на клиенте, не подгружается на сервер и не влияет на игровой процесс.
Если один и тот же ресурс модицифируется больше, чем одним пакетом, возникает конфликт.
Разрешение конфликтов происходит благодаря заданию нужной последовательности подключения пакетов с помощью блоков с параметром dependency.
Результат модификации ресурсов зависит от того, в каком порядке будут применяться пакеты.
{order -100}
опустить пакет ниже в списке пакетов на 100 пунктов
{order +4000}
поднять пакет выше в списке пакетов на 4000 пунктов
{default_disabled}
состояние по умолчанию "отключен"
то же самое, что и {default_disabled 1}
{hidden 0}
пакет отображается в списке пакетов
{hidden}
пакет не отображается в списке пакетов
то же самое, что и
{hidden 1}
{dependency "b86c6020-9b25-4659-bcdf-53b12715a0a1"}
пакет зависит от пакета с id "b86c6020-9b25-4659-bcdf-53b12715a0a1"
{delete_global "/map/single/2-fra" "/video/menu.avi"}
при загрузке секции global игнорировать папку /map/single/2-fra и файл /video/menu.avi
{delete_scene "/entity/service/flag"}
при загрузке секции scene игнорировать объект flag из папки /entity/service/