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-подхода обычно делают так:
- Оставляют нужные технические предметы.
- Отключают весь обычный survival-лут через
nominal 0иmin 0. - Лут выдают через трейдера, админов, квесты, кастомные контейнеры или события.
- Проверяют, не спавнят ли предметы моды отдельно.
Важный момент
Не удаляйте все записи из types.xml без понимания. Лучше отключать через значения. Удаленный тип потом сложнее вернуть, а некоторые моды ожидают, что запись существует.
Мой совет
Для обычного сервера types.xml - это баланс.
Для RP-сервера без лута types.xml - это выключатель хаоса.
Если вы хотите, чтобы экономика была под контролем, не оставляйте этот файл “как-нибудь потом”. Потом обычно начинается самое интересное.