热血江湖助手 · 分析资料站← 报告总目录助手主页
分区:15_助手版本迭代说明源文件:v134_传送保护_婚戒土灵符崩溃修复_20261019.md篇幅:6.0 KB收录:2026-10-19 17:10

v134 · 婚戒 / 土灵符 传送崩溃修复(可自定义秒数)

日期:2026-10-19 09:06–09:30<br>产物:D:\AI空间\rxjh\旧版本更新_修复后_v134.e — 3,138,309 B / 1.134.0.0<br>MD5:33265D37B45E0017D190794E2D20E6B6<br>构建:t2e 0 错 0 警;绑定自检 机器码到字节集 15 次、发包Call 11 次 ✔<br>构建源:D:\AI空间\rxjh\旧版本更新_修复后_v82.代码\


一、根因(源码实证,不是推测)

婚戒传送_尝试返回 / 土灵符_尝试返回 在发出传送包后进入轮询:

.计次循环首 (3, 发送次数)
    发包使用物品_背包 (格位)      ' ← 这一刻游戏开始重建人物/地图对象
    .计次循环首 (15, 轮次)
        程序_延时 (200)
        处理事件 ()
        刷新坐标 ()               ' ← 每 200ms 读一次内存,直接踩在重建过程中
        ...

传送包发出的瞬间,游戏引擎就开始销毁并重建人物对象与地图数据。助手此时 刷新坐标() 去读坐标基址,<br>读到的是半重建状态的指针/数据,紧接着 寻路call 还会申请内存并 call 引擎 —— 游戏无提示秒崩。

更致命的是 v123 之后「同图传送不再等 20 秒」,等于同图传送完全没有缓冲窗口,所以两个账号都必现。


二、方案:传送保护期(秒数可自定义)

发包之前开启一个保护期,保护期内助手完全不碰游戏内存:只做 程序_延时 + 处理事件。

新增全局变量(全局变量.e.txt)

变量说明
传送保护_截止时刻保护期截止的 取启动时间() 毫秒值,0=不在保护期
传送保护_秒数本次生效的秒数

新增子程序(4 个,插在 发包交易 之前)

子程序返回作用
传送保护_读秒数整数型三级取值:角色 ini → 全局 Default.ini → 缺省 8;越界(<1 或 >60)回落 8
传送保护_开始—发包前调用,开启保护期并写一条日志
传送保护_生效中逻辑型保护期内返回真;到期自动清零
传送保护_等待结束—阻塞到保护期结束(≤1s 步进延时 + 处理事件)

接入点(5 处)

#位置改动
1婚戒传送_尝试返回每轮 发包使用物品_背包 前 传送保护_开始()、后 传送保护_等待结束()
2土灵符_尝试返回开面板包 + 选点包,各自前后加保护(共 2 组)
3刷新坐标保护期内直接 返回 (),不读内存(保留传送前旧坐标,调用方下一轮重试)
4刷新地图保护期内直接 返回 (),不读地图 ID
5寻路call保护期内先于 申请内存 (84, 真) 返回(避免内存泄漏),写一条跳过日志

第 5 处最关键:寻路call 会 申请内存 + 置入代码 call 游戏引擎,是唯一的写操作,也是最容易崩的一步。


三、怎么自定义秒数

已帮你写好了默认值:D:\rxjh2025\client\config\Default.ini 的 [config] 段首已加

传送保护秒数=8

(备份在 Default.ini.bak_传送保护前_20261019_092438)

三级取值优先级:

  1. 按角色:D:\rxjh2025\client\config\角色配置\<角色名>\UserConfig.ini → [config] 传送保护秒数
  2. 全局:D:\rxjh2025\client\config\Default.ini → [config] 传送保护秒数
  3. 都没填 → 8 秒

范围 1~60,填了非法值(0、负数、>60、非数字)自动回落 8,不会失效也不会死等。

想调:嫌慢就往小改(比如 5),还崩就往大改(比如 15)。
日志里会打印实际生效值:【传送保护】已发出传送道具,接下来 8 秒内助手不读游戏内存…

四、验证

项结果
控制块配平(584 个子程序)0 不配平
门禁五件套blocks 0 / decls 0 / varfmt2 0 / kenkong 0 / returns(10022) 0
t2e0 错 0 警
产物自检机器码到字节集 15 ✔、发包Call 11 ✔
e2t 逆向 v133↔v134 逐行 diff差异仅:版本号 133→134、上一批过图防护、本次传送保护;无功能丢失

⚠ v134 里还包含 10-19 02:19 那批未发布的过图防护(寻路_上次地图ID / 15 秒过图拒绝寻路 / 直飞轮次 20→40),<br>因为 v133.e 是 10-18 21:33 出的,不含它们。


五、已知副作用与回滚

全局变量.e.txt.bak_传送保护前_20261019_091108 与<br>代码\窗口程序集_MainDialogWnd.form.e.txt.bak_传送保护前_20261019_091108(注意:这两个备份不含 09:20 那次「三级取值」小改,回滚后 传送保护_读秒数 是单级 ini 版本)。<br>配置回滚:Default.ini.bak_传送保护前_20261019_092438。


六、可选:界面上加输入框(需你在 IDE 画)

form.json 归你,我没动。要加的话:

  1. 在设计器里放一个编辑框,名称 传送保护秒数(放在「跨图等待秒数」=编辑框1 旁边即可)
  2. 代码四处各加一项(照 编辑框1 的现成写法改):
  1. 然后把 传送保护_读秒数 的第一级改成直接读 传送保护秒数.内容

告诉我控件画好了,我来改这五处。

本页由 Markdown 报告自动转排;如需原始 md,可在原会话工作区取用。