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

防杀躲避 —— 参数收紧(单轮 500ms / 重试零延时)

时间:2026-10-06 23:18<br>改动文件:旧版本更新.代码/代码/窗口程序集_MainDialogWnd.form.e.txt<br>交付产物:旧版本更新_修复后.e(编译请用这个,不是 旧版本更新.e)<br>回滚备份:旧版本更新_修复后.bak_躲避参数收紧前_20261006_2318.e<br>补丁脚本:_patch/fix_躲避参数收紧.py(幂等,可重复执行)


1. 改了什么

只动 防杀测试 一个子程序块,新增 3 行 / 删除 3 行:

项改前改后
回城符分支 等待离开原地…, 400, 2500, 0, 150…, 400, 500, 0, 150
飞图分支 等待离开原地…, 400, 2500, 目标地图ID, 150…, 400, 500, 目标地图ID, 150
重试之间的等待程序_延时 (600)整行删除(0ms)

位移阈值 400、轮询 150ms、目标地图ID 判据 —— 均未改动。<br>等待离开原地 子程序本身(543~583 行)一行没动,只换调用参数。

2. 实际耗时窗口(实测口径)

等待离开原地 的循环步长是轮询毫秒(150ms),条件为 已等 < 超时毫秒:

对比改前:3 × (8 秒超时 + 2 秒延时) = 约 30 秒 → 现在约 2 秒,缩短约 15 倍。

3. ⚠️ 必须知道的风险

总窗口只有约 2 秒,而跨图飞图落地通常需要 0.5~2 秒。 若某次落地偏慢:

  1. 三轮都在落地前判完 → 已脱险 = 假
  2. 日志出现 警告:连续3次回城均未生效…延长等待
  3. 走进 启动线程 (&延迟30分钟开始挂机) → 30 分钟不挂机

也就是说:判定"更快"的代价是边界情况下惩罚被误触发,而惩罚时长是 30 分钟。<br>若实测出现"明明飞走了却报 3 次未生效",按下面任一方式补救(都不需要加回重试延时):

4. 验证记录(七项全绿)

检查结果
补丁断言两处调用点各命中 1 次、延时行命中 1 次、调用点总数 2 不变、.如果真 配平(6:6)✅
BOM / 换行BOM=True、CRLF=12818 不变、裸 LF = 0 ✅
GBK 安全全文 encode('gbk') 通过,无 emoji / 超集字符 ✅
t2e 回转0 错误 0 警告(18480 条日志全为「信息」级)✅
项目.etprjt2e 后用 _patch/项目.etprj.pre14 还原,diff 一致 ✅
e2t 反查400, 500, 0, 150 ×1、400, 500, 目标地图ID, 150 ×1、新注释 ×1;段内 程序_延时 (600) ×0 ✅
分层保真L1 代码级 0 差异(466 个子程序);L2 那 42 条为历史行尾注释损耗,与本次无关 ✅
二进制三轮合计约 1.5 秒内就给出结论 0→1 次;改前 2744098 → 改后 2744160 字节(+62)✅
改动范围diff 精确为 +3/−3,全部落在 防杀测试 ✅
注:注释里写的"约 1.5 秒"是按标称值写的,实测口径约 2 秒(见第 2 节)。

5. 未改动(仍然存在)

  1. 停止挂机() 仍在躲避判定之后(6572~6577 行)——躲避期间挂机与寻路都在跑。
  2. 停止挂机 对 多坐标寻路线程 仍是 强制结束线程(硬杀)。
  3. 执行寻路call(8701 行)超时后没有 跳出循环,被围住时不会自行退出。
本页由 Markdown 报告自动转排;如需原始 md,可在原会话工作区取用。