服务器工具启动器服务器列表百科 登录 Discord 聊天 下载
百科目录

DayZ types.xml 字段详解

DayZ types.xml 每个字段的作用:nominal、min、lifetime、restock、数量、flags、类别、刷新地点和等级,附真实条目与常见修改。

types.xml 是 DayZ 中央经济系统作为战利品刷出的全部物品清单:每个物品类名一条记录,规定应存在多少件、在地上放多久、在哪里出现。服务器上“没有战利品”的问题,大多最终都要回到这个文件。

文件在哪里

每张地图在自己的任务文件夹里都有一份:切尔纳鲁斯是 mpmissions/dayzOffline.chernarusplus/db/types.xml,利沃尼亚是 dayzOffline.enoch,萨哈尔是 dayzOffline.sakhal。运行哪个任务由 serverDZ.cfg 中的 template 决定,所以要修改服务器实际启动的那个文件夹。

服务器只在启动时读取一次该文件,修改需重启后生效。

真实条目:切尔纳鲁斯的 M4-A1

当前游戏版本的原版条目,直接取自任务文件:

types.xml · 切尔纳鲁斯
<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 件为止。

什么算“在地图上”由 flags 决定。如果只有 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:经济系统要放置并追踪每一件,多出几万件物品的服务器会变慢。

每个物品的现成条目

物品数据库收录了每个物品在切尔纳鲁斯、利沃尼亚和萨哈尔的原版条目:武器、服装、食物、工具、载具等。物品带着什么一起刷新见 DayZ cfgspawnabletypes.xml:配件、货物与损坏,载具和坠机见 DayZ events.xml:载具、坠机与动物,类名本身汇总在 DayZ 物品类名(classname)大全。