Найти в Дзене
Romgrafist

Как создать свои слоты под предметы в DayZ

В данном руководстве делюсь информацией о том как создать кастомные слоты для предметов в Dayz и сделать прикрепляемые предметы видимыми при вставке их в слот. Если кто не знаком с азами ➡️ как добавить слоты в модах Dayz ⬅️, милости просим. Приступим. Вся вакханалия со слотами будет для примера происходить на рюкзаке. Не судите люди строго, пожалей меня родня! 1. Предмету нужно имя слота Каждый предмет, который вы хотите поместить в слот, должен иметь название этого слота, в который он помещается. Я решил размещать на сумке 11 слотов для следующих предметов: Для каждого предмета нужно найти config.cpp и посмотреть: имеется ли у него свой слот, в который его можно поместить. Первые три имеют свои названия слотов в inventorySlot[]: поэтому для них не нужно прописывать свои имена слотов.💥 Буду использовать дефолтные, а остальным сейчас сделаем. 2. Как прописать предмету DayZ слот 2.1 Нужно найти класснейм предмета 👨‍🦯Идём в config.cpp ванильных файлов. В моём случае, для аптечки это
Оглавление

В данном руководстве делюсь информацией о том как создать кастомные слоты для предметов в Dayz и сделать прикрепляемые предметы видимыми при вставке их в слот. Если кто не знаком с азами ➡️ как добавить слоты в модах Dayz ⬅️, милости просим.

Приступим. Вся вакханалия со слотами будет для примера происходить на рюкзаке. Не судите люди строго, пожалей меня родня!

1. Предмету нужно имя слота

Каждый предмет, который вы хотите поместить в слот, должен иметь название этого слота, в который он помещается.

Я решил размещать на сумке 11 слотов для следующих предметов:

  • Кастрюля;
  • Тренога;
  • Нож;
  • Аптечка;
  • Удочка;
  • Газовая горелка (конфорка);
  • Топорик;
  • Средняя палатка;
  • Водонепроницаемая сумка;
  • Карта;
  • И компас.

Для каждого предмета нужно найти config.cpp и посмотреть: имеется ли у него свой слот, в который его можно поместить.

Первые три имеют свои названия слотов в inventorySlot[]:

  • CookingEquipment
  • CookingTripod
  • Knife

поэтому для них не нужно прописывать свои имена слотов.💥 Буду использовать дефолтные, а остальным сейчас сделаем.

2. Как прописать предмету DayZ слот

2.1 Нужно найти класснейм предмета

👨‍🦯Идём в config.cpp ванильных файлов. В моём случае, для аптечки это:

По адресу: DZ\gear\containers
По адресу: DZ\gear\containers

2.2 Добавить этому предмету имя слота

Теперь в config.cpp своего мода, в class cfgVehicles прописываю inventorySlot[] = {"имя_слота1", {имя_слота2}.....}; вот так:

-4

Теперь аптечку можно вставить в слот "RG_TB_SlotFirstAidKit". Только есть одна загвоздка на данный момент - такого слота не существует. Решим эту проблему.

3. Как создать свой слот в DayZ😲

В config.cpp своего мода, в class cfgSlots вписываем создаваемые слоты вот так:

-5

Обратите внимание, что class Slot_ИМЯ_СЛОТА1 и name = "ИМЯ_СЛОТА1"; должны СОВПАДАТЬ!

name = "имя_вашего_слота"

Используется для ссылки на этот слот. Он прописывается в inventorySlot предмета, который будет вставляться и в attachments предмету в который будет вставляться

В каком порядке пропишите, в таком и будут отображаться.
В каком порядке пропишите, в таком и будут отображаться.

displayName = "Название слота"

Можно писать всё, что угодно. Название отображается в игре, при наведении курсора на этот слот.

👻ghostIcon = "ссылка на иконку слота"

Указываете ссылку на иконку, которая будет отображаться на месте созданного слота. Есть много ванильных иконок, которые можно посмотреть по адресу: scripts\config.cpp class cfgSlots - они же и ванильные слоты, которые можно использовать. Можно создать свои иконки, но это тема другой статьи.🥴

4. Как сделать отображение предмета на вещи DayZ (Proxy или Прокси)

Или как говорят в нашем селе "Прокся́".

4.1 Размещаем визуально объект

Например, вешаем 💟аптечку на сумку. Нужно в Object Builder из Dayz Tools открыть модель сумки и сверху выбрать Create -> Proxy

-7

Дальше нажимаем Browse💨 и выбираем ванильную аптечку в файлах DayZ на диске 🧿P: (по умолчанию, если не меняли). Аптечка находится по адресу: \DZ\gear\containers\FirstAidKit.p3d

-8

Жмакаем OK. Появится треугольник в нулях.

-9

Чтобы понимать, что происходит и разместить прокси так как нам нужно, запускаем Buldozer. Вот и наша аптечка.👇

-10

Теперь перемещаем 🔀прокси в Object Builder, не закрывая Buldozer✔️, чтобы видеть👁️‍🗨️ перемещения аптечки в пространстве в реальном времени.

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

-11

Через минуту у меня получился вот такой результат.

-12

Добавляем ещё прокси на сумку аналогичным образом.

Если нужно, чтобы вешалось несколько одинаковых предметов на одну вещь, например, винтовок, тогда делается немного по-другому, но эта статья не об этом.🥴

4.2 Делаем отображение прокси в игре Dayz в коде

Открываем config.cpp нашего мода и в конце (обычно так делают) добавляем class CfgNonAIVehicles и пишем

-13

Поясню.

class ProxyP3DМОДЕЛЬ и

model = "\dz\gear\containers\P3DМОДЕЛЬ.p3d"

Выделенное жирным (или толстым?🙄) должно совпадать ОБЯЗАТЕЛЬНО!

scope = 2 отображение предмета, как и в конфиге обычной модели.

inventorySlot[] = {"ИМЯ_ВАШЕГО_СЛОТА"}; То имя, которое соответствует слоту. В моём случае это RG_TB_SlotFirstAidKit. То же самое имя, которое указывали в name при создании слота.

Вот и все хитрости.