命中闪光

命中闪光

命中在你身上结算的瞬间,屏幕边缘闪光:红色=你损失了HP,黄色=被格挡、精准防御或通过无敌帧闪避。0.1秒硬切,无渐变。学习攻击窗口的最轻量方式。只读,单文件。

[center]
[size=6][b]HITFLASH[/b][/size]
[size=3][color=#ff5b4d]命中时红色[/color]。未命中时[color=#ffd10d]黄色[/color]。[/size]
[size=2][color=#9e9e9e]最轻量的方式,精确了解怪物的攻击何时命中你。[/color][/size][/center]

[line]

[size=5][color=#ff5b4d][b]为什么要做这个[/b][/color][/size]

在《荒野》中,大多数武器的成败都系于[b]一个窗口[/b]:那几个你在已经逼近的攻击中反击、防御点、翻滚穿过或打出终结技的帧。时机对了,你就能免费惩罚。时机错了,你就得挨打。

问题在于,[b]游戏不会告诉你到底是哪一种结果。[/b]

战斗中——粒子特效、镜头抖动、怪物身体占据半个屏幕、你自己的动作还在播放——[i]“我完美格挡了”[/i]和[i]“我还是吃了 40 点伤害”[/i]之间的区别几乎无法分辨。血条只动了一点。某处闪了一下。你移开视线一秒,就什么也没学到。

所以你无法反复练习时机,因为你看不到结果。

[size=4][b]HitFlash 补上了这个反馈闭环。[/b][/size]
攻击对你产生判定的瞬间,屏幕边缘就会给出答案:

[list]
[][color=#ff5b4d][b]红色边缘[/b][/color] —— [b]你损失了 HP。[/b]那次攻击打穿了。你的时机错了,或者你根本没在防御。[/]
[][color=#ffd10d][b]黄色边缘[/b][/color] —— [b]它命中了你,但你毫发无伤。[/b]格挡、防御点、无敌帧、伤害无效化。你的窗口是正确的。[/]
[/list]
两者都持续 [b]0.1 秒[/b]且无淡出——是硬朗、不会认错的切断,而不是你在盯着怪物时可能错过的柔和光晕。你不用再在每次交锋后猜测,而是开始[b]看到[/b]自己的时机是否正确。

[quote][color=#9e9e9e]如果你只想了解[b]自己何时被打中[/b]——不是判定框体积,不是帧数据覆盖层,不是各部位伤害拆解——这就是能做到这一点的最轻量工具。一个 Lua 文件,无依赖,无需配置即可上手。[/color][/quote]
[line]

[size=5][color=#4dd0e1][b]它不是什么[/b][/color][/size]

[b]严格只读。[/b]它从不改变伤害,从不吞掉事件,从不触碰无敌帧,从不改变游戏平衡。它安装的每个钩子都不向游戏返回任何内容,因此原始逻辑完全按原样运行。它只观察,只绘制。仅此而已。

[list]
[][color=#66bb6a][b]✓[/b][/color] 除 REFramework 外无依赖——一个文件[/]
[][color=#66bb6a][b]✓[/b][/color] 单人及多人均可使用——只有[i]你[/i]的受击会闪烁[/]
[][color=#66bb6a][b]✓[/b][/color] REFramework 菜单关闭时也可见[/]
[][color=#66bb6a][b]✓[/b][/color] 不会导致不同步、损坏存档或影响任务[/]
[/list]
[line]

[size=5][color=#4dd0e1][b]前置要求[/b][/color][/size]
[list]
[][url=https://www.nexusmods.com/monsterhunterwilds/mods/93][b]REFramework[/b][/url](较新版本)[/]
[]Monster Hunter Wilds——已在 [b]v1.042.00.00[/b] 上测试[/]
[/list]
[size=5][color=#4dd0e1][b]安装[/b][/color][/size]
解压到 [b]Monster Hunter Wilds\GAME[/b]:
[code]GAME\
├─ reframework\
│ └─ autorun\
│ └─ HitFlash.lua
└─ MonsterHunterWilds.exe[/code]启动游戏。它会自行加载——[b]无需启用任何东西[/b]。Vortex 和模组管理器可正常安装该压缩包。

[quote][color=#9e9e9e]卸载:删除 [b]reframework\autorun\HitFlash.lua[/b](可选删除保存你设置的 [b]reframework\data\HitFlash_config.json[/b])。[/color][/quote]
[line]

[size=5][color=#4dd0e1][b]设置[/b][/color][/size]
按 [b]Insert[/b] → [b]Script Generated UI[/b] → [b]HitFlash[/b]。所有设置都会在会话之间保留。

[b]开箱默认:[/b]
[list]
[][color=#ff5b4d]红色[/color] / [color=#ffd10d]黄色[/color]边缘持续时间——[b]6 帧(60 fps 下 0.1 秒)[/b][/]
[]边缘厚度 [b]160 px[/b],带有 [b]8 层空间渐变[/b]从屏幕边缘向内淡出[/]
[][b]无淡出[/b]——强度恒定,计时器到期的瞬间立即消失。开启[i]淡出[/i]可获得柔和尾迹[/]
[][b]伤害数字[/b]——开启:内置像素字体的白色数字带黑色描边,位于左上角 HUD 血条[b]下方[/b]因此永不遮挡它们,显示 [b]2 秒[/b][/]
[]全屏色调和中心标记——关闭[/]
[/list]
[b]调节选项:[/b]
[list]
[][i]红 / 黄持续时间[/i]——3–180 和 2–120 帧[/]
[][i]判定窗口[/i]——一次命中在未损失 HP 的情况下可停留多少帧才计为格挡(1–30,默认 6)[/]
[][i]边缘厚度 / 渐变层数 / 外缘不透明度[/i]——20–400 px、1–24 层、0–1 alpha[/]
[][i]数字像素大小[/i]——2–16,外加[i]描边[/i]开关[/]
[][color=#ffb300][b]定位辅助[/b][/color]——将数字永久固定在屏幕上,让你[b]不用挨任何一下[/b]就能与 HUD 对齐。对齐后取消勾选[/]
[][i]测试按钮[/i]——按需触发每种光晕,让你不用去找怪物站在面前就能验证它是否工作[/]
[/list]
[line]

[size=5][color=#4dd0e1][b]它如何判断[/b][/color][/size]
[list]
[]它钩住场上每位猎人的逐帧更新,并识别哪一个是[b]你[/b]——因此队友、你的随从猫和你的刺影永远不会触发你的闪烁。[/]
[]你的 HP 每帧从引擎自身的生命值管理器读取。下降意味着[color=#ff5b4d]红色[/color]。[/]
[]另外它监听你角色身上的游戏命中事件。如果命中事件触发而 HP 在判定窗口内没有变化,那就是格挡或无效化命中——[color=#ffd10d]黄色[/color]。[/]
[]如果 HP 下降[i]且[/i]命中事件触发,你只会得到[color=#ff5b4d]红色[/color]。绝不会有双重闪烁。[/]
[/list]
[quote][color=#9e9e9e]一次干净的闪避保持[b]静默[/b]——游戏没有派发命中事件。这是有意为之:[b]什么都没有[/b]意味着“未被触碰”,[color=#ffd10d]黄色[/color]意味着“被触碰但什么都没打穿”,[color=#ff5b4d]红色[/color]意味着“它命中了”。[/color][/quote]
[line]

[size=5][color=#ab47bc][b]如果看起来什么都没发生——先读面板[/b][/color][/size]
面板带有一个自检区块,会指出具体是哪个环节失败,而不是默默失败:

[code]本地猎人 OK HP 137.95 / 150 来源 HealthMgr.get_Health
红 12 黄 3 受击事件 本地 12 / 共 15 帧 4810 数字 96 格 @29,130
屏幕尺寸 1920x1080 颜色模式 u32
app.HunterCharacter:doUpdateEnd -> 已挂钩[/code]
[list]
[][b]本地猎人 未发现[/b]——你的猎人还不在狩猎中,或者游戏更新重命名了更新函数[/]
[][b]HP nil[/b]——你游戏版本上的生命值字段布局不同[/]
[][b]受击事件 … 共 0[/b]——命中事件没有到达模组,因此黄色无法触发([color=#ff5b4d]红色[/color]仍然有效)[/]
[][b]数字 N 格[/b]在增长但你看不到它——读取旁边打印的 [b]@x,y[/b] 锚点,并使用定位辅助来对齐[/]
[][b]屏幕尺寸 读取失败[/b]——模组无法读取你的分辨率,因此什么都无法绘制[/]
[][b]绘制失败: / 钩子报错:[/b]——将该行原样粘贴到评论中,即可一次修复[/]
[/list]
[line]

[size=5][color=#9e9e9e][b]须知[/b][/color][/size]
[list]
[][b]计时以游戏帧计算,而非秒。[/b]默认值按 60 fps 校准——在更高帧率下请按喜好调大持续时间滑块。[/]
[]首次启动时 [b]re2_framework_log.txt[/b] 会包含一行吓人的内容:[i][JSON] Failed to load file HitFlash_config.json … unexpected end of input[/i]。那是 REFramework 对设置文件尚不存在时的反应。无害且不可避免;模组会回退到默认值。[/]
[]只追踪猎人——你的随从猫被命中会刻意保持静默。[/]
[]多人游戏中,来自模组无法归属来源的罕见误报黄色是可能的;每个信号都先经过地址过滤,因此这种情况不常见。[/]
[/list]
[line]

[size=5][color=#66bb6a][b]许可证——著佐权[/b][/color][/size]
[quote][b]GPL-3.0-or-later[/b](强著佐权)。完整文本见压缩包内的 [b]COPYING[/b]。

你可以使用、研究、修改和再分发此模组,包括商业用途,但有一个条件:[b]任何衍生作品或再分发必须以相同的 GPL-3.0 许可证发布,并包含或提供完整、可读的源代码。[/b]闭源分支和换皮重打包不在授权范围内。请保持 [b]HitFlash.lua[/b] 中的版权声明和文件头完整。[/quote]
[size=5][color=#4dd0e1][b]更新[/b][/color][/size]
本页面:[url=https://www.nexusmods.com/monsterhunterwilds/mods/4928]https://www.nexusmods.com/monsterhunterwilds/mods/4928[/url]
版本号和此链接会同时打印在设置面板和加载时的框架日志中,因此你总能确认自己运行的是什么。通过 Vortex 或 Nexus 应用安装,更新会自动提供给你。

[quote][color=#9e9e9e]包含上述自检行的错误报告是修复最快的。请附上你的游戏版本和帧率。[/color][/quote]
[line]

[center][size=5][b]中文说明[/b][/size][/center]

[size=4][color=#ff5b4d][b]要解决的问题[/b][/color][/size]

荒野里大部分武器的收益点,都压在[b]怪物出招命中的那一瞬间[/b]:格挡、防反、无敌帧穿过、后手追击,全部要卡进那个很短的窗口。卡对了你白打一整套,卡错了你就实打实挨一下。

难的是[b]原版游戏几乎不告诉你到底发生了什么[/b]。战斗中特效、镜头抖动、怪物的身体挡住半个屏幕、你自己还在出招动作里 ——"我完美挡下了"和"我还是被擦到掉了 40 血"这两种结果,肉眼基本分不出来。血条只动一点点,某个地方闪了一下,你视线一移开,这次交锋就白打了。

结果就是:[b]看不到反馈,就没法把时机练成肌肉记忆[/b]。

[b]HitFlash 就是把这个反馈补回来。[/b]判定落在你身上的瞬间,屏幕四边直接给答案:

[list]
[][color=#ff5b4d][b]红[/b][/color] —— 掉血了,这一下实打实挨到了,时机不对,或者你根本没在防。[/]
[][color=#ffd10d][b]黄[/b][/color] —— 判定命中但血没动:格挡 / 防反 / 无敌帧 / 伤害无效化。你的窗口卡对了。[/]
[/list]
两者都只持续 [b]0.1 秒,且不做淡出[/b] —— 硬起硬落,不会在你盯着怪物的时候被忽略。完全闪避则是[b]静默[/b](游戏根本没派发命中事件)。于是"没碰到 / 挡住了 / 挨到了"这三种结果第一次可以被一眼分辨。

[quote][color=#9e9e9e]如果你只想搞清楚[b]受击窗口[/b],不需要判定框可视化、不需要帧数面板、不需要各部位伤害统计 —— 这就是最轻量的选择:单文件、无依赖、开箱即用。[/color][/quote]
[size=4][color=#4dd0e1][b]安装与调整[/b][/color][/size]

解压到 [b]Monster Hunter Wilds\GAME[/b],得到 [b]GAME\reframework\autorun\HitFlash.lua[/b],进游戏自动加载,无需开启任何选项。按 [b]Insert[/b] → [b]Script Generated UI[/b] → [b]HitFlash[/b] 打开设置面板。

默认就是上面说的手感:红黄光晕各 0.1 秒、无淡出、保留 8 层由外向内的空间渐变;伤害数字为白字黑描边(内置像素字模,不依赖字体文件),位于左上角血条[b]下方[/b]不遮挡 UI,停留 2 秒后直接消失。

面板里的[b]「定位辅助」[/b]开关:勾上后数字常驻屏幕,你[b]一次血都不用挨[/b]就能把它拖到与 HUD 对齐的位置,对好再取消勾选。

本模组[b]纯只读[/b]:不改伤害、不吞事件、不碰无敌帧、不影响任何平衡性。钩子一律不向游戏返回任何内容,不影响联机,也不会触碰存档。

反馈问题前请先看面板最后几行的自检信息(本地猎人是否识别、HP 实际读取路径、受击事件计数、屏幕尺寸、颜色模式,以及任何错误原文),把它们一起贴出来,基本一次就能定位。

[quote][color=#9e9e9e]两点提醒:所有时长按[b]游戏帧[/b]计,默认值按 60fps 校准,高帧率请自行调大持续帧数;首次启动日志里那行 [i][JSON] Failed to load file HitFlash_config.json[/i] 是 REFramework 在配置文件尚不存在时自己打的,无害且无法抑制。[/color][/quote]
[size=4][color=#66bb6a][b]授权协议[/b][/color][/size]

[b]GPL-3.0-or-later(传染开源)[/b],完整条款见压缩包内的 [b]COPYING[/b]。
你可以自由使用、研究、修改、再分发(包括商用),但只有一个条件:[b]任何衍生作品或再分发,必须以同样的 GPL-3.0 协议公开完整可读源码[/b]。闭源分支、换皮重传不在授权范围内;请保留 [b]HitFlash.lua[/b] 头部的署名与许可证声明。

[line]

[size=5][b]更新日志[/b][/size]
[b]1.0.0[/b]
[list]
[]首次发布。红 / 黄 0.1 秒屏幕边缘闪烁,硬切断并带 8 层空间渐变;HUD 血条下方的白色描边伤害数字,持续 2 秒;格挡命中的判定窗口控制;定位辅助;以及完整的自检面板。[/]
[/list]
[quote][color=#9e9e9e]鸣谢:识别本地猎人和访问引擎生命值路径的技术,是在 Lucio 的出色作品 [url=https://www.nexusmods.com/monsterhunterwilds/mods/4858]Team Damage Meter[/url] 上摸索出来的。HitFlash 是一个独立、小得多的观察者模组。[/color][/quote]