在 DayZ 中增加战利品
types.xml 文件决定哪些 Vanilla 物品会生成、生成多少以及生成在哪些位置。本指南将说明如何调整 Vanilla 战利品,并将修改后的文件上传到服务器。
- FileZilla: https://filezilla-project.org/
重要:请在 FileZilla 中将传输模式设置为二进制。点击 传输 → 传输类型 → 二进制。 - WinSCP: https://winscp.net/eng/index.php
1. 下载 types.xml
你可以通过以下两种方式获取正确的 types.xml:
从 Bohemia Interactive 官方 GitHub 仓库下载文件。选择你的地图任务,然后打开
db文件夹。通过 Gameserver-FTP 下载服务器当前使用的文件。连接后,可以在当前任务中找到:
/mpmissions/<任务文件夹>/db/types.xml示例:
/mpmissions/dayzOffline.chernarusplus/db/types.xml/mpmissions/dayzOffline.enoch/db/types.xml
请始终使用服务器实际启动的任务中的 types.xml。修改前请先备份原始文件。
2. 调整 Vanilla 战利品
建议使用带语法高亮的编辑器进行修改,例如 Notepad++。
下面以修改 AK101 条目为例,将 nominal 的值从 4 增加到 8:
原始内容:
<type name="AK101">
<nominal>4</nominal>
<lifetime>28800</lifetime>
<restock>3600</restock>
<min>2</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="Military"/>
<value name="Tier3"/>
<value name="Tier4"/>
</type>
修改后:
<type name="AK101">
<nominal>8</nominal>
<lifetime>28800</lifetime>
<restock>3600</restock>
<min>2</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="Military"/>
<value name="Tier3"/>
<value name="Tier4"/>
</type>
这样会将 AK101 的目标数量从 4 增加到 8。实际数量可能会根据战利品位置、玩家数量和其他设置而有所不同。
重要设置
| 设置 | 说明 |
|---|---|
type | 确定生成哪种物品,例如 AK101。 |
nominal | Central Economy 目标生成的物品总数量。 |
lifetime | 物品通常可以在世界中存在的时间,单位为秒,之后会被移除。 |
restock | Central Economy 再次补充该物品前等待的时间,单位为秒。 |
min | 数量低于此值时,Central Economy 会尝试生成新的物品。 |
quantmin | 有数量的物品的最小填充百分比,例如弹匣或液体。没有数量的物品通常使用 -1。 |
quantmax | 有数量的物品的最大填充百分比。没有数量的物品通常使用 -1。 |
cost | 分配战利品时的优先级。较高的值可能会使物品优先生成。 |
flags | 决定哪些位置的物品会计入总数量。 |
↳ count_in_cargo | 车辆、背包和其他库存中的物品会被计入。 |
↳ count_in_hoarder | 容器、帐篷、桶和其他类似存储位置中的物品会被计入。 |
↳ count_in_map | 世界中的物品会被计入。 |
↳ count_in_player | 玩家库存中的物品会被计入。 |
↳ crafted | 表示通过制作获得、不会正常生成的物品。 |
↳ deloot | 表示特殊事件战利品,例如直升机坠毁点的战利品。 |
category | 将物品分配到某个类别,例如 weapons 或 clothes。 |
tag | 确定物品可以生成的战利品位置类型,例如 shelves 或 floor。 |
usage | 确定物品可以生成在哪些区域,例如 Military、Town 或 Village。 |
value | 确定区域或战利品等级,例如 Tier4。 |
只修改你确实想调整的值。同时注意物品名称的大小写以及有效的 XML 结构。
3. 上传 types.xml
停止服务器并等待它完全关闭。状态必须显示为 服务器未运行。
使用 FTP 程序连接到 Gameserver-FTP。点击 FTP 后,可以在 FTP 概览中找到登录信息。
连接后,你已经位于根目录
/。打开当前任务文件夹,然后打开其中的db子文件夹:/mpmissions/<任务文件夹>/db/示例:
/mpmissions/dayzOffline.chernarusplus/db//mpmissions/dayzOffline.enoch/db/将修改后的
types.xml上传到该文件夹,并确认替换现有文件。重新启动服务器。
修改后的 types.xml 会在服务器启动时加载。战利品的变化可能要到下一次生成或清理周期后才会完全显示。
4. 添加模组战利品
许多模组会提供自己的战利品条目,例如 types.xml 文件或 ServerFiles 文件夹中的文件。请先阅读模组作者的安装说明,确认需要哪些文件。
添加模组物品时,不需要替换整个 Vanilla types.xml 文件。你可以添加单独的文件,用于补充标准文件或修改个别条目。DayZ 可以通过 cfgeconomycore.xml 加载额外的 Central Economy 文件。
在任务文件夹中创建一个额外的文件夹,例如:
/mpmissions/dayzOffline.chernarusplus/custom/将模组提供的战利品条目复制到单独的文件中,例如
mod_types.xml,然后将它上传到该文件夹。如果模组已经提供了合适的文件,可以将其重命名。打开任务文件夹中的
cfgeconomycore.xml。在现有的<economycore>元素中添加以下内容,并保留文件中已有的其他内容:<ce folder="custom"> <file name="mod_types.xml" type="types" /> </ce>
重要:如果你修改了已有物品,该物品原来的 usage、tag 和 value 行也必须保留在你的文件中。否则,物品可能不会再出现在原来的位置。
- 将修改后的
cfgeconomycore.xml上传回任务文件夹,并重新启动服务器。
模组必须已经安装并启用。物品名称、类别、标签、使用区域和战利品等级必须与模组说明完全一致。如果模组还需要 cfgspawnabletypes.xml 或其他文件,也请按照模组的安装说明处理这些文件。
有关添加和覆盖 Central Economy 文件的更多技术信息,请参阅 DayZ 官方文档。