LBS(lua bone system)补丁

在使用 LBS 的二次元 Mod 时,偶尔会出现角色脸部变暗且无法恢复的情况(除非重启游戏或重新加载脚本),同时 REFramework 会报错。我尝试用 AI 修复了这个 Bug,经过测试,无论是高强度刷鱼,还是一整晚开荒过剧情、反复穿脱装备,都没有再出现黑脸无法恢复或REF报错的情况。

Bug 原因:

原脚本中 PlayerFace 变量存储的是一个 via.Transform 对象(对应游戏里角色的脸部骨骼节点)。

当角色切换装备、进出帐篷、读取存档或播放过场动画时,游戏会销毁旧的 Transform 对象并创建新的。

但 Lua 脚本里的 PlayerFace 变量没有更新,仍然指向已经被销毁的对象。

此后脚本调用 Face:get_GameObject() 时,Lua 尝试对一个已无效的 C++ 对象执行方法,导致 C++ 异常 Invoke threw an exception,脚本停止运行。

修复原理:

pcall 捕获异常

Face:get_GameObject() 放入 pcall 中执行。如果调用失败(因为对象已无效),pcall 会返回 false 和错误信息,脚本不会崩溃,而是直接跳过本次操作。

增加对象有效性预判

调用 pcall 前先用 sdk.is_managed_object(Face) 检查 Face 是否仍为有效的托管对象。如果检查不通过,直接返回,避免后续操作。


lua bone system N网链接:https://www.nexusmods.com/monsterhunterwilds/mods/2112?tab=files

附件
LBS1.41fix
免费
附件
赛博乞讨
1影响力
by 凉拌湖泽鱼 · 来自踩蘑菇PC端 更新于 2026-05-30
若有附件,打赏后可直接下载 赠人玫瑰 手留余香
默认
最新
1