这篇高阶教程讲解自定义商人配置、世界编辑器使用和自定义地图创建,适合有一定 MOD 开发基础的玩家。
自定义商人
商人配置文件
商人在 traders.xml 中配置:
<traders>
<trader type="traderJoel">
<property name="NPCType" value="trader"/>
<property name="Name" value="Joel"/>
<property name="POI" value="traderJoel_01"/>
<!-- 商人库存 -->
<property name="ItemList" value="traderGeneral"/>
<!-- 商人位置 -->
<property name="Position" value="1234,56,789"/>
<property name="Rotation" value="0,90,0"/>
</tr>
</traders>自定义商人库存
创建自定义库存列表:
<item_list name="myTraderStock">
<!-- 武器 -->
<item name="gunPistol" count="3"/>
<item name="gunShotgunPump" count="2"/>
<!-- 弹药 -->
<item name="ammo9mmBullet" count="100"/>
<!-- 材料 -->
<item name="resourceForgedIron" count="50"/>
<!-- 食物 -->
<item name="foodMeatStew" count="5"/>
</item_list>商人价格调整
通过 economy.xml 调整交易价格:
<economy>
<!-- 全局价格倍率 -->
<property name="TraderBuyMultiplier" value="1.5"/>
<property name="TraderSellMultiplier" value="0.5"/>
<!-- 特定物品价格 -->
<item name="gunPistol">
<property name="BuyPrice" value="3000"/>
<property name="SellPrice" value="1500"/>
</item>
</economy>自定义商人位置
在 traders.xml 中指定商人在世界中的位置:
<trader type="myCustomTrader">
<property name="POI" value="myTraderPOI"/>
<property name="Position" value="x,y,z"/>
<property name="Rotation" value="0,angle,0"/>
<!-- 商人外观 -->
<property name="EntityClass" value="traderJoel"/>
<!-- 商人交互 -->
<property name="InteractionType" value="trade"/>
</trader>世界编辑器
启动世界编辑器
在七日杀中按 Esc → Editor 或使用控制台命令:
# 开启编辑模式
debugmenu on
# 启动世界编辑器
openeditor
编辑器基本操作
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 选择 | 左键 | 选择方块/物体 |
| 放置 | 右键 | 放置方块/物体 |
| 删除 | Delete | 删除选中物体 |
| 移动 | 拖拽 | 移动物体位置 |
| 旋转 | R + 拖拽 | 旋转物体朝向 |
| 复制 | Ctrl+C | 复制选中内容 |
| 粘贴 | Ctrl+V | 粘贴内容 |
预制件操作
预制件(Prefab)是预先制作好的建筑模板:
# 预制件目录
Data/Prefabs/
# 导入预制件
1. 打开预制件管理器
2. 选择预制件文件
3. 放置到世界中
建筑转移
将一个世界的建筑转移到另一个世界:
# 1. 导出建筑
# 在源世界中选择建筑,导出为预制件
# 2. 导入建筑
# 在目标世界中导入预制件
# 3. 调整位置
# 使用世界编辑器调整建筑位置和朝向
自定义地图创建
地图生成参数
在 worldgenerator.xml 中配置:
<world>
<!-- 世界种子 -->
<property name="Seed" value="myCustomSeed"/>
<!-- 世界大小 -->
<property name="WorldSize" value="8192"/>
<!-- 生物群系配置 -->
<biomes>
<biome name="pine_forest" weight="0.3"/>
<biome name="desert" weight="0.25"/>
<biome name="snow" weight="0.25"/>
<biome name="wasteland" weight="0.2"/>
</biomes>
</world>自定义 POI
创建自定义兴趣点(Point of Interest):
<prefabs>
<prefab name="myCustomPOI">
<!-- POI 基础属性 -->
<property name="DifficultyTier" value="3"/>
<property name="Size" value="50,30,50"/>
<!-- POI 内容 -->
<property name="QuestTag" value="clear"/>
<property name="LootQuantity" value="10"/>
<property name="EnemyCount" value="15"/>
<!-- POI 位置 -->
<property name="Position" value="1000,50,2000"/>
</prefab>
</prefabs>地图坐标定位
找到联机地图中建筑的位置:
# 查看存档中的建筑位置
# 存档目录:7DaysToDie/Saves/
# 使用工具读取地图数据
# 或在游戏内使用控制台
debbie # 显示坐标
实操案例
案例1:创建自定义商人营地
- 在世界编辑器中创建一个小型营地
- 添加商人 NPC
- 配置商人库存和价格
- 测试交易功能
案例2:制作自定义任务地图
- 创建一个自定义 POI
- 设置任务目标(清除/搜刮/到达)
- 配置敌人刷新和战利品
- 在任务系统中关联 POI
案例3:设计血月防御工事
- 创建环形防御建筑
- 添加陷阱和炮塔位置
- 测试血月防守效果
- 优化防御布局
注意事项
- 备份存档:编辑前务必备份
- 版本兼容:确保编辑器版本与游戏版本一致
- 性能测试:大型自定义地图需要测试性能
- 发布规范:发布自定义地图时注明版本和依赖
参考来源
- 七日杀中文MOD网 自定义商人经验:https://www.7risha.com/89468.html
- 世界编辑器教程:https://www.7risha.com/52057.html
- 自定义地图创建:https://www.7risha.com/52382.html