描述锁定目标修复(v1.1)是一个 REFramework Lua 脚本,用于修复游戏锁定目标时选错敌人的问题。
在原版游戏中,按下锁定键时,游戏常常会锁定你身后的敌人或距离很远的敌人,哪怕正前方就站着一个敌人。此脚本会在请求锁定的一瞬间检查游戏的选择并加以修正。它有两种模式:
- 智能模式(默认):如果游戏选中的目标明显不佳,会自动替换为镜头前方的最佳敌人。如果选中的目标已经合适,则不会改变。
- 筛选模式(“保持游戏优先级”):脚本绝不会重新排序任何目标。位于前方锥形范围内的选择将完全保持游戏原本选定的目标。位于锥形范围外的选择将被替换为锥形范围内最优的敌人;若范围内没有敌人,则锁定被阻止。
它不会改变视角、视野范围、敌人AI、伤害或你的操作,只决定锁定谁。
状态:实验性。请参阅“要求”下的“已知限制”。
安装说明1. 安装 REFramework(见“要求”部分)。
2. 将 onimusha_lockon_fix.lua 复制到(游戏文件夹)/reframework/autorun/ 中
3. 启动游戏。按 Insert 键打开 REFramework 菜单,然后打开 Script Generated UI > Onimusha lock-on fix。应显示“Hook active”。
4. 智能模式默认开启。如需使用过滤模式,请勾选“保持游戏优先级(仅按锥形过滤)”。
要卸载,请从reframework/autorun中删除onimusha_lockon_fix.lua。你也可以从reframework/data中删除onimusha_lockon_fix.json和onimusha_lockon_fix_log.json。
主要特性智能模式(默认)
- 仅考虑位于摄像机朝向正前方锥形范围内(默认每侧75度)且处于有效距离内(默认16米)的敌人。
- 按距离选取,并对偏离中心位置施加小幅惩罚。得分最低者胜出。
- 仅当游戏当前选中的目标在锥形/范围外,或明显比前方最佳敌人更差时,才替换游戏的选择(默认:差超过 2.5 米)。
- 若前方无人,则退回到6米内最近的敌人,但仅当系统选择的目标比该敌人远超过1米时。
过滤模式(“保持游戏优先级”)
- 锥形范围内的选取在任何距离下都不会改变。游戏自身的优先级保持不变。
- 锥形范围外的选择会被替换为锥形范围内的最佳敌人。
- 如果锥形范围内没有任何目标,锁定会被阻止(“Block lock-on when nothing is inside the cone”)。取消勾选后,游戏仍会进行锁定,或在6米内存在明显更近的敌人时锁定最近的敌人。
- 可选:“同时阻止锥形范围外的摇杆目标切换”(默认关闭)。
两种模式
- 选择替换目标时,跳过已禁用、隐藏、正在销毁以及(可检测到时)已死亡的敌人。
- 钩住锁定请求本身,而不是特定按钮。仅在请求锁定时运行。
- 如果游戏忽略了交换后的目标,脚本会再次询问。如果检查过程中出现任何问题,锁定状态保持不变,且绝不会被阻止。
- 可在游戏内调整(REFramework 菜单):启用、模式选项、最大范围、前方锥形区域、“若更差则替换游戏拾取”(智能模式)、“前方无目标:最近范围内”、偏离中心惩罚、决策日志。
- 可选的决策日志(reframework/data/onimusha_lockon_fix_log.json),用于错误报告。
要求- 鬼武者:剑之道(PC)。测试版本:1.0
- REFramework
- 无需其他模组。
兼容性: 代码审查发现与Proper 3rd Person Camera、Animation Cancel、Disable Chain Issen Camera和FOV Markers Fix均无重叠(钩子函数不同、配置文件独立、无共享全局变量)。
已知限制
- 实验性功能。它依赖于游戏锁定请求的工作方式,因此游戏更新可能会使其失效。- 过滤模式无法读取游戏的排名。当游戏的首选目标在锥形范围外时,由脚本选择替代目标(锥形范围内最近且最居中的目标)。锥形范围内的选择始终保留游戏原本的。- 格挡会取消游戏的锁定请求。如果锁定感觉不灵敏,请取消勾选“当锥形范围内无目标时阻止锁定”。- 如果情况没有变化,再次按下锁定键通常会得到相同的结果,直到你转动视角或敌人移动。- 格挡摇杆目标切换如果游戏自动切换到锥形范围外的敌人,可能会导致锁定停留在已死亡的敌人身上。这就是它默认关闭的原因。- 如果脚本无法判断敌人已死亡,可能会锁定到尸体上。- 在智能模式下,“正前方最近”可能会选择小敌人而非首领。请调高容差滑块或使用过滤模式。- 没有视线检查,因此可以选择墙后的敌人。