AutoDonate Guide
  • Поддерживаемые игры
    • Процесс подключение/оплаты сайта
  • ⚠️Карта первый действий
    • ⚠️Первые действия после получения доступа к сайту.
  • Настройки
    • 📈Центр статистике
    • 🔖Боевой пропуск
      • 📃Типы заданий
      • 🎁Типы наград
      • ❓F.A.Q
    • ⚙️Общие
      • 📈SEO Настройки
      • 🔒Настройки конфиденциальности
      • 😎Настройки интеграции
      • 🥳Праздничные настройки
      • 🛍️Взаимодействия с товарами
      • 👨‍👦Система приглашений
      • 🏆Бонусу
      • 🧑‍🔧Другие настройки
    • ☎️Уведомление
    • 🖌️Шаблоны дизайна
      • 1️⃣Новый шаблон
      • 2️⃣Новый шаблон #2
      • 3️⃣Новый шаблон #3
    • 🖇️Виджеты
    • 💰Способы пополнений
    • ⚒️Мастерская
  • Магазин
    • ⚙️Сервера
      • 🍩Интеграции с другими сервисами
      • 🔧Настройки FTP
      • 📌Активный баннер
    • 📃Категории
    • 🏷️Товары
      • ☑️Выдача предметов
      • ☑️Вип проход
      • ☑️Вип сет
      • ☑️Рулетка
      • ☑️Вебхук
      • ☑️Рулетка по отыгранному времени
      • ☑️Рулетка через определенное время
      • ☑️Телепорт
      • ☑️Вариативный предмет
      • ☑️Настраиваемый предмет
      • ☑️Вариативный сет (DayZSetManager)
      • ☑️Сет (DayZSetManager)
      • ☑️Сет (DayZSetManager) + вип проход
      • ☑️Личный сундук PersonalChest
      • ☑️Сет (SpawnSelectionClient)
      • ☑️Увеличение лимита счета
      • ☑️Увеличение баланса счета
    • 👜Наборы
    • 🗃️Шаблоны товаров
    • 🤩Игровые события
    • 💳Покупки
    • ☑️Покупки наборов
    • 💸Платежи
    • 👤Пользователи
    • 👀Логирование
  • Другое
    • 🎙️Новости
    • 🎁Промокоды
    • 🎁Баланс промокоды
    • 👥Сотрудники
    • 💷Дополнительные услуги
    • ⚙️Настройка FTP
    • 🆘F.A.Q
    • 🎰Игровые события
Powered by GitBook
On this page
  1. Магазин
  2. Товары

Выдача предметов

PreviousТоварыNextВип проход

Last updated 10 months ago

Выдача предметов - обычные предметы, которые имеют класснеймы.

Куда выдавать - вы можете указать куда выдать предмет инвентарь или на землю. Если в инвентаре не будет места, мод проинформирует о данной ошибке.

Не пытайтесь положить машину в человека

className предмета - предмет который должен будет появится (соблюдайте регистры предмета)

Верхний и нижний регистр. Верхним регистром называют Заглавные буквы (большие буквы), которые мы набираем на клавиатуре с помощью клавиши Shift. Нижним регистром называются прописные буквы (маленькие буквы).

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

Количество (в стаке) - наполненность предмета.

Наполняемость имеют не только стаки предметов. Бинты, аккумуляторы, магазины - все эти предметы имеют наполняемость. Обычно, если у предмета есть полоска наполнения, то этот параметр отвечает за неё.

Если Вам нужно выдать полностью заполненный предмет, указывайте -1.

Если Вам нужно указать заполнения предмета в процентах, то указывайте заполнение как -процент/100 (например, чтобы выдать аккумулятор с 50% заряда, нужно указать -0.5).

Расстояние - расстояние между этим и предыдущим выданным на землю предметов (имеет значение только для выдаваемых на землю предметов).

Если Вы не хотите, чтобы игрока убила машина при ее появлении, укажите хотя бы 10 метров.

Чтобы выдать кучку предметов на расстоянии от игрока, укажите первому предмету нужное расстояние, а всем последующим - 0.

