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

新增「执行脚本(文件名)」指令 —— 改动说明

日期:2026-10-07 01:45<br>工程:D:/AI空间/rxjh/旧版本更新_修复后.e(编译源:旧版本更新.代码)


一、需求

进入湖洞后再执行我自己制作的 湖洞挂机.ini 到挂机坐标

原来的 夸图.ini 里,进洞(对话选项(南明湖 警备兵,1))之后是内嵌的<br>[到挂机坐标] / [开始挂机] 两段。你希望改成:进洞后直接跑你自制的<br>坐标脚本\湖洞挂机.ini(40 个洞内寻路点),再由它到达挂机坐标。

二、为什么需要新指令

湖洞挂机.ini 是纯多坐标寻路脚本(首行是 寻路call(-879,-1565),没有 [段名]),<br>它的正确执行入口是工程里现成的 多坐标寻路 () 子程序 —— 也就是你在界面下拉框选<br>「湖洞挂机」再点「开始寻路」时走的那条路。

所以新增一条指令,让跨图脚本能在中途转入另一个脚本文件:

执行脚本(湖洞挂机)

内部就是一行调用(与你贴的那句完全一致):

临时坐标数 = 多坐标寻路 (全局目录 + “\坐标脚本\” + 临时脚本名 + “.ini”)

三、改动清单(文本主本 3 处 hunk,+42 / −0)

文件:旧版本更新.代码/代码/窗口程序集_MainDialogWnd.form.e.txt → 执行跨图脚本

1. 新增 4 个局部变量(第 8891–8894 行)

.局部变量 临时脚本路径, 文本型, 数组
.局部变量 临时脚本名, 文本型, 数组
.局部变量 临时按钮标题, 文本型, 数组
.局部变量 临时坐标数, 整数型, 数组

2. 新分支 G4:执行脚本(文件名)(第 9214–9246 行)

' ---------- G4. 执行脚本(文件名):把「坐标脚本」目录下另一个脚本(例如 湖洞挂机.ini)整段跑一遍,跑完接着往下执行 ----------
.如果真 (寻找文本 (单行, “执行脚本”, , 假) ≠ -1)
    .如果 (括号内 = “”)
        ... 没写文件名 → 记一次失败
    .否则
        临时脚本名 = 括号内
        .如果真 (取文本右边 (临时脚本名, 4) = “.ini”)     ' 允许写 湖洞挂机.ini 或 湖洞挂机
        临时脚本路径 = 全局目录 + “\坐标脚本\” + 临时脚本名 + “.ini”
        .如果 (取文件尺寸 (临时脚本路径) = -1)
            ... 文件不存在 → 记一次失败
        .否则
            临时按钮标题 = 开始寻路按钮.标题          ' 见下方「为什么要存按钮标题」
            临时坐标数 = 多坐标寻路 (临时脚本路径)     ' ← 真正的执行
            开始寻路按钮.标题 = 临时按钮标题
            .如果 (临时坐标数 > 0) → 记一次成功
            .否则 → 记一次失败
        .如果结束
    .如果结束
    到循环尾 ()
.如果真结束

为什么要存按钮标题:多坐标寻路 收尾时会把按钮标题从「停止寻路」还原成<br>「开始寻路」。而跨图脚本运行期间,这个标题就是「我正在跑」的标志。不恢复的话,<br>流程跑到一半按钮就变回「开始寻路」,容易被误认为已结束(也可能被再点一次)。<br>所以前面先记、后面恢复。

3. G2「到挂机坐标」加空值保护(第 9175–9178 行)

.如果真 (删首尾空 (挂机坐标x编辑框.内容) = “” 或 删首尾空 (挂机坐标y编辑框.内容) = “”)
    写日志 (...“界面上的「挂机坐标x/y」是空的,跳过这一步”...)
    到循环尾 ()
.如果真结束

原来编辑框是空的时候,到整数 ("") 会得到 0,脚本会真的往 (0,0) 走一趟。<br>现在空着就跳过并打日志,不会乱跑。


四、夸图.ini 现在的样子(D:\rxjh2025\client\坐标脚本\夸图.ini,85 行)

[南明湖]            ← 51 个寻路点,最后一点 (-20,-2345) 是过图点
等待(10)

[南明洞到NPC]       ← 17 个寻路点,终点 (1338,1150)
对话选项(南明湖 警备兵,1)
等待(8)

[湖洞挂机]
执行脚本(湖洞挂机)  ← ★ 新增:转入你自制的 湖洞挂机.ini(40 点)

