幻兽帕鲁
Palworld

Palworld

SCUM

7 Days To Die

Enshrouded

WindRose

HumanitZ

Don't Starve Together

SoulMask

Squad
Raft

Terraria

All Games
官方服务器教程及游戏常见问题
如何修改自定义物资节点 实现特定对象被检查后掉落的物品
本文档描述了《SCUM》中的修改自定义物资节点功能。自定义物资是通过创建和修改各种JSON文件来实现的。
熟悉JSON的基础知识是前提条件,因此如果您从未听说过JSON,只需要阅读下面说明,依据示例进行修改即可。
JSON文件在游戏启动时加载,任何后续的更改都可以通过:#ReloadLootCustomizationsAndResetSpawners 命令重新加载,以便快速测试修改内容。
ps:游戏对象并不一定需要使用节点来指定它们掉落的物品。它们可以直接引用物品,而不使用任何节点。
游戏中不同对象掉落物品的不同方式将在 生成器预设 部分中详细说明。
首先你需要获取服务器管理员权限,在「黑白名单」中「管理员列表 AdminUsers」输入 你的STEAM ID [SetGodMode] 保存即可。
参考文章: SCUM 如何设置管理员 https://gsshosting.com/knowledge/209
修改自定义物资节点步骤:
1. 导出游戏中的默认自定义物资节点,在游戏中输入指令:#ExportDefaultLootTree
执行此命令后,你将在以下文件夹中获得自定义物资节点:<Server>\SCUM\Saved\Config\WindowsServer\Loot\Nodes\Default
ItemLootTreeNodes 是游戏中所有自定义物资节点节点的根节点,会被导出到多个 JSON 文件中,每个文件包含节点的每个直接子节点的 JSON 数据。
这些子节点进一步细分了物品的类别和具体物品,形成了一个层次化的自定义物资节点结构。文件夹结构如下所示:

在你导出默认自定义物资节点之后,你还没有进行任何自定义。你只是得到了一个用于分析和修改的起点。
2. 在以下路径中创建一个名为 Override 的文件夹:
<Server>\SCUM\Saved\Config\WindowsServer\Loot\Nodes\

游戏会从 Override 文件夹中读取所有的自定义物资节点自定义设置。
在 Override 文件夹中创建自定义命名的json 文件,并将默认自定义物资节点的 JSON 文件复制粘贴到该文件目录中进行修改。
3. 参照默认自定义物资节点,在 Override 的文件夹中新建你的自定义物资节点-JSON文件
节点修改示例:
我们现在将完全自定义下图中绿皮垃圾桶掉落的物品作为演示。
我们的想法是让红色垃圾桶掉落饮料/食物。
饮料掉落的概率比食物更高。
当掉落饮料时,掉落的是水/啤酒,其中啤酒掉落更少;
当掉落食物时,掉落相等概率的苹果/香蕉。
为了实现上述目标,我们需要根据描述创建一个自定义物资节点的 JSON 文件。
{
"Name": "ItemLootTreeNodes",
"Children": [
{
"Name": "Trash",
"ChildrenMergeMode": "Replace",
"Children": [
{
"Name": "Drinks",
"Rarity": "Abundant",
"Children": [
{
"Name": "Water_05l",
"Rarity": "Abundant"
},
{
"Name": "Beer",
"Rarity": "Rare"
}
]
},
{
"Name": "Food",
"Rarity": "Common",
"Children": [
{
"Name": "Apple"
},
{
"Name": "Banana"
}
]
}
]
}
]
}
{
"名称": "物品战利品树节点",
"子节点": [
{
"名称": "垃圾",
"子节点合并模式": "替换",
"子节点": [
{
"名称": "饮料",
"稀有度": "丰富",
"子节点": [
{
"名称": "0.5 升水",
"稀有度": "丰富"
},
{
"名称": "啤酒",
"稀有度": "稀有"
}
]
},
{
"名称": "食物",
"稀有度": "常见",
"子节点": [
{
"名称": "苹果"
},
{
"名称": "香蕉"
}
]
}
]
}
]
}
ChildrenMergeMode 属性的作用是指导自定义物资系统如何合并具有相同 ID 的两个集合的子节点。
在默认自定义物资节点中,已经存在一个具有ID ItemLootTreeNodes.Trash 的集合,但它与我们正在创建的集合完全不同。
·"ChildrenMergeMode": "Replace", 完全替换:将默认集合的子节点完全替换为自定义集合的子节点。
·"ChildrenMergeMode": "UpdateOrAdd", 合并子节点:将子节点合并,使得结果集合中的子节点名称相同的会被更新,并且新的子节点会被添加。
上述我们为自定义集合选择了 替换"Replace",因为不会出现默认的自定义物资节点中包含的任何内容,只有水/啤酒/苹果/香蕉。
您可以使用 #ExportCurrentLootTree 命令查看实际作用的当前自定义物资节点,它会导出到命名为[Current]的文件夹中。
如果您没有任何自定义物资节点的自定义设置,那么当前自定义物资节点与默认自定义物资节点是相同的。
如何测试修改是否成功?
使用命令 #ReloadLootCustomizationsAndResetSpawners
这个命令会重新加载你放在 Override 文件夹中的自定义物资节点配置,并重置所有检查生成器的冷却时间,让你能够立即看到修改后的掉落效果。
