🗑️DayZShop
DayZShop - это клиентский мод (можно использовать как серверный), отвечающий за внутриигровую корзину. Вы можете запаковывать его в свой модпак и подписывать своими ключами.
Установка
В полученном архиве вы увидите:
Папку MagicByte, в которой будет находиться ключ лицензии. Её нужно перенести в директорию профиля (profiles, но может отличаться). Если у вас в директории профиля уже существует папка MagicByte, тогда вам нужно перенести в вашу папку файл под названием DayZShop.idx. Это обязательно нужно сделать, иначе мод не будет работать.
Архив. В нем вы увидите папку DayZShop. В этой папке находится сам мод. Установите PBO как клиентскую часть. В архиве также будет папка DZS - она содержит конфиги мода. Необходимо всю папку перенести в директорию профиля (обычно profiles), а затем настроить конфиг мода.
Настройка конфига
Для настройки конфига мода открываем файл config.json.

Нужно обязательно настроить значения в server_url и api_token.
Кавычки в файле обязательны в соответствующих местах, не удаляйте их.
В строчке server_url указывается ссылка, нужная для работы мода. Вам нужно заменить только premium.dayzplay.ru на Ваш домен.
В строчке api_token указывается токен, нужный для работы мода. Вам нужно заменить token на api-токен сервера, который Вы получаете из настроек сервера в админ-панели Вашего сайта.
В строчке EnableServerOnlyMode значение должно быть false, если Вы используете мод как клиентский, и true, если как серверный. Если перепутать значение, то у Вас будут баги на сервере.
В строчке AccentColor указывается цвет акцента (кнопок) в интерфейсе корзине. Вам нужно указать цвет в формате целочисленного представления.
Настройка локализации
В папке DZS можно найти файл local.loc. В нём можно отредактировать весь текст, который отображается модом. Про формат файла подробнее написано в статье о файлах локализации.
Добавление превью товаров
Рекомендуемое разрешение изображений превью: 200x130 или с аналогичным соотношением сторон (например, превью товаров с первого и второго шаблонов магазина).
Для добавления превью товара необходимо создать pbo, содержащее картинки с превью товаров. Ниже приведен пример этого процесса.
Устанавливаем и запускаем DayZ Tools из Steam.
Запускаем Workbench из DayZTools.
В настройках изменяем значение Source Data Directory на удобную папку. Перезапускаем Workbench.


Создаём новую папку в указанной в предыдущем шаге папке (назовём её "DayZShopImages" в примере, но название может быть любым).
Помещаем все изображения в созданную папку.
Рекомендуется все изображения предварительно конвертировать в PNG. При использовании других форматов изображения могут некорректно конвертироваться.
Выделяем все изображения с зажатым Shift, нажимаем ПКМ -> "Register resource and import".

Иногда Workbench может не преобразовать файл. В таком случае нужно выделить изображение, нажать ПКМ -> "Reimport resource".
Удаляем из папки оригинальные картинки, оставляя только EDDS-файлы.
Закрываем Workbench, открываем Addon Builder.
В Addon Builder в первой строке выбираем созданную в 4 шаге папку. Во второй строке выбираем любую удобную папку. Третью строку оставляем пустой. Нажимаем Pack.

В указанной в предыдущем пункте папке появится pbo-файл (в примере - DayZShopImages). Добавляем его в клиентский мод. Запоминаем название pbo. На сайте в поле "Изображение в игре" вводим "название_пбо/название_картинки.edds". Например, для картинки test.png из примера в поле необходимо было бы ввести "DayZShopImages/test.edds".
Система "Обмена"
Настройка конфига config_tradein.json
{ "options": [ { "id": "1", /// Уникальный id обмена "cooldown": 5, /// Кд между обменами, указывается в секундах "name": "Обмен фруктов", /// Название обмена, отображается в корзине. "reward": 500, /// Награда, сколько коинов получит игрок на сайте. "locations": [ /// Локации где будут доступен обмен, если вы хотите сделать его доступным, укажите радиус 15000 и координаты центра карты. { "radius": 15000, "pos": [ 7000, 34, 9300 ] } ], "items": [ { "health": 50, /// Здоровье предмета, больше 50% "count": 3, /// Кол-во предметов "quantity": 1, /// Заполняемость предмета "classname": "Pear" /// Сам предмет }, { "health": 50, "count": 3, "quantity": 1, "classname": "Apple" } ] }, { "id": "bazar_market2", "cooldown": 2000, "name": "Bazar Trade2", "reward": 600, "locations": [ { "radius": 400, "pos": [ 10589, 34, 2524 ] } ], "items": [ { "health": 50, "count": 3, "quantity": 1, "classname": "Pear" }, { "health": 50, "count": 3, "quantity": 1, "classname": "Apple" } ] } ], "enabled": true }
Last updated