> For the complete documentation index, see [llms.txt](https://workshop-guide.magicbyte.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://workshop-guide.magicbyte.ru/mods/dayzshop.md).

# DayZShop

**DayZShop** - это клиентский мод (можно использовать как серверный), отвечающий за внутриигровую корзину. Вы можете запаковывать его в свой модпак и подписывать своими ключами.

## Установка

В полученном архиве вы увидите:

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

## Настройка конфига

Для настройки конфига мода открываем файл **config.json**.

<figure><img src="/files/KMIZoubYKtUOkacBw9hB" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Нужно обязательно настроить значения в server\_url и api\_token.
{% endhint %}

{% hint style="warning" %}
Кавычки в файле обязательны в соответствующих местах, не удаляйте их.
{% endhint %}

В строчке server\_url указывается ссылка, нужная для работы мода. Вам нужно заменить **только** premium.dayzplay.ru на Ваш домен.

В строчке api\_token указывается токен, нужный для работы мода. Вам нужно заменить token на api-токен сервера, который Вы получаете из настроек сервера в админ-панели Вашего сайта.

В строчке EnableServerOnlyMode значение должно быть false, если Вы используете мод как клиентский, и true, если как серверный. **Если перепутать значение, то у Вас будут баги на сервере.**

В строчке AccentColor указывается цвет акцента (кнопок) в интерфейсе корзине. Вам нужно указать цвет в формате [целочисленного представления](/mods/formaty-cvetov.md#celochislennoe-predstavlenie).

## Настройка локализации

В папке DZS можно найти файл local.loc. В нём можно отредактировать весь текст, который отображается модом. Про формат файла подробнее написано в [статье о файлах локализации](/mods/redaktirovanie-failov-lokalizacii.md).

## Добавление превью товаров

{% hint style="danger" %}
Рекомендуемое разрешение изображений превью: 200x130 или с аналогичным соотношением сторон (например, превью товаров с первого и второго шаблонов магазина).
{% endhint %}

{% hint style="info" %}
Кратко: в поле "Изображение в игре" необходимо указывать путь до изображения в VFS (виртуальной файловой системе) игры.
{% endhint %}

Для добавления превью товара необходимо создать pbo, содержащее картинки с превью товаров. Ниже приведен пример этого процесса.

{% hint style="info" %}
Пункты 1-3 описывают настройку Workbench. Если у Вас уже установлен и настроен Workbench, можно начать с пункта 4.
{% endhint %}

1. Устанавливаем и запускаем DayZ Tools из Steam.
2. Запускаем Workbench из DayZTools.
3. В настройках изменяем значение Source Data Directory на удобную папку. Перезапускаем Workbench.<br>

<figure><img src="/files/UtiBuwp2bspmmRo2RKVa" alt=""><figcaption><p>Options - настройки</p></figcaption></figure>

<figure><img src="/files/Y67HXV7JsDmILLR0Pc9r" alt=""><figcaption><p>Source data directory</p></figcaption></figure>

4. Создаём новую папку в указанной в предыдущем шаге папке (назовём её "DayZShopImages" в примере, но название может быть любым).
5. Помещаем все изображения в созданную папку.

{% hint style="warning" %}
Рекомендуется все изображения предварительно конвертировать в PNG. При использовании других форматов изображения могут некорректно конвертироваться.
{% endhint %}

6. Выделяем все изображения с зажатым Shift, нажимаем ПКМ -> "Register resource and import".&#x20;

<figure><img src="/files/dhmOvIxCNXYhJrm3GNE4" alt=""><figcaption><p>Register resource and import</p></figcaption></figure>

{% hint style="warning" %}
Иногда Workbench может не преобразовать файл. В таком случае нужно выделить изображение, нажать ПКМ -> "Reimport resource".
{% endhint %}

7. Удаляем из папки оригинальные картинки, оставляя только EDDS-файлы.
8. Закрываем Workbench, открываем Addon Builder.
9. В Addon Builder в первой строке выбираем созданную в 4 шаге папку. Во второй строке выбираем любую удобную папку. **Третью строку оставляем пустой.** Нажимаем Pack.

<figure><img src="/files/XzPYy7itkJGG6vgBE5rY" alt=""><figcaption><p>Addon Builder</p></figcaption></figure>

10. В указанной в предыдущем пункте папке появится pbo-файл (в примере - DayZShopImages). Добавляем его в клиентский мод. Запоминаем название pbo. На сайте в поле "Изображение в игре" вводим "название\_пбо/названи&#x435;*\_*&#x43A;артинки.edds". Например, для картинки test.png из примера в поле необходимо было бы ввести "DayZShopImages/test.edds".

## Система "Обмена"

Настройка конфига config\_tradein.json

> ```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
> }
> ```
