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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://workshop-guide.magicbyte.ru/mods/dayzshop.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
