
PvPRates - 服务器端 PvP 缩放
调整专用服务器上的PvP伤害、护甲效果以及帕鲁对玩家的伤害。连接的客户端无需安装任何内容。此模组替换了较旧模组所依赖的ApplyDamageForHP钩子,而该钩子已在游戏版本0.6.0中被Pocketpair移除。
查看大图功能说明
PvPRates 可在专用服务器上调整玩家对战(PvP)的数值:
- PvP 伤害:玩家对彼此造成的伤害
- 护甲效果:玩家伤害中的护甲效能——调低数值可降低装备影响
- 武器威力:PvP 中的武器强度
- 帕鲁对玩家伤害
每项设置都是游戏原始数值的乘数,因此 1.0 表示完全保留原版数值。
本模组为 仅服务端 版本。连接的客户端无需安装此模组。
为何存在
大多数旧版 PvP 伤害模组通过挂钩以下函数来缩放伤害:
/Script/Pal.PalDamageReactionComponent:ApplyDamageForHP
并在回调中重写 DamageResult.Damage。
该 UFunction 已不复存在。 Pocketpair 在游戏版本 0.6.0 中移除了它,连同 PalDamageReactionComponent:ProcessDamage_ToServer。在 1.0 版本中,挂钩完全无法注册,UE4SS 启动时会记录错误,伤害缩放功能静默失效:
Tried to register a hook with Lua function 'RegisterHook' but no UFunction
with the specified name was found.
Function Name: /Script/Pal.PalDamageReactionComponent:ApplyDamageForHP
已在 v1.0.1.100619 版本通过运行时枚举类(UStruct:ForEachFunction)验证。PalDamageReactionComponent 上保留了 26 个函数(如 SlipDamage、PlayDamageReaction、MulticastDamageReact 等),但 ApplyDamageForHP 和 ApplyDamageForMP 均不存在。
1.0 版本转而将 PvP 缩放功能暴露为 BP_PalGameSetting_C 上的普通属性,本模组直接写入这些属性,无需挂钩伤害路径。
给其他模组作者的注意事项
- CDO 路径 /Script/Pal.Default__PalGameSetting 报告的 PlayerVsPlayer_DamageRate = 1.0。这不是 游戏实际使用的数值。实时 BP_PalGameSetting_C 实例保存的是真实值 0.3。请写入实例,而非 CDO。
- 1.0 版本测得的原始数值:PlayerVsPlayer_DamageRate 0.3、PlayerVsPlayer_DefensePower 0.25、PlayerVsPlayer_WeaponPower 1.0、PalToPlayerDamageRate 0.5。
- 在专用服务器上,ClientRestart 永远不会触发。请使用 ServerAcknowledgePossession,并为尚未有玩家加入的服务器设置定时回退机制。
- 模组会捕获每个原始数值一次,并始终基于该基线计算,因此多次触发不会导致数值积累。
安装方法
- 为《幻兽帕鲁》安装 UE4SS。
- 将 PvPRates 文件夹放入 Pal/Binaries/Win64/ue4ss/Mods/ 目录。
- 编辑 PvPRates/Scripts/config.lua 文件。
- 重启服务器。
在 Pal/Binaries/Win64/ue4ss/UE4SS.log 中确认成功:
[PvPRates] PlayerVsPlayer_DamageRate: 0.3000 -> 0.6000 (x2.0000)
[PvPRates] applied 4 setting(s) via NotifyOnNewObject
要求
仅需 UE4SS(幻兽帕鲁版本),无需其他依赖。
许可协议
MIT 许可。可随意拆分、重用,无需询问。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。