Меню вики
types.xml в DayZ: все поля по порядку
Что делает каждое поле types.xml в DayZ: nominal, min, lifetime, restock, количество, флаги, категория, места и тиры. Живая запись и частые правки.
types.xml это список всего, что центральная экономика DayZ выдаёт как лут: по записи на каждый класс предмета, сколько копий должно быть, сколько они лежат на земле и где появляются. Почти любая история «на сервере пропал лут» заканчивается в этом файле.
Где лежит файл
У каждой карты своя копия в папке миссии: mpmissions/dayzOffline.chernarusplus/db/types.xml для Чернаруси, dayzOffline.enoch для Ливонии и dayzOffline.sakhal для Сахала. Какая миссия запускается, задаёт template в serverDZ.cfg, поэтому правьте ту папку, с которой реально стартует сервер.
Сервер читает файл один раз, при запуске. Правки вступают в силу после рестарта.
Живая запись: M4-A1 на Чернаруси
Ванильная запись текущей версии игры, прямо из файлов миссии:
<type name="M4A1">
<nominal>1</nominal>
<lifetime>7200</lifetime>
<restock>3600</restock>
<min>1</min>
<quantmin>30</quantmin>
<quantmax>80</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="weapons"/>
<usage name="ContaminatedArea"/>
</type>На странице каждого предмета в базе предметов есть такой же блок для каждой карты, с кнопкой копирования.
Все поля
| Поле | Что делает |
|---|---|
nominal | Сколько копий экономика старается держать на карте одновременно. |
min | Когда копий становится меньше этого числа, экономика снова начинает спавнить предмет, до nominal. |
lifetime | Сколько секунд нетронутый предмет лежит в мире до уборки. 3600 это час, 3888000 это 45 дней (так у строительства баз). |
restock | Сколько секунд экономика ждёт перед новым спавном, когда копий меньше min. 0 значит как можно скорее. |
quantmin, quantmax | Заполненность в процентах при появлении: патроны в магазине, вода в бутылке. -1 у предметов без количества. |
cost | Приоритет спавна, по умолчанию 100. Меняют почти никогда. |
flags | Какие копии идут в счёт nominal: count_in_map (лежат в мире), count_in_cargo (внутри других предметов), count_in_hoarder (в палатках, бочках и тайниках), count_in_player (в инвентарях). crafted="1": экономика его не спавнит никогда; deloot="1": его выдают только динамические события вроде крушений вертолётов. |
category | Категория лута: weapons, clothes, tools, food, containers, explosives. Список берётся из cfglimitsdefinition.xml. |
usage | Типы мест, где он появляется: Military, Police, Medic, Town, Village, Farm, Industrial, Hunting, Coast и другие, тоже из cfglimitsdefinition.xml. |
value | Тиры карты, от Tier1 у побережья до Tier4 в глубине карты. Предмет без value тирами не ограничен. |
tag | Куда предмет кладётся внутри здания: на пол, на полки или на землю. |
Как числа работают вместе
Возьмём предмет с nominal 10, min 5 и restock 1800. Пока на карте 5 копий и больше, ничего не происходит. Когда игроки разберут столько, что останется 4, экономика подождёт 30 минут и начнёт спавнить копии, пока их снова не станет 10.
Что считается «на карте», решают флаги. Если стоит только count_in_map, копии в рюкзаках и палатках не считаются, игроки могут копить предмет, а экономика продолжит выдавать новые. count_in_cargo и count_in_hoarder закрывают эту дыру.
lifetime важен только для предметов, которые лежат в мире: отсчёт начинается, когда предмет появился или его выбросили.
Частые правки
- Больше предмета: поднимайте nominal и min вместе, например до 10 и 6. При низком min рост nominal почти ничего не меняет: пополнение начинается только ниже min.
- Выключить предмет: поставьте nominal и min в 0. Запись остаётся, предмет перестаёт появляться.
- Только в военных местах: оставьте один
<usage name="Military"/>. - Только вдали от побережья: оставьте
<value name="Tier3"/>и<value name="Tier4"/>. - Предметы модов: держите их в своём файле, например
db/types_mymod.xml, и подключите его вcfgeconomycore.xml:<ce folder="db"><file name="types_mymod.xml" type="types"/></ce>. Обновления игры его не затрут.
Ошибки, которые ломают лут
- Одна сломанная строка, пропущенная кавычка или закрывающий тег, может заставить сервер отбросить весь файл, и лут перестанет появляться. После правки сразу смотрите лог сервера после рестарта.
- min больше nominal. Держите min не выше nominal.
- Правка не той папки миссии: сервер читает только ту, что указана в serverDZ.cfg.
- Ожидание изменений без рестарта.
- Огромный nominal у многих предметов сразу: экономике приходится раскладывать и отслеживать каждую копию, и сервер с десятками тысяч лишних предметов тормозит.
Готовые записи для каждого предмета
В базе предметов есть ванильная запись каждого предмета для Чернаруси, Ливонии и Сахала: Оружие, Одежда, Еда, Инструменты, Транспорт и остальное. С чем появляется предмет, задаёт cfgspawnabletypes.xml в DayZ: обвесы, груз и износ, машины и крушения описаны в events.xml в DayZ: машины, крушения и животные, а сами классы собраны в Классы предметов DayZ: полный список.