Повесить - какие класснеймы нужно "повесить" на предмет. Этого могут быть аттачменты или предметы, создаваемые в инвентаре. Если что-то "повесить" не получится, то выдача товара будет отменена.

Если вы хотите выдать полностью собранную машину, то в этом поле нужно указаться все детали, которые нужно повесить на неё. После указания детали нажимайте Enter.

Позиция в игре - вы можете указать позицию, в которой можно получить товара (их может быть несколько).

Указывается координата (точка) и радиус, в этом радиусе будет возможность получить данный товар.

Радиус вокруг точки не учитывает высоту.

Предполагалось что проекты хотели бы ограничить получение доната только на сейф зоне.

Можно сделать появление машин только на заправках.

К этой настройки вы можете привлечь свою фантазию.

Вид проверки для товаров, выдаваемых на землю - параметр определяет, каким образом мод проверяет, можно ли товар, выдаваемый на землю, создать в соответствующем месте:

  • Не проверять - мод не будет ничего проверять и всегда будет выдавать товары на землю.

  • Ландшафт - мод выдаст товар на землю, только если он будет выдан на ландшафт. Он не позволит, например, выдать товар на крыше дома или внутри дома.

  • Своя - мод будет использовать написанный Вами код, чтобы проверить, можно ли выдать товар на землю в указанном месте.

Мод проверяет место, в котором будет выдан предмет, а не в котором находится игрок. Это значит, что игрок вполне может получить товар на крыше и, если выдаваемый на землю предмет окажется на земле из-за параметра "расстояние", то товар будет успешно выдан.

Как настроить свою проверку?

Для создания своей проверки Вам необходимо создать свой мод, который будет интегрироваться с DayZShop с помощью шаблона слабых событий, предоставляемого MagicByteSharedLibrary. Разберём интеграцию мода на примере ниже.

Сначала необходимо в классе, который будет отвечать за обработку проверки, создать метод, отвечающий за событие проверки позиции. В этом методе Вы обрабатываете проверку. Если в указанной в событии позиции можно выдать товар на землю, то метод должен вернуть экземпляр MBSL_UnmanagedValue<bool>, содержащий значение true, иначе - значение false. Если метод вернёт null, то проверка будет считаться успешной (выдача товара будет разрешена). Сигнатура метода должна полностью совпадать с указанной ниже:

MBSL_UnmanagedValue<bool> DeferredGroundCheck(vector position)

Затем класс должен подписаться на событие DeferredGroundCheck в пространстве имён DayZShop через MBSL_EventSystem:

MBSL_EventSystem.Subscribe(this, "DeferredGroundCheck", "DayZShop");

Теперь при получении пользователем через корзину или код товара, эта функция будет вызвана для проверки позиции каждого из товаров, выдаваемых на землю.

ВАЖНО: Передаваемая позиция всегда находится на одной высоте с игроком. Из-за этого позиция может оказаться под землёй или в воздухе. Объект при этом будет создан с помощью метода GetGame().CreateObjectEx с флагом ECE_TRACE - т.е. он будет создан на земле/поверхности, если позиция под землёй или в воздухе.

Ниже представлен пример простого мода-интеграции для того, чтобы проверить, что высота переданной позиции не меньше 10:

modded class MissionServer
{
    protected ref ExampleGroundCheck m_ExampleGroundCheck;
    
    void MissionServer()
    {
        m_ExampleGroundCheck = new ExampleGroundCheck();
    }
}

class ExampleGroundCheck: Managed
{
    void ExampleGroundCheck()
    {
        MBSL_EventSystem.Subscribe(this, "DeferredGroundCheck", "DayZShop");
    }
    
    protected MBSL_UnmanagedValue<bool> DeferredGroundCheck(vector position)
    {
        return new MBSL_UnmanagedValue<bool>(position[1] >= 10);
    }
}

Если даже наша информация не помогла вам получить понимание как это работает. Вы можете использовать готовый шаблон товара и посмотреть его настройку.

🗃️Шаблоны товаров
🏷️
☑️
Page cover image