[到挂机坐标]
到挂机坐标           ← 走界面「挂机坐标x/y」(空则自动跳过)

[开始挂机]
开始挂机             ← 已挂机时不会重复点,不会把自己停掉
[结束]

如果你想去掉最后两步(因为 湖洞挂机.ini 的终点已经是挂机点),<br>直接把 [到挂机坐标] 到挂机坐标 [开始挂机] 开始挂机 这四行删掉即可,<br>其它都不用动。


五、脚本语法速查(执行跨图脚本 现在认这些行)

写法作用
[段名]只用来分段和打日志
寻路call(x,y)走到该点(全角括号,过图点会以「地图ID变了」判成功)
坐标移动(x,y,z)神器写法,丢掉中间的高度
跨地图(x,y,z,地图ID)走过去并确认真的切到了那张图
飞回城符(城名)用回城符回城
等待(秒)等一会儿
对话(NPC名)走到跟前跟 NPC 说话(打开对话)
对话选项(NPC名,选项号)选对话里的第 N 项(进洞就用这条)
发包(十六进制串)把抓到的包原样发出去(现场试包用)
执行脚本(文件名)★ 新增:转入「坐标脚本」目录下另一个脚本,跑完接着往下执行
到挂机坐标走界面「挂机坐标x/y」
开始挂机点一次「开始挂机」(已挂机则跳过)
返回安全坐标 / 返回刚才挂机点跳过,交给挂机流程

六、验证结果(五步全绿)

步骤结果
括号/块配平.如果真 +3 / .如果 +3 / .否则 +3 / 到循环尾 +2,其余块总数不变
t2e 回转0 错误 0 警告,执行跨图脚本 / 多坐标寻路 均「代码成功」
e2t 反查470 个子程序齐全,L1 代码级 0 差异;L2 注释差异 27 条,全部是既有的行尾注释历史损失,本轮新增的注释与日志文案(5 条)一条没丢
二进制取证新指令名、4 条新日志、1 条新注释、4 个新变量名 全部命中;旧能力(多坐标寻路 / 寻路call / 对话选项 / 到挂机坐标 / 开始挂机)全部还在 —— 15 项 ALL PASS
改动范围3 hunk,+42 / −0(纯新增,没有删改任何既有行)

七、交付物


八、实测怎么看日志

跑「夸图」,日志里应该依次出现:

【跨图】进入段:【南明湖】...
【跨图】√ 这个是过图点:没走到坐标,但地图已从 泫渤派 变成 南明湖,算成功
【跨图】进入段:【南明洞到NPC】...
【跨图】√ 对话选项生效,已进入 南明洞
【跨图】进入段:【湖洞挂机】
【跨图】执行脚本:【湖洞挂机】,路径 ...\坐标脚本\湖洞挂机.ini
========== 开始多坐标寻路任务 ==========      ← 转交给多坐标寻路
有效坐标:40 个
【跨图】√ 执行脚本完成:【湖洞挂机】共跑了 40 个坐标
【跨图】√ 已到挂机坐标        (若界面挂机坐标已填)
【跨图】开始挂机:自动点一次「开始挂机」按钮

常见排查

日志含义处理
【跨图】执行脚本:文件不存在文件名没对上确认 D:\rxjh2025\client\坐标脚本\湖洞挂机.ini 存在、名字一字不差
没读到任何坐标文件里没有 寻路call(x,y) 这种全角括号写法用记事本打开改一下括号
到挂机坐标:界面上的「挂机坐标x/y」是空的,跳过界面挂机坐标没填填上南明洞洞内的挂机点即可,或删掉那两行
停在 开始多坐标寻路任务 不动某个点走不到(被怪围 / 地形挡)看它最后一条「结果:超时」是第几个点,把那个点从 湖洞挂机.ini 里挪一下

九、残留风险(已知)

  1. 多坐标寻路 内部调用 执行寻路call 用的是默认 30 轮(约 6 秒)超时,

而跨图段用的是 90 轮。洞内长距离点如果 6 秒走不到,会记「超时」但不会中断<br>(多坐标寻路 只是打日志,继续下一个点),所以最终仍能走完。<br>若发现频繁超时,可以再给 执行脚本 加一个超时参数。

  1. 跨图脚本运行途中按钮标题一度是「停止寻路」,新指令已做保存/恢复,但**恢复只在

正常返回时发生**。如果 多坐标寻路 中途被强杀(手动点停止),标题会留在「开始寻路」,<br>需要在界面重新点一次才能再次启动。

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