日期:2026-10-07 01:45<br>工程:D:/AI空间/rxjh/旧版本更新_修复后.e(编译源:旧版本更新.代码)
进入湖洞后再执行我自己制作的 湖洞挂机.ini 到挂机坐标
原来的 夸图.ini 里,进洞(对话选项(南明湖 警备兵,1))之后是内嵌的<br>[到挂机坐标] / [开始挂机] 两段。你希望改成:进洞后直接跑你自制的<br>坐标脚本\湖洞挂机.ini(40 个洞内寻路点),再由它到达挂机坐标。
湖洞挂机.ini 是纯多坐标寻路脚本(首行是 寻路call(-879,-1565),没有 [段名]),<br>它的正确执行入口是工程里现成的 多坐标寻路 () 子程序 —— 也就是你在界面下拉框选<br>「湖洞挂机」再点「开始寻路」时走的那条路。
所以新增一条指令,让跨图脚本能在中途转入另一个脚本文件:
执行脚本(湖洞挂机)
内部就是一行调用(与你贴的那句完全一致):
临时坐标数 = 多坐标寻路 (全局目录 + “\坐标脚本\” + 临时脚本名 + “.ini”)
文件:旧版本更新.代码/代码/窗口程序集_MainDialogWnd.form.e.txt → 执行跨图脚本
.局部变量 临时脚本路径, 文本型, 数组
.局部变量 临时脚本名, 文本型, 数组
.局部变量 临时按钮标题, 文本型, 数组
.局部变量 临时坐标数, 整数型, 数组
执行脚本(文件名)(第 9214–9246 行)' ---------- G4. 执行脚本(文件名):把「坐标脚本」目录下另一个脚本(例如 湖洞挂机.ini)整段跑一遍,跑完接着往下执行 ----------
.如果真 (寻找文本 (单行, “执行脚本”, , 假) ≠ -1)
.如果 (括号内 = “”)
... 没写文件名 → 记一次失败
.否则
临时脚本名 = 括号内
.如果真 (取文本右边 (临时脚本名, 4) = “.ini”) ' 允许写 湖洞挂机.ini 或 湖洞挂机
临时脚本路径 = 全局目录 + “\坐标脚本\” + 临时脚本名 + “.ini”
.如果 (取文件尺寸 (临时脚本路径) = -1)
... 文件不存在 → 记一次失败
.否则
临时按钮标题 = 开始寻路按钮.标题 ' 见下方「为什么要存按钮标题」
临时坐标数 = 多坐标寻路 (临时脚本路径) ' ← 真正的执行
开始寻路按钮.标题 = 临时按钮标题
.如果 (临时坐标数 > 0) → 记一次成功
.否则 → 记一次失败
.如果结束
.如果结束
到循环尾 ()
.如果真结束
为什么要存按钮标题:多坐标寻路 收尾时会把按钮标题从「停止寻路」还原成<br>「开始寻路」。而跨图脚本运行期间,这个标题就是「我正在跑」的标志。不恢复的话,<br>流程跑到一半按钮就变回「开始寻路」,容易被误认为已结束(也可能被再点一次)。<br>所以前面先记、后面恢复。
.如果真 (删首尾空 (挂机坐标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(纯新增,没有删改任何既有行) |
D:/AI空间/rxjh/旧版本更新_修复后.e(md5 78adee5e684fe03be36a103ccca9f285)旧版本更新_修复后.bak_执行脚本前_20261007_0143.eD:/rxjh2025/client/坐标脚本/夸图.ini(已更新)_patch/执行脚本前_20261007_014145/、_patch/夸图.ini.pre23跑「夸图」,日志里应该依次出现:
【跨图】进入段:【南明湖】...
【跨图】√ 这个是过图点:没走到坐标,但地图已从 泫渤派 变成 南明湖,算成功
【跨图】进入段:【南明洞到NPC】...
【跨图】√ 对话选项生效,已进入 南明洞
【跨图】进入段:【湖洞挂机】
【跨图】执行脚本:【湖洞挂机】,路径 ...\坐标脚本\湖洞挂机.ini
========== 开始多坐标寻路任务 ========== ← 转交给多坐标寻路
有效坐标:40 个
【跨图】√ 执行脚本完成:【湖洞挂机】共跑了 40 个坐标
【跨图】√ 已到挂机坐标 (若界面挂机坐标已填)
【跨图】开始挂机:自动点一次「开始挂机」按钮
常见排查
| 日志 | 含义 | 处理 |
|---|---|---|
【跨图】执行脚本:文件不存在 | 文件名没对上 | 确认 D:\rxjh2025\client\坐标脚本\湖洞挂机.ini 存在、名字一字不差 |
没读到任何坐标 | 文件里没有 寻路call(x,y) 这种全角括号写法 | 用记事本打开改一下括号 |
到挂机坐标:界面上的「挂机坐标x/y」是空的,跳过 | 界面挂机坐标没填 | 填上南明洞洞内的挂机点即可,或删掉那两行 |
停在 开始多坐标寻路任务 不动 | 某个点走不到(被怪围 / 地形挡) | 看它最后一条「结果:超时」是第几个点,把那个点从 湖洞挂机.ini 里挪一下 |
多坐标寻路 内部调用 执行寻路call 用的是默认 30 轮(约 6 秒)超时,而跨图段用的是 90 轮。洞内长距离点如果 6 秒走不到,会记「超时」但不会中断<br>(多坐标寻路 只是打日志,继续下一个点),所以最终仍能走完。<br>若发现频繁超时,可以再给 执行脚本 加一个超时参数。
正常返回时发生**。如果 多坐标寻路 中途被强杀(手动点停止),标题会留在「开始寻路」,<br>需要在界面重新点一次才能再次启动。