DayZtypes.xmlлутэкономикаRP

DayZ types.xml: экономика лута без лишней магии

Настройка сервера / Todtleben / 1 просмотров

DayZ types.xml: экономика лута без лишней магии

Если коротко: types.xml отвечает за то, какие предметы появляются на карте, сколько их должно быть и по каким правилам сервер их пересоздает.

Это один из тех файлов, который все трогают, но не все понимают. А потом начинается классика: еды нет, автоматов слишком много, гвозди пропали, палатки не появляются, а в логах тишина.

Где лежит файл

mpmissions/dayzOffline.chernarusplus/db/types.xml

На других картах путь будет такой же, но папка миссии может называться иначе.

Пример записи предмета

<type name="NailBox">
    <nominal>70</nominal>
    <lifetime>14400</lifetime>
    <restock>0</restock>
    <min>35</min>
    <quantmin>-1</quantmin>
    <quantmax>-1</quantmax>
    <cost>100</cost>
    <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    <category name="tools"/>
    <usage name="Industrial"/>
</type>

nominal

Сколько предметов экономика хочет держать на карте.

Если nominal стоит 70, это не значит, что игрок прямо сейчас найдет 70 коробок гвоздей. Это цель экономики, а не гарантия.

min

Минимальное количество. Когда предметов становится меньше этого значения, экономика начинает пытаться восполнить спавн.

lifetime

Сколько предмет живет в мире, если его никто не трогает.

Пример:

<lifetime>14400</lifetime>

Это 4 часа.

restock

Задержка перед повторным спавном. Часто оставляют 0, но на редких предметах можно делать задержку.

quantmin и quantmax

Количество внутри предмета. Например, сколько воды в бутылке или сколько процентов еды.

<quantmin>20</quantmin>
<quantmax>80</quantmax>

Если предмет не имеет количества, ставят -1.

flags

Вот тут многие ломают баланс.

count_in_map="1" - считать предметы, лежащие на карте.
count_in_player="1" - считать предметы у игроков.
count_in_cargo="1" - считать предметы внутри контейнеров, машин, ящиков.
count_in_hoarder="1" - считать предметы в хранилищах.
crafted="1" - предмет крафтовый.
deloot="1" - динамический/ивентовый лут.

Если поставить счет в игроках и хранилищах, редкий предмет может перестать появляться, потому что сервер видит: “он уже есть у людей”.

category, usage, value

category - тип предмета: оружие, одежда, еда, инструменты.
usage - где предмет может появляться: Industrial, Military, Farm, Town и так далее.
value - дополнительная зона ценности, если карта использует такие зоны.

Нужно ли настраивать types.xml на RP/AOD-сервере без спавна лута?

Да, но не всегда так, как на обычном survival-сервере.

Если у вас RP-сервер, где лут не должен спавниться на карте, а все выдается через админов, трейдеров, квесты, склады или экономику проекта, то types.xml все равно лучше привести в порядок.

Почему:

  • некоторые предметы могут продолжать появляться через стандартную экономику;
  • модовые предметы могут иметь свои типы;
  • события могут подтягивать предметы из экономики;
  • после обновления мода лут может внезапно вернуться;
  • проще контролировать сервер, когда все явно отключено.

Как отключать спавн предмета

Самый грубый вариант:

<nominal>0</nominal>
<min>0</min>

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

Как сделать почти весь лут выключенным

Для RP/AOD-подхода обычно делают так:

  1. Оставляют нужные технические предметы.
  2. Отключают весь обычный survival-лут через nominal 0 и min 0.
  3. Лут выдают через трейдера, админов, квесты, кастомные контейнеры или события.
  4. Проверяют, не спавнят ли предметы моды отдельно.

Важный момент

Не удаляйте все записи из types.xml без понимания. Лучше отключать через значения. Удаленный тип потом сложнее вернуть, а некоторые моды ожидают, что запись существует.

Мой совет

Для обычного сервера types.xml - это баланс.
Для RP-сервера без лута types.xml - это выключатель хаоса.

Если вы хотите, чтобы экономика была под контролем, не оставляйте этот файл “как-нибудь потом”. Потом обычно начинается самое интересное.

ответов: 0

Ответить

Ответов пока нет. Начните обсуждение.

Добавить ответ

Войдите, чтобы ответить в теме.