
改进的键盘和鼠标控制
一个旨在改善部分键盘和鼠标控制的原生模组。
查看大图[size=5]最新更新 0.6.0(2024年10月12日)[/size]
飞镖游戏已新增鼠标支持,包括使用为鼠标专门设计的完全重制版小游戏设计选项!
[size=5]功能简介[/size]
本模组的目的是为《最终幻想7 重制版》糟糕的键鼠操作提供多项改进,特别是允许将移动和菜单方向绑定至同一按键(如 WASD)。以下是当前功能列表:
- 允许使用一组独立按键在战斗中切换当前控制的队员(内部称为“领队”),而非通过菜单键控制。
- 将地图操作改为鼠标控制,包括点击拖拽移动地图和滚轮缩放。
- 允许在摩托车小游戏中自定义按键。
- 新增一键慢走功能,模拟手柄摇杆轻推效果。
[size=5]安装方法[/size]
- 安装 Native Mod Loader
- 将
ff7-kbm-hook.dll放入NativeMods目录
视频教程:https://www.youtube.com/watch?v=sLDb_tu4TlI
[size=5]卸载方法[/size]
从 NativeMods 目录移除 ff7-kbm-hook.dll,并可删除游戏根目录下的 ff7-kbm-hook.toml 和 ff7-kbm-hook.log 文件。
[size=5]配置说明[/size]
首次安装并启动游戏后,配置文件 ff7-kbm-hook.toml 会自动生成在游戏根目录(与 NativeMods 目录同级,非内部)。如需重新生成,可重命名、移动或删除该文件,模组会自动创建新配置。
选项根据影响的功能分类,完整列表如下:
[font=Courier New][size=4][General][/size][/font]
ReloadKey(默认值:'f10')- 控制从磁盘重新加载配置文件的按键。
[font=Courier New][size=4][ChangeLeader][/size][/font]
EnableHook(默认值:true)- 是否覆盖切换队员(领队)的行为;设为false时以下选项均无效。PrevLeader(默认值:'left')- 切换至列表中上一名队员的按键。NextLeader(默认值:'right')- 切换至列表中下一名队员的按键。ZExperiment_DisableTimeStop(默认值:false)- 禁用切换领队时的“时间停止”效果。
[font=Courier New][size=4][Map][/size][/font]
EnableHook(默认值:true)- 是否将地图改为鼠标控制。LockMouse(默认值:true)- 是否将光标锁定在地图区域内,或允许光标自由移动。ZoomSensitivity(最小值:0(关闭),最大值:10,默认值:5)- 每次滚轮缩放的幅度;支持小数。
[font=Courier New][size=4][Movement][/size][/font]
EnableHook(默认值:true)- 是否启用移动相关修改。WalkKey(默认值:'ctrl')- 切换为慢走而非慢跑的按键。ToggleWalk(默认值:false)- 是否将 WalkKey 设为切换模式(而非按住)。
[font=Courier New][size=4][Motorcycle][/size][/font]
注:对于所有自定义按键绑定,可使用空字符串('')让模组使用原始按键设置。
EnableHook(默认值:true)- 是否启用摩托车小游戏修改。Accelerate(默认值:'w')- 新的加速键。Brake(默认值:'s')- 新的刹车键。AttackLeft(默认值:'lbutton')- 新的左侧攻击键。AttackRight(默认值:'rbutton')- 新的右侧攻击键。Guard(默认值:'')- 新的防御键。Special(默认值:'')- 新的特殊/独特攻击键。LongRange(默认值:'r')- 新的远程按键(按住后使特殊攻击变为远程)。
[font=Courier New][size=4][Darts][/size][/font]
注:以 Overhaul 开头的选项用于配置飞镖小游戏的“重制版”,即完全重新设计的操作方式,使鼠标操作更流畅公平。启用 Overhaul 后,MouseSensitivity 和 ReturnSpeed 将无效。
EnableHook(默认值:true)- 是否启用飞镖小游戏修改。MouseSensitivity(默认值:1)- 控制准星移动对鼠标移动的响应幅度。ReturnSpeed(默认值:1.8)- 准星返回原始位置的速度。1.8 是游戏默认手柄速度,但用于鼠标时可能过快,建议尝试较小值如1。Overhaul(默认值:false)- 启用飞镖小游戏完全重制版,准星控制类似拖拽弹簧;启用时手柄无法控制准星。Overhaul_Frequency(默认值:0.5)- 弹簧振荡频率;数值越小移动越慢,越大越难控制。Overhaul_Damping(默认值:10)- 弹簧阻尼强度;数值越大准星越容易控制。
[size=5]常见问题[/size]
[size=4]有效的按键名称有哪些?[/size]
源代码中的 Keyboard.cpp 列出了所有有效按键,且支持鼠标绑定。
[size=4]能否添加 X 功能?[/size]
除非是简单修改,否则可能不会添加,但您可以随时提出建议。如果我在游玩过程中发现烦人的问题,可能会花时间加入修复功能。但逆向工程极其耗时,若非我自己也需要,通常不会按请求添加功能。如果您已有特定键鼠优化的内存地址/代码补丁,并希望将其整合进模组,可以分享给我,我会评估是否容易添加。
已知想加入但尚未实现的功能:
- 当确认键和独特攻击键相同时,防止在 ATB 菜单中向其他角色下达指令时触发独特攻击。
- 为米德加线框地图添加鼠标或更优键盘控制(极低优先级)。
[size=4]是否开源?[/size]
是的。源代码托管于 GitHub:https://github.com/TheUnlocked/ff7r-kbm-hook。欢迎提交拉取请求。
[size=5]已知问题[/size]
- PrevLeader 和 NextLeader 按键同时会作为菜单左右导航键。这是因为模组通过模拟左右方向键按下实现切换。早期版本直接调用内部函数切换队员,但存在其他问题,当前方案更为稳定。
[size=5]鸣谢[/size]
感谢 gottyduke 的 DKUtil 库和 PluginTemplate 示例对本模组开发提供的巨大帮助。
感谢 Hydeny 提出添加慢走按键的建议。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。