热血江湖助手 · 分析资料站← 报告总目录助手主页
分区:15_助手版本迭代说明源文件:躲避改回补_加移动判断_改动说明.md篇幅:6.8 KB收录:2026-10-19 17:10

躲避改回补地图 + 移动判断 改动说明

日期:2026-10-07 00:30<br>工程:D:\AI空间\rxjh\旧版本更新_修复后.e(唯一编译源)<br>补丁:_patch\fix_躲避改回补_加移动判断.py<br>回滚:旧版本更新_修复后.bak_躲避改回补前_20261007_0025.e

本轮一次改了三件事,都在 防杀测试 与 等待离开原地 两个子程序内。改动范围 +45 / −28 行。


一、躲避目标改回界面「回补地图」

按你的要求:取消独立的「躲避地图」配置,躲避直接用界面的「回补地图」。

新增一道保护:如果界面「回补地图」是空的或名字打错,取地图ID 会返回 0,以前会直接 发包飞图 (0) 发出一个垃圾包。现在改成只打日志、本次不躲避:

【躲避】回补地图未选择或名称无效(界面值:),本次不躲避;请到界面把「回补地图」选成一座城

二、补住一个会「谎报脱险」的判据破口

这是本轮最要紧的修复,顺手做的,但它关系到你会不会白白站桩 10 分钟。

等待离开原地 原来只要看到「当前地图ID = 目标地图ID」就立刻返回成功。以前没暴露,是因为回城符分支故意传 0 关掉了地图判据;现在回城符分支也传 目标地图ID 了,一旦回补地图就等于当前挂机地图(例如挂虎峡谷、回补地图也选虎峡谷),这条会在第 1 轮轮询(约 150 毫秒)就判「已脱险」——人没动,程序却认为躲完了,接着 停止挂机 + 空等 10 分钟。

改法:进入子程序时先记下 起始地图ID,只有「从起始地图变成目标地图」才算跨图成功。

.局部变量 起始地图ID, 整数型       ← 新增
...
刷新地图 ()
起始地图ID = 当前地图ID
...
.如果真 (当前地图ID = 目标地图ID 且 当前地图ID ≠ 起始地图ID)   ← 加了后半句

这样两种场景都正确:

同时保留一条警告日志,遇到同图躲避时提醒你:

【躲避】警告:回补地图与当前地图相同(都是 虎峡谷),回城符只是同图回城、地图ID不变,只能用位移判据,容易误判未生效;建议把界面「回补地图」换成另一座城

三、新增「他动不动」判断(按你的要求)

以前判据是「双方距离变近就躲」。问题:你自己挂机跑动也会让距离变小,容易被误判成对方在逼近。<br>现在改成 只看他的坐标位移。

发现名单人物后的完整判定顺序:

#条件判定动作
①距离 ≤ 300已贴脸躲(近距离底线,不受「动不动」影响)
②采样期间他离开视野人已不在不躲
③他的坐标位移 ≤ 8站着没动不躲
④他在动,但距离没接近 60 以上不是朝你来不躲
⑤他在动,且距离缩短 60 以上正在逼近躲

采样:2 次 × 350 毫秒(约 0.7 秒),期间挂机不停(挂机在别的线程)。

日志长这样:

【趋近判断】正派剃头人 位移只有 3,站着没动,不躲避
【趋近判断】正派剃头人 位移 46,距离 812 → 640,正在逼近,开始躲避
【趋近判断】正派剃头人 采样期间已经贴到 275,已贴脸,直接躲避

为什么①要放在③前面

这是唯一一处我按安全优先定的口径,需要你知晓:

贴脸(≤ 300)时,即使他站着不动也照躲。 原因是 PK 近战职业打你就是站在原地打——他的坐标不会变,距离也不变。如果「静止一律不躲」没有例外,会出现「他贴脸站着把你砍死、程序判定他在静止所以不躲」的漏洞。

如果你就是要「无论多近,静止一律不躲」,把这一行的 300 改成 0 即可(危险距离首 > 300 里那个 300,.如果 那句)。


四、可调参数一览

参数位置当前值说明
贴脸底线.如果 (危险距离首 > 300)300改 0 = 静止一律不躲
静止判定.如果真 (危险人物位移 ≤ 8)8越小越严格;嫌他小幅晃动被判成静止就调大
逼近阈值.如果真 (危险距离末 ≥ 危险距离首 - 60)60距离缩短超过 60 才算逼近
采样次数/间隔.计次循环首 (2, 采样序号) + 程序_延时 (350)2 × 350ms反应慢就把 350 改 200
位移阈值等待离开原地 (危险坐标x, 危险坐标y, 400, ...)400同图躲避时,离开原地 400 才算跑掉
单轮超时同上第 4 参500毫秒
重试轮数.计次循环首 (3, 重试次数)3改 5 可应对慢服务器
延时—0按你定的:重试之间不等待

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

项结果
补丁前置断言(12 个锚点各命中 1 次)通过
块配平 防杀测试.如果真 15/15、.如果 4/4、计次循环 3/3
块配平 等待离开原地.如果真 6/6、判断循环 1/1
BOM 保留True → True
裸 LF0 → 0(CRLF 12880 → 12897)
GBK 安全(无 emoji/超集字符)通过
t2e 回编译0 错误 0 警告,SUCC
.etprj 还原425 字节 + BOM 回来了(.pre17)
L1 代码级保真(466 子程序全量比对)0 差异
二进制取证ALL PASS(危险人物位移/起始地图ID/回补地图未选择/站着没动 均在;躲避地图 = 0)
改动范围只有 等待离开原地 + 防杀测试,其余 464 个子程序零改动
L2 注释损耗 27 条,全部是历史既有(+0x1F84 坐标X、★勾选(1/0)放每行最前 等),与本次无关。

六、请你做的

  1. F7 编译确认「程序代码编译成功」(我没代跑探针,避免抢 IDE 前台)。
  2. 界面确认「回补地图」下拉框里有值(现在 Default.ini 里是 泫渤派)。
  3. 实测后把日志贴我:
本页由 Markdown 报告自动转排;如需原始 md,可在原会话工作区取用。