
生物追逐控制
设置每个生物追逐你的距离和持续时间:最大追逐距离、放弃时间,以及视觉和听觉范围。Boss和驯服的动物除外,你可以单独放过特定生物。数值由服务器决定,管理员在游戏内修改。
查看大图MobChaseControl
全局设置怪物追击你的距离和时长。Boss 不受影响。
在我自己的服务器上,我最终对怪物要么追了几米就放弃、要么根据刷出时的设定追你半张地图这件事感到厌烦。有些模组会逐个改写生物属性,但我想要两个滑块控制一切——而且从服务器端设置,无需每个玩家都去改自己的配置。
设置
| 选项 | 含义 |
|---|---|
MaxChaseDistance |
怪物失去目标的距离(米)。-1 保留对应生物的原始值,0 表示无限。默认 60。 |
GiveUpTime |
未察觉到目标多少秒后放弃。原版为 30。-1 表示保持不变。 |
ViewRangeMultiplier |
所有怪物视野范围的倍率。1 = 原版。 |
HearRangeMultiplier |
听觉范围的倍率。 |
ExcludeBosses |
默认开启。Boss 保持其正常行为。 |
ExcludeTamed |
已驯服的动物不受影响,这样你的狼还能继续跟着你。 |
ExcludedPrefabs |
保持原样的单个生物列表,用逗号分隔,例如 Greydwarf,Neck,Boar |
更改立即生效,包括已经刷出的怪物。无需重启。
服务器与客户端
这点经常引起困惑,所以先说清楚:在 Valheim 中,生物 AI 是在当前拥有该生物的客户端上计算的,而不是在服务器上。因此每个玩家都必须安装该 DLL,否则怪物会根据附近是谁而表现出不同的行为。
数值仍然来自同一处。服务器将其配置发送给所有已连接的玩家,玩家本地文件被忽略,ConfigurationManager 中的字段被锁定。你只需维护服务器上的文件。
adminlist.txt 中的任何人都可以在游戏运行时通过 ConfigurationManager 更改变数值。更改会发送到服务器,服务器会自行验证发送者身份,将其保存到自己的配置中并分发给所有人。被拒绝的尝试会记录在日志中。
在单人游戏或作为主机时,你自己的文件照常生效。
安装
需要 BepInEx:
- 将
MobChaseControl.dll放入BepInEx\plugins\ - 启动一次,
BepInEx\config\flo.mobchasecontrol.cfg就会出现 - 调整数值
服务器上同样如此。并且记住:你的队友也需要该 DLL。
兼容性
挂接 MonsterAI.Awake,并通过 Transpiler 挂接 MonsterAI.UpdateTarget。按 Prefab 工作,而不是通过固定生物列表,因此内容模组的怪物会自动包含在内。
该模组会记住它上次为某个生物设置的值。如果之后另一个模组改动了同一个生物,它会放手,而不是在下次刷新时覆盖。这样应该能解决与调整特定生物视野或听觉的模组之间的冲突。
我在自己的专用服务器上与 50 多个模组一起运行。
已知限制
- 如果游戏补丁大幅重写追击逻辑,Transpiler 将找不到它的模式。这时日志中会出现一行记录,放弃时间保持 30 秒,其余部分继续工作。
- 其他模组有意修改的生物会被故意保持原样。
发现 Bug?请在评论中反馈,最好附上 LogOutput.log 中的相关片段。
在我自己的服务器上,我最终对怪物要么追了几步就放弃、要么根据刷出时的设定追你半张地图这件事感到厌烦。有些模组会逐个改写生物属性,但我想要两个滑块控制一切——而且从服务器端设置,无需每个玩家都去改自己的配置。
设置
| 选项 | 作用 |
|---|---|
MaxChaseDistance |
怪物放弃目标的距离(米)。-1 保留对应生物的原始值,0 表示无限。默认 60。 |
GiveUpTime |
未察觉到目标多少秒后放弃。原版为 30。-1 表示保持不变。 |
ViewRangeMultiplier |
所有怪物视野范围的倍率。1 为原版。 |
HearRangeMultiplier |
听觉范围的倍率。 |
ExcludeBosses |
默认开启。Boss 保持其正常行为。 |
ExcludeTamed |
已驯服的动物会被跳过,这样你的狼还能继续跟着你。 |
ExcludedPrefabs |
保持原样的生物列表,用逗号分隔,例如 Greydwarf,Neck,Boar |
更改立即生效,包括已经刷出的怪物。无需重启。
服务器与客户端
这点经常让人困惑,所以先说清楚:在 Valheim 中,生物 AI 是在当前拥有该生物的客户端上运行的,而不是在服务器上。因此每个玩家都必须安装该 DLL,否则怪物会根据附近是谁而表现出不同的行为。
数值仍然来自同一处。服务器将其配置发送给所有已连接的玩家,玩家本地文件被忽略,ConfigurationManager 中的字段被锁定。你只需维护服务器上的文件。
adminlist.txt 中的任何人都可以在游戏运行时通过 ConfigurationManager 更改变数值。更改会发送到服务器,服务器会自行验证发送者身份,将其保存到自己的配置中并分发给所有人。被拒绝的尝试会显示在日志中。
在单人游戏或本地作为主机时,你自己的文件照常生效。
安装
需要 BepInEx:
- 将
MobChaseControl.dll放入BepInEx\plugins\ - 启动一次,
BepInEx\config\flo.mobchasecontrol.cfg就会出现 - 调整数值
服务器上同样如此。并且记住:你的玩家也需要该 DLL。
兼容性
挂接 MonsterAI.Awake,并通过 Transpiler 挂接 MonsterAI.UpdateTarget。按 Prefab 工作,而不是通过硬编码的生物列表,因此内容模组的怪物会自动包含在内。
该模组会记住它上次写入某个生物的值。如果之后另一个模组改动了同一个生物,它会放手,而不是在下次刷新时覆盖。这样应该能解决与调整特定生物视野或听觉的模组之间的冲突。
我在自己的专用服务器上与 50 多个其他模组一起运行。
已知限制
- 如果游戏补丁重写追击逻辑,Transpiler 将找不到它的模式。你会在日志中看到一行记录,放弃时间保持 30 秒,其余部分继续工作。
- 其他模组有意修改的生物会被故意保持原样。
发现 Bug?请在评论中反馈,最好附上 LogOutput.log 中的相关部分。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。