热血江湖助手 · 分析资料站← 报告总目录助手主页
分区:15_助手版本迭代说明源文件:静止优先_改动说明.md篇幅:4.9 KB收录:2026-10-19 17:10

「站着不动」判据提到最前 改动说明

日期:2026-10-07 00:34<br>工程:D:\AI空间\rxjh\旧版本更新_修复后.e(md5 f680f5c44fa1ad8d45839f5a0840e6a0)<br>补丁:_patch\fix_静止优先.py + _patch\fix_静止优先_注释.py<br>回滚:旧版本更新_修复后.bak_静止优先前_20261007_0032.e

改动 +41 / −40 行,只有 防杀测试 一个子程序(2 个 hunk)。


一、改了什么

按你的口径:「基本没变(他站着不动)」这条判据要排在最前。

改前最大的问题不是顺序,而是贴脸时根本不采样 —— 原来的外层分支是<br>.如果 (危险距离首 > 300),距离 300 以内直接「已贴脸,直接躲」,那条静止判断压根轮不到执行。<br>所以这次先把外层分支整个拆掉,改成无条件采样(贴脸也采样),再重排判据。

判据新顺序

#条件动作
①采样期间他离开视野不躲
②他的坐标位移 ≤ 8(站着没动)不躲 ← 最高优先,距离再近也不躲
③他在动,且距离 ≤ 300躲(贴脸)
④他在动,但距离没接近 60不躲
⑤他在动,且距离缩短 60+躲(正在逼近)

代码里的顺序断言我在补丁里做了机器校验(静止判据字符位置 < 贴脸判据字符位置 ✔),不靠肉眼。

日志对照

【趋近判断】正派剃头人 位移只有 3,站着没动,不躲避            ← 静止,一律不躲(近距离也一样)
【趋近判断】正派剃头人 采样期间已经贴到 275,他在动,直接躲避    ← 贴脸 + 在动
【趋近判断】正派剃头人 位移 46,距离 812 → 640,正在逼近,开始躲避
【趋近判断】正派剃头人 位移 21,距离 812 → 780,没有逼近,不躲避

二、必须知道的代价

贴脸时也要先等一个采样间隔(350 毫秒)才有动作。 原来是立刻躲。<br>这是「静止优先」的必然代价 —— 不采样就不知道他动没动。

流程变成:

发现名单人物 → 延时 350ms → 读他位移 → 位移 ≤ 8 → 不躲
                                    → 位移 > 8 → 再看距离,≤ 300 就躲

嫌慢就把 程序_延时 (350) 改小(比如 200),代价是位移判据对「慢速挪动」的区分度下降。


三、可调参数(都在 防杀测试 里)

参数原文当前值说明
静止阈值.如果真 (危险人物位移 ≤ 8)8越小越严格。嫌他小幅晃动被判静止 → 调大
采样间隔程序_延时 (350)350想更快 → 200;想更准 → 500
采样次数.计次循环首 (2, 采样序号)2他在 300 内会提前结束(1 次)
贴脸阈值.如果真 (危险距离末 ≤ 300)300只在「他在动」时才用得上
逼近阈值.如果真 (危险距离末 ≥ 危险距离首 - 60)60距离缩短超过 60 才算逼近
位移阈值等待离开原地 (危险坐标x, 危险坐标y, 400, …)400同图躲避时的脱险判据
单轮超时 / 重试轮数 / 重试延时同上第 4 参 / .计次循环首 (3, …)500 / 3 / 0未改动

四、验证记录(九项全绿)

项结果
补丁前置断言旧块定位成功(第 6561~6608 行 / 48 行),并把 .如果 (危险距离首 > 300) 已存在作为前置条件
判据顺序机器校验静止判据位置 < 贴脸判据位置 ✔
块配平 防杀测试.如果真 15/15、.如果 3/3(由 4 降 3:外层分支已删)、计次循环 3/3、.否则 3
BOM 保留True → True
裸 LF0 → 0(CRLF 12898 → 12898)
GBK 安全通过
t2e 回编译0 错误 0 警告,SUCC
.etprj 还原425 字节 + BOM(.pre18)
L1 代码级保真(466 子程序全量)0 差异
二进制取证ALL PASS
改动范围只有 防杀测试 2 个 hunk;无任何子程序头变动

二进制取证细节(这是本轮最硬的证据):新日志文案 站着没动,不躲避、他在动,直接躲避 都在 .e 里命中;<br>而旧文案 距离只有、已贴脸,直接躲避 命中数为 0 —— 直接证明那一整个外层分支确实被拆掉了,不是只在文本层改的。


五、请你做的

  1. F7 编译确认「程序代码编译成功」。
  2. 实测重点看两类日志:
  1. 如果发现贴脸躲避慢了半拍导致挨打,把 程序_延时 (350) 改成 200。
本页由 Markdown 报告自动转排;如需原始 md,可在原会话工作区取用。