• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:4.2.2
软件大小:45M
更新时间:2025-12-22

按键精灵iOS版
立即下载

软件版本:2.4.4
软件大小:29.2M
更新时间:2025-12-22

按键手机助手
立即下载

软件版本:4.5.0
软件大小:242M
更新时间:2025-11-06

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[已解决] 总是103行报错,大神救救我 [复制链接]

1#
// ===================================== 模块1:初始化配置(移除窗口激活,保留核心参数) =====================================
// 移除窗口激活步骤(手动固定游戏窗口后无需此操作)
延时 1000 // 预留1秒准备时间,确保游戏窗口已固定到位

// 核心变量(基于手动固定窗口后的固定坐标)
变量 小地图左=770 // 小地图固定左边界(手动固定后不变)
变量 小地图上=280 // 小地图固定上边界(手动固定后不变)
变量 小地图右=950 // 小地图固定右边界(手动固定后不变)
变量 小地图下=460 // 小地图固定下边界(手动固定后不变)
变量 小地图主角X=860 // 小地图内主角标识位置(固定在小地图中心)
变量 小地图主角Y=370 // 小地图内主角标识位置(固定在小地图中心)
变量 主界面中心X=480 // 主界面主角位置(固定在游戏界面中心,非战斗时)
变量 主界面中心Y=520 // 主界面主角位置(固定在游戏界面中心,非战斗时)
变量 循环次数=0 // 防死循环计数
变量 最大循环次数=2000 // 最大循环次数(可调整)
变量 目标方位="" // 记录目标方位
变量 探索度满=0 // 标记探索度是否100%
变量 识别相似度=0.75 // 图像识别相似度(0.7-0.8可调)
变量 移动后延时=1500 // 移动后等待时间(ms,可调整)
变量 战斗后延时=3000 // 战斗结束后等待时间(ms,可调整)
变量 方位偏移量=70 // 主界面移动偏移量(可调整)

// NPC交互相关变量
变量 NPC点击次数=0 // 记录"确定"点击次数
变量 NPC最大点击次数=10 // 最大点击次数(5-10次可调)
变量 NPC点击超时=0 // NPC点击超时计数
变量 NPC超时阈值=50 // 超时阈值(50次×300ms=15秒)

// ===================================== 修正后的主循环(核心语法修复) =====================================
While 探索度满=0 and 循环次数<最大循环次数
变量 循环次数=循环次数+1
变量 找到目标=0
变量 目标类型=""

// 优先级1:怪物(小地图内50px范围内有效)
找图 小地图左,小地图上,小地图右,小地图下,"Attachment:\怪物.bmp",识别相似度,intTx,intTy
If intTx>0 And intTy>0 Then
变量 相对X=intTx - 小地图左
变量 相对Y=intTy - 小地图上
变量 距离=平方根((相对X - 小地图主角X)^2 + (相对Y - 小地图主角Y)^2)
If 距离≤50 Then
变量 找到目标=1
变量 目标类型="怪物"
End If
End If

// 优先级2:金钱
If 找到目标=0 Then
找图 小地图左,小地图上,小地图右,小地图下,"Attachment:\金钱.bmp",识别相似度,intTx,intTy
If intTx>0 And intTy>0 Then
变量 相对X=intTx - 小地图左
变量 相对Y=intTy - 小地图上
变量 距离=平方根((相对X - 小地图主角X)^2 + (相对Y - 小地图主角Y)^2)
If 距离≤50 Then
变量 找到目标=1
变量 目标类型="金钱"
End If
End If
End If

// 优先级3:宝箱
If 找到目标=0 Then
找图 小地图左,小地图上,小地图右,小地图下,"Attachment:\宝箱.bmp",识别相似度,intTx,intTy
If intTx>0 And intTy>0 Then
变量 相对X=intTx - 小地图左
变量 相对Y=intTy - 小地图上
变量 距离=平方根((相对X - 小地图主角X)^2 + (相对Y - 小地图主角Y)^2)
If 距离≤50 Then
变量 找到目标=1
变量 目标类型="宝箱"
End If
End If
End If

// 优先级4:NPC
If 找到目标=0 Then
找图 小地图左,小地图上,小地图右,小地图下,"Attachment:\NPC.bmp",识别相似度,intTx,intTy
If intTx>0 And intTy>0 Then
变量 相对X=intTx - 小地图左
变量 相对Y=intTy - 小地图上
变量 距离=平方根((相对X - 小地图主角X)^2 + (相对Y - 小地图主角Y)^2)
If 距离≤50 Then
变量 找到目标=1
变量 目标类型="NPC"
End If
End If
End If

// 优先级5:传送门(仅识别,探索度满前不处理)
If 找到目标=0 Then
找图 小地图左,小地图上,小地图右,小地图下,"Attachment:\传送门.bmp",识别相似度,intTx,intTy
If intTx>0 And intTy>0 Then
变量 相对X=intTx - 小地图左
变量 相对Y=intTy - 小地图上
变量 距离=平方根((相对X - 小地图主角X)^2 + (相对Y - 小地图主角Y)^2)
If 距离≤50 Then
变量 找到目标=1
变量 目标类型="传送门"
End If
End If
End If

// ===================================== 模块2.5:目标方位判断(最终、最稳定版本) =====================================
If 找到目标 = 1 And 目标类型 <> "传送门" Then
// 步骤1:计算目标相对于主角的坐标 (使用正确的函数语法)
变量 相对X = Sub(intTx, 小地图左)
变量 相对Y = Sub(intTy, 小地图上)

// 步骤2:将所有需要比较的计算结果,预先存入临时变量 (使用正确的函数语法)
变量 主角Y减10 = Sub(小地图主角Y, 10)
变量 主角Y加10 = Add(小地图主角Y, 10)
变量 主角X减10 = Sub(小地图主角X, 10)
变量 主角X加10 = Add(小地图主角X, 10)

变量 相对X差的绝对值 = Abs(Sub(相对X, 小地图主角X))
变量 相对Y差的绝对值 = Abs(Sub(相对Y, 小地图主角Y))

// 步骤3:在If语句中,只进行变量之间的比较
If 相对Y < 主角Y减10 And 相对X差的绝对值 <= 10 Then
变量 目标方位 = "上"
ElseIf 相对Y > 主角Y加10 And 相对X差的绝对值 <= 10 Then
变量 目标方位 = "下"
ElseIf 相对X < 主角X减10 And 相对Y差的绝对值 <= 10 Then
变量 目标方位 = "左"
ElseIf 相对X > 主角X加10 And 相对Y差的绝对值 <= 10 Then
变量 目标方位 = "右"
ElseIf 相对X < 主角X减10 And 相对Y < 主角Y减10 Then
变量 目标方位 = "左上"
ElseIf 相对X > 主角X加10 And 相对Y < 主角Y减10 Then
变量 目标方位 = "右上"
ElseIf 相对X < 主角X减10 And 相对Y > 主角Y加10 Then
变量 目标方位 = "左下"
ElseIf 相对X > 主角X加10 And 相对Y > 主角Y加10 Then
变量 目标方位 = "右下"
End If
End If

// ===================================== 主界面移动+目标交互 =====================================
// 情况1:找到有效目标(非传送门)
If 找到目标=1 And 目标类型<>"传送门" Then
// 按固定方位移动(主角在中心,直接偏移)
If 目标方位="上" Then 左键点击 主界面中心X, 主界面中心Y - 方位偏移量
ElseIf 目标方位="下" Then 左键点击 主界面中心X, 主界面中心Y + 方位偏移量
ElseIf 目标方位="左" Then 左键点击 主界面中心X - 方位偏移量, 主界面中心Y
ElseIf 目标方位="右" Then 左键点击 主界面中心X + 方位偏移量, 主界面中心Y
ElseIf 目标方位="左上" Then 左键点击 主界面中心X - 方位偏移量, 主界面中心Y - 方位偏移量
ElseIf 目标方位="右上" Then 左键点击 主界面中心X + 方位偏移量, 主界面中心Y - 方位偏移量
ElseIf 目标方位="左下" Then 左键点击 主界面中心X - 方位偏移量, 主界面中心Y + 方位偏移量
ElseIf 目标方位="右下" Then 左键点击 主界面中心X + 方位偏移量, 主界面中心Y + 方位偏移量
End If

延时 移动后延时 // 等待移动到位

// 移动后检测随机战斗
找图 0,0,1920,1080,"Attachment:\结算界面.bmp",识别相似度,intSx,intSy
If intSx>0 And intSy>0 Then
左键点击 intSx+50, intSy+50 // 点击结算返回
延时 1000
Continue // 回到循环开头重新识别
End If

// 目标类型交互逻辑
If 目标类型="怪物" Then
延时 战斗后延时
找图 0,0,1920,1080,"Attachment:\结算界面.bmp",识别相似度,intSx,intSy
If intSx>0 And intSy>0 Then
左键点击 intSx+50, intSy+50
延时 1000
End If
ElseIf 目标类型="金钱" Or 目标类型="宝箱" Then
延时 1500 // 等待拾取动画
ElseIf 目标类型="NPC" Then
// NPC多次点击"确定"逻辑
变量 NPC点击次数=0
变量 NPC点击超时=0
Do
找图 0,0,1920,1080,"Attachment:\确定.bmp",识别相似度,intOkx,intOky
If intOkx>0 And intOky>0 Then
左键点击 intOkx, intOky
延时 800 // 等待对话切换
变量 NPC点击次数=NPC点击次数+1
If NPC点击次数>=NPC最大点击次数 Then Exit Do
Else
变量 NPC点击超时=NPC点击超时+1
延时 300
End If
If NPC点击超时>=NPC超时阈值 Then
MessageBox "NPC对话超时,脚本继续执行"
Exit Do
End If
Loop
End If

// 传送门询问处理(探索度不满时点击不进入)
找图 0,0,1920,1080,"Attachment:\传送门询问.bmp",识别相似度,intQx,intQy
If intQx>0 And intQy>0 Then
找图 0,0,1920,1080,"Attachment:\不进入.bmp",识别相似度,intNx,intNy
If intNx>0 And intNy>0 Then
左键点击 intNx, intNy
延时 1000
End If
End If

// 情况2:无目标,沿边界顺时针探索
ElseIf 找到目标=0 Then
// 识别蓝色边界(固定小地图内找色)
找色 小地图左,小地图上,小地图右,小地图下,"#0099FF",识别相似度,intBx,intBy
If intBx>0 And intBy>0 Then
变量 相对Bx=intBx - 小地图左
变量 相对By=intBy - 小地图上
If 相对Bx < 小地图主角X - 20 Then
左键点击 主界面中心X, 主界面中心Y - 方位偏移量
ElseIf 相对By < 小地图主角Y - 20 Then
左键点击 主界面中心X + 方位偏移量, 主界面中心Y
ElseIf 相对Bx > 小地图主角X + 20 Then
左键点击 主界面中心X, 主界面中心Y + 方位偏移量
ElseIf 相对By > 小地图主角Y + 20 Then
左键点击 主界面中心X - 方位偏移量, 主界面中心Y
End If
Else
// 初始无边界,默认上移
左键点击 主界面中心X, 主界面中心Y - 方位偏移量
End If

延时 移动后延时

// 探索移动后检测随机战斗
找图 0,0,1920,1080,"Attachment:\结算界面.bmp",识别相似度,intSx,intSy
If intSx>0 And intSy>0 Then
左键点击 intSx+50, intSy+50
延时 1000
Continue
End If
End If

// ===================================== 探索度100%后找传送门 =====================================
找图 0,0,1920,1080,"Attachment:\探索度100.bmp",识别相似度,intDx,intDy
If intDx>0 And intDy>0 Then
变量 探索度满=1
变量 找到传送门=0
变量 搜索超时计数=0
变量 最大搜索次数=300 // 90秒超时
变量 螺旋步长=30 // 螺旋移动步长
变量 螺旋方向=0 // 0=右,1=下,2=左,3=上
变量 当前步长次数=1 // 当前方向步数
变量 已走步数=0 // 已走步数
变量 方向切换计数=0 // 方向切换计数器

Do
// 固定小地图内找传送门
找图 小地图左,小地图上,小地图右,小地图下,"Attachment:\传送门.bmp",识别相似度,intTx,intTy
If intTx>0 And intTy>0 Then
变量 相对X=intTx - 小地图左
变量 相对Y=intTy - 小地图上
变量 距离=平方根((相对X - 小地图主角X)^2 + (相对Y - 小地图主角Y)^2)
If 距离<=180 Then
变量 找到传送门=1
Exit Do
End If
End If

// 螺旋探索移动(基于固定主界面中心)
If 螺旋方向=0 Then 左键点击 主界面中心X + 螺旋步长, 主界面中心Y
ElseIf 螺旋方向=1 Then 左键点击 主界面中心X, 主界面中心Y + 螺旋步长
ElseIf 螺旋方向=2 Then 左键点击 主界面中心X - 螺旋步长, 主界面中心Y
ElseIf 螺旋方向=3 Then 左键点击 主界面中心X, 主界面中心Y - 螺旋步长
End If

延时 300
变量 搜索超时计数=搜索超时计数+1
变量 已走步数=已走步数+1

// 螺旋方向切换逻辑
If 已走步数>=当前步长次数 Then
变量 已走步数=0
变量 螺旋方向=(螺旋方向+1)mod4
变量 方向切换计数=方向切换计数+1
If 方向切换计数>=2 Then
变量 当前步长次数=当前步长次数+1
变量 方向切换计数=0
End If
End If

// 超时处理
If 搜索超时计数>=最大搜索次数 Then
MessageBox "传送门搜索超时,脚本暂停"
Exit Do
End If

// 移动中检测随机战斗
找图 0,0,1920,1080,"Attachment:\结算界面.bmp",识别相似度,intSx,intSy
If intSx>0 And intSy>0 Then
左键点击 intSx+50, intSy+50
延时 1000
End If
Loop While 找到传送门=0

// 移动到传送门并进入
If 找到传送门=1 Then
变量 相对X=intTx - 小地图左
变量 相对Y=intTy - 小地图上
// 精准移动到传送门
If 相对Y < 小地图主角Y -10 Then 左键点击 主界面中心X, 主界面中心Y - 方位偏移量
ElseIf 相对Y > 小地图主角Y +10 Then 左键点击 主界面中心X, 主界面中心Y + 方位偏移量
ElseIf 相对X < 小地图主角X -10 Then 左键点击 主界面中心X - 方位偏移量, 主界面中心Y
ElseIf 相对X > 小地图主角X +10 Then 左键点击 主界面中心X + 方位偏移量, 主界面中心Y
ElseIf 相对X < 80 And 相对Y <80 Then 左键点击 主界面中心X - 方位偏移量, 主界面中心Y - 方位偏移量
ElseIf 相对X >100 And 相对Y <80 Then 左键点击 主界面中心X + 方位偏移量, 主界面中心Y - 方位偏移量
End If

延时 移动后延时

// 检测战斗并处理
找图 0,0,1920,1080,"Attachment:\结算界面.bmp",识别相似度,intSx,intSy
If intSx>0 And intSy>0 Then
左键点击 intSx+50, intSy+50
延时 1000
End If

// 点击进入下一层
找图 0,0,1920,1080,"Attachment:\进入.bmp",识别相似度,intEx,intEy
If intEx>0 And intEy>0 Then
左键点击 intEx, intEy
延时 2000
MessageBox "已找到传送门并进入下一层!"
End If
End If
End If
Wend // 主循环结束

// ===================================== 脚本结束提示 =====================================
If 探索度满=1 Then
MessageBox "探索度100%!脚本完成全部任务"
ElseIf 循环次数>=最大循环次数 Then
MessageBox "已达最大循环次数(" & 最大循环次数 & "次),脚本暂停"
End If

您的脚本存在下列错误,将不能正常运行:
语法错误:脚本 我的脚本2 ,第205行,第5个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第136行,第9个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第116行,第58个字符:(错误码19)缺少符号Sub。
语法错误:脚本 我的脚本2 ,第116行,第58个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第116行,第36个字符:(错误码121)不是预期的符号 变量或标号。
语法错误:脚本 我的脚本2 ,第116行,第9个字符:(错误码103)缺少符号 右括号 ')'。
语法错误:脚本 我的脚本2 ,第116行,第9个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第115行,第58个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第115行,第45个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第115行,第9个字符:(错误码103)缺少符号 右括号 ')'。
语法错误:脚本 我的脚本2 ,第115行,第9个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第112行,第41个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第112行,第26个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第112行,第9个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第110行,第41个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第110行,第26个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第110行,第9个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第107行,第41个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第107行,第31个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第107行,第22个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第107行,第9个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第106行,第41个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第106行,第31个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第106行,第22个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第106行,第9个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第104行,第46个字符:(错误码0)没有找到合法的符号。
语法错误:脚本 我的脚本2 ,第104行,第5个字符:(错误码0)没有找到合法的符号。

2#

这个看部出来哦 估计是语句部对的问题多

有事就QQ 136874377 QQ交流群300857068   接各种脚本定做 价格优惠
3#

注:你好,错误部分已用!!!标出
  1. // ===================================== 模块1:初始化配置(移除窗口激活,保留核心参数) =====================================
  2. // 移除窗口激活步骤(手动固定游戏窗口后无需此操作)
  3. 延时 1000 // 预留1秒准备时间,确保游戏窗口已固定到位
  4. // 核心变量(基于手动固定窗口后的固定坐标)
  5. 变量 小地图左=770 // 小地图固定左边界(手动固定后不变)
  6. 变量 小地图上=280 // 小地图固定上边界(手动固定后不变)
  7. 变量 小地图右=950 // 小地图固定右边界(手动固定后不变)
  8. 变量 小地图下=460 // 小地图固定下边界(手动固定后不变)
  9. 变量 小地图主角X=860 // 小地图内主角标识位置(固定在小地图中心)
  10. 变量 小地图主角Y=370 // 小地图内主角标识位置(固定在小地图中心)
  11. 变量 主界面中心X=480 // 主界面主角位置(固定在游戏界面中心,非战斗时)
  12. 变量 主界面中心Y=520 // 主界面主角位置(固定在游戏界面中心,非战斗时)
  13. 变量 循环次数=0 // 防死循环计数
  14. 变量 最大循环次数=2000 // 最大循环次数(可调整)
  15. 变量 目标方位="" // 记录目标方位
  16. 变量 探索度满=0 // 标记探索度是否100%
  17. 变量 识别相似度=0.75 // 图像识别相似度(0.7-0.8可调)
  18. 变量 移动后延时=1500 // 移动后等待时间(ms,可调整)
  19. 变量 战斗后延时=3000 // 战斗结束后等待时间(ms,可调整)
  20. 变量 方位偏移量=70 // 主界面移动偏移量(可调整)
  21. // NPC交互相关变量
  22. 变量 NPC点击次数=0 // 记录"确定"点击次数
  23. 变量 NPC最大点击次数=10 // 最大点击次数(5-10次可调)
  24. 变量 NPC点击超时=0 // NPC点击超时计数
  25. 变量 NPC超时阈值=50 // 超时阈值(50次×300ms=15秒)
  26. // ===================================== 修正后的主循环(核心语法修复) =====================================
  27. While 探索度满=0 and 循环次数<最大循环次数
  28. 变量 循环次数=循环次数+1
  29. 变量 找到目标=0
  30. 变量 目标类型=""
  31. // 优先级1:怪物(小地图内50px范围内有效)
  32. 找图 小地图左,小地图上,小地图右,小地图下,"Attachment:\怪物.bmp",识别相似度,intTx,intTy
  33. If intTx>0 And intTy>0 Then
  34. 变量 相对X=intTx - 小地图左
  35. 变量 相对Y=intTy - 小地图上
  36. 变量 距离=平方根((相对X - 小地图主角X)^2 + (相对Y - 小地图主角Y)^2)
  37. If 距离≤50 Then
  38. 变量 找到目标=1
  39. 变量 目标类型="怪物"
  40. End If
  41. End If
  42. // 优先级2:金钱
  43. If 找到目标=0 Then
  44. 找图 小地图左,小地图上,小地图右,小地图下,"Attachment:\金钱.bmp",识别相似度,intTx,intTy
  45. If intTx>0 And intTy>0 Then
  46. 变量 相对X=intTx - 小地图左
  47. 变量 相对Y=intTy - 小地图上
  48. 变量 距离=平方根((相对X - 小地图主角X)^2 + (相对Y - 小地图主角Y)^2)
  49. If 距离≤50 Then
  50. 变量 找到目标=1
  51. 变量 目标类型="金钱"
  52. End If
  53. End If
  54. End If
  55. // 优先级3:宝箱
  56. If 找到目标=0 Then
  57. 找图 小地图左,小地图上,小地图右,小地图下,"Attachment:\宝箱.bmp",识别相似度,intTx,intTy
  58. If intTx>0 And intTy>0 Then
  59. 变量 相对X=intTx - 小地图左
  60. 变量 相对Y=intTy - 小地图上
  61. 变量 距离=平方根((相对X - 小地图主角X)^2 + (相对Y - 小地图主角Y)^2)
  62. If 距离≤50 Then
  63. 变量 找到目标=1
  64. 变量 目标类型="宝箱"
  65. End If
  66. End If
  67. End If
  68. // 优先级4:NPC
  69. If 找到目标=0 Then
  70. 找图 小地图左,小地图上,小地图右,小地图下,"Attachment:\NPC.bmp",识别相似度,intTx,intTy
  71. If intTx>0 And intTy>0 Then
  72. 变量 相对X=intTx - 小地图左
  73. 变量 相对Y=intTy - 小地图上
  74. 变量 距离=平方根((相对X - 小地图主角X)^2 + (相对Y - 小地图主角Y)^2)
  75. If 距离≤50 Then
  76. 变量 找到目标=1
  77. 变量 目标类型="NPC"
  78. End If
  79. End If
  80. End If
  81. // 优先级5:传送门(仅识别,探索度满前不处理)
  82. If 找到目标=0 Then
  83. 找图 小地图左,小地图上,小地图右,小地图下,"Attachment:\传送门.bmp",识别相似度,intTx,intTy
  84. If intTx>0 And intTy>0 Then
  85. 变量 相对X=intTx - 小地图左
  86. 变量 相对Y=intTy - 小地图上
  87. 变量 距离=平方根((相对X - 小地图主角X)^2 + (相对Y - 小地图主角Y)^2)
  88. If 距离≤50 Then
  89. 变量 找到目标=1
  90. 变量 目标类型="传送门"
  91. End If
  92. End If
  93. End If
  94. // ===================================== 模块2.5:目标方位判断(最终、最稳定版本) =====================================
  95. If 找到目标 = 1 And 目标类型 <> "传送门" Then
  96. // 步骤1:计算目标相对于主角的坐标 (使用正确的函数语法)
  97. 变量 相对X = Sub(intTx, 小地图左)'!!!没有这种语法
  98. 变量 相对Y = Sub(intTy, 小地图上))'!!!没有这种语法
  99. // 步骤2:将所有需要比较的计算结果,预先存入临时变量 (使用正确的函数语法)
  100. 变量 主角Y减10 = Sub(小地图主角Y, 10))'!!!没有这种语法
  101. 变量 主角Y加10 = Add(小地图主角Y, 10)
  102. 变量 主角X减10 = Sub(小地图主角X, 10))'!!!没有这种语法
  103. 变量 主角X加10 = Add(小地图主角X, 10)
  104. 变量 相对X差的绝对值 = Abs(Sub(相对X, 小地图主角X)))'!!!没有这种语法
  105. 变量 相对Y差的绝对值 = Abs(Sub(相对Y, 小地图主角Y)))'!!!没有这种语法
  106. // 步骤3:在If语句中,只进行变量之间的比较
  107. If 相对Y < 主角Y减10 And 相对X差的绝对值 <= 10 Then
  108. 变量 目标方位 = "上"
  109. ElseIf 相对Y > 主角Y加10 And 相对X差的绝对值 <= 10 Then
  110. 变量 目标方位 = "下"
  111. ElseIf 相对X < 主角X减10 And 相对Y差的绝对值 <= 10 Then
  112. 变量 目标方位 = "左"
  113. ElseIf 相对X > 主角X加10 And 相对Y差的绝对值 <= 10 Then
  114. 变量 目标方位 = "右"
  115. ElseIf 相对X < 主角X减10 And 相对Y < 主角Y减10 Then
  116. 变量 目标方位 = "左上"
  117. ElseIf 相对X > 主角X加10 And 相对Y < 主角Y减10 Then
  118. 变量 目标方位 = "右上"
  119. ElseIf 相对X < 主角X减10 And 相对Y > 主角Y加10 Then
  120. 变量 目标方位 = "左下"
  121. ElseIf 相对X > 主角X加10 And 相对Y > 主角Y加10 Then
  122. 变量 目标方位 = "右下"
  123. End If
  124. End If
  125. // ===================================== 主界面移动+目标交互 =====================================
  126. // 情况1:找到有效目标(非传送门)
  127. If 找到目标=1 And 目标类型<>"传送门" Then
  128. // 按固定方位移动(主角在中心,直接偏移)
  129. If 目标方位="上" Then 左键点击 主界面中心X, 主界面中心Y - 方位偏移量
  130. ElseIf 目标方位="下" Then 左键点击 主界面中心X, 主界面中心Y + 方位偏移量'!!!遵守代码格式要求,Then后边的内容应该另起一行
  131. ElseIf 目标方位="左" Then 左键点击 主界面中心X - 方位偏移量, 主界面中心Y'!!!遵守代码格式要求,Then后边的内容应该另起一行
  132. ElseIf 目标方位="右" Then 左键点击 主界面中心X + 方位偏移量, 主界面中心Y'!!!遵守代码格式要求,Then后边的内容应该另起一行
  133. ElseIf 目标方位="左上" Then 左键点击 主界面中心X - 方位偏移量, 主界面中心Y - 方位偏移量'!!!遵守代码格式要求,Then后边的内容应该另起一行
  134. ElseIf 目标方位="右上" Then 左键点击 主界面中心X + 方位偏移量, 主界面中心Y - 方位偏移量'!!!遵守代码格式要求,Then后边的内容应该另起一行
  135. ElseIf 目标方位="左下" Then 左键点击 主界面中心X - 方位偏移量, 主界面中心Y + 方位偏移量'!!!遵守代码格式要求,Then后边的内容应该另起一行
  136. ElseIf 目标方位="右下" Then 左键点击 主界面中心X + 方位偏移量, 主界面中心Y + 方位偏移量'!!!遵守代码格式要求,Then后边的内容应该另起一行
  137. End If
  138. 延时 移动后延时 // 等待移动到位
  139. // 移动后检测随机战斗
  140. 找图 0,0,1920,1080,"Attachment:\结算界面.bmp",识别相似度,intSx,intSy
  141. If intSx>0 And intSy>0 Then
  142. 左键点击 intSx+50, intSy+50 // 点击结算返回
  143. 延时 1000
  144. Continue // 回到循环开头重新识别
  145. End If
  146. // 目标类型交互逻辑
  147. If 目标类型="怪物" Then
  148. 延时 战斗后延时
  149. 找图 0,0,1920,1080,"Attachment:\结算界面.bmp",识别相似度,intSx,intSy
  150. If intSx>0 And intSy>0 Then
  151. 左键点击 intSx+50, intSy+50
  152. 延时 1000
  153. End If
  154. ElseIf 目标类型="金钱" Or 目标类型="宝箱" Then
  155. 延时 1500 // 等待拾取动画
  156. ElseIf 目标类型="NPC" Then
  157. // NPC多次点击"确定"逻辑
  158. 变量 NPC点击次数=0
  159. 变量 NPC点击超时=0
  160. Do
  161. 找图 0,0,1920,1080,"Attachment:\确定.bmp",识别相似度,intOkx,intOky
  162. If intOkx>0 And intOky>0 Then
  163. 左键点击 intOkx, intOky
  164. 延时 800 // 等待对话切换
  165. 变量 NPC点击次数=NPC点击次数+1
  166. If NPC点击次数>=NPC最大点击次数 Then Exit Do
  167. Else
  168. 变量 NPC点击超时=NPC点击超时+1
  169. 延时 300
  170. End If
  171. If NPC点击超时>=NPC超时阈值 Then
  172. MessageBox "NPC对话超时,脚本继续执行"
  173. Exit Do
  174. End If
  175. Loop
  176. End If
  177. // 传送门询问处理(探索度不满时点击不进入)
  178. 找图 0,0,1920,1080,"Attachment:\传送门询问.bmp",识别相似度,intQx,intQy
  179. If intQx>0 And intQy>0 Then
  180. 找图 0,0,1920,1080,"Attachment:\不进入.bmp",识别相似度,intNx,intNy
  181. If intNx>0 And intNy>0 Then
  182. 左键点击 intNx, intNy
  183. 延时 1000
  184. End If
  185. End If
  186. // 情况2:无目标,沿边界顺时针探索
  187. ElseIf 找到目标=0 Then
  188. // 识别蓝色边界(固定小地图内找色)
  189. 找色 小地图左,小地图上,小地图右,小地图下,"#0099FF",识别相似度,intBx,intBy
  190. If intBx>0 And intBy>0 Then
  191. 变量 相对Bx=intBx - 小地图左
  192. 变量 相对By=intBy - 小地图上
  193. If 相对Bx < 小地图主角X - 20 Then
  194. 左键点击 主界面中心X, 主界面中心Y - 方位偏移量
  195. ElseIf 相对By < 小地图主角Y - 20 Then
  196. 左键点击 主界面中心X + 方位偏移量, 主界面中心Y
  197. ElseIf 相对Bx > 小地图主角X + 20 Then
  198. 左键点击 主界面中心X, 主界面中心Y + 方位偏移量
  199. ElseIf 相对By > 小地图主角Y + 20 Then
  200. 左键点击 主界面中心X - 方位偏移量, 主界面中心Y
  201. End If
  202. Else
  203. // 初始无边界,默认上移
  204. 左键点击 主界面中心X, 主界面中心Y - 方位偏移量
  205. End If
  206. 延时 移动后延时
  207. // 探索移动后检测随机战斗
  208. 找图 0,0,1920,1080,"Attachment:\结算界面.bmp",识别相似度,intSx,intSy
  209. If intSx>0 And intSy>0 Then
  210. 左键点击 intSx+50, intSy+50
  211. 延时 1000
  212. Continue
  213. End If
  214. End If
  215. // ===================================== 探索度100%后找传送门 =====================================
  216. 找图 0,0,1920,1080,"Attachment:\探索度100.bmp",识别相似度,intDx,intDy
  217. If intDx>0 And intDy>0 Then
  218. 变量 探索度满=1
  219. 变量 找到传送门=0
  220. 变量 搜索超时计数=0
  221. 变量 最大搜索次数=300 // 90秒超时
  222. 变量 螺旋步长=30 // 螺旋移动步长
  223. 变量 螺旋方向=0 // 0=右,1=下,2=左,3=上
  224. 变量 当前步长次数=1 // 当前方向步数
  225. 变量 已走步数=0 // 已走步数
  226. 变量 方向切换计数=0 // 方向切换计数器
  227. Do
  228. // 固定小地图内找传送门
  229. 找图 小地图左,小地图上,小地图右,小地图下,"Attachment:\传送门.bmp",识别相似度,intTx,intTy
  230. If intTx>0 And intTy>0 Then
  231. 变量 相对X=intTx - 小地图左
  232. 变量 相对Y=intTy - 小地图上
  233. 变量 距离=平方根((相对X - 小地图主角X)^2 + (相对Y - 小地图主角Y)^2)
  234. If 距离<=180 Then
  235. 变量 找到传送门=1
  236. Exit Do
  237. End If
  238. End If
  239. // 螺旋探索移动(基于固定主界面中心)
  240. If 螺旋方向=0 Then 左键点击 主界面中心X + 螺旋步长, 主界面中心Y'!!!遵守代码格式要求,Then后边的内容应该另起一行
  241. ElseIf 螺旋方向=1 Then 左键点击 主界面中心X, 主界面中心Y + 螺旋步长'!!!遵守代码格式要求,Then后边的内容应该另起一行
  242. ElseIf 螺旋方向=2 Then 左键点击 主界面中心X - 螺旋步长, 主界面中心Y'!!!遵守代码格式要求,Then后边的内容应该另起一行
  243. ElseIf 螺旋方向=3 Then 左键点击 主界面中心X, 主界面中心Y - 螺旋步长'!!!遵守代码格式要求,Then后边的内容应该另起一行
  244. End If
  245. 延时 300
  246. 变量 搜索超时计数=搜索超时计数+1
  247. 变量 已走步数=已走步数+1
  248. // 螺旋方向切换逻辑
  249. If 已走步数>=当前步长次数 Then
  250. 变量 已走步数=0
  251. 变量 螺旋方向=(螺旋方向+1)mod4'!!!Mod和4要间隔空格
  252. 变量 方向切换计数=方向切换计数+1
  253. If 方向切换计数>=2 Then
  254. 变量 当前步长次数=当前步长次数+1
  255. 变量 方向切换计数=0
  256. End If
  257. End If
  258. // 超时处理
  259. If 搜索超时计数>=最大搜索次数 Then
  260. MessageBox "传送门搜索超时,脚本暂停"
  261. Exit Do
  262. End If
  263. // 移动中检测随机战斗
  264. 找图 0,0,1920,1080,"Attachment:\结算界面.bmp",识别相似度,intSx,intSy
  265. If intSx>0 And intSy>0 Then
  266. 左键点击 intSx+50, intSy+50
  267. 延时 1000
  268. End If
  269. Loop While 找到传送门=0
  270. // 移动到传送门并进入
  271. If 找到传送门=1 Then
  272. 变量 相对X=intTx - 小地图左
  273. 变量 相对Y=intTy - 小地图上
  274. // 精准移动到传送门
  275. If 相对Y < 小地图主角Y -10 Then 左键点击 主界面中心X, 主界面中心Y - 方位偏移量'!!!遵守代码格式要求,Then后边的内容应该另起一行
  276. ElseIf 相对Y > 小地图主角Y +10 Then 左键点击 主界面中心X, 主界面中心Y + 方位偏移量'!!!遵守代码格式要求,Then后边的内容应该另起一行
  277. ElseIf 相对X < 小地图主角X -10 Then 左键点击 主界面中心X - 方位偏移量, 主界面中心Y'!!!遵守代码格式要求,Then后边的内容应该另起一行
  278. ElseIf 相对X > 小地图主角X +10 Then 左键点击 主界面中心X + 方位偏移量, 主界面中心Y'!!!遵守代码格式要求,Then后边的内容应该另起一行
  279. ElseIf 相对X < 80 And 相对Y <80 Then 左键点击 主界面中心X - 方位偏移量, 主界面中心Y - 方位偏移量'!!!遵守代码格式要求,Then后边的内容应该另起一行
  280. ElseIf 相对X >100 And 相对Y <80 Then 左键点击 主界面中心X + 方位偏移量, 主界面中心Y - 方位偏移量'!!!遵守代码格式要求,Then后边的内容应该另起一行
  281. End If
  282. 延时 移动后延时
  283. // 检测战斗并处理
  284. 找图 0,0,1920,1080,"Attachment:\结算界面.bmp",识别相似度,intSx,intSy
  285. If intSx>0 And intSy>0 Then
  286. 左键点击 intSx+50, intSy+50
  287. 延时 1000
  288. End If
  289. // 点击进入下一层
  290. 找图 0,0,1920,1080,"Attachment:\进入.bmp",识别相似度,intEx,intEy
  291. If intEx>0 And intEy>0 Then
  292. 左键点击 intEx, intEy
  293. 延时 2000
  294. MessageBox "已找到传送门并进入下一层!"
  295. End If
  296. End If
  297. End If
  298. Wend // 主循环结束
  299. // ===================================== 脚本结束提示 =====================================
  300. If 探索度满=1 Then
  301. MessageBox "探索度100%!脚本完成全部任务"
  302. ElseIf 循环次数>=最大循环次数 Then
  303. MessageBox "已达最大循环次数(" & 最大循环次数 & "次),脚本暂停"
  304. End If
复制代码

最后编辑瑞祥幽冥狼 最后编辑于 2026-01-04 08:52:47
收 徒 索 引 ← ← ← ← ← ← ← ← ← ← 点 击

个 人 Q Q 1 : 1 2 2 3 1 1 6 6 1 8[将满]
个 人 Q Q 2 : 6 1 7 0 9 5 5 4 3[可加]
4#

,

感谢大神一句句的指导,

5#

还是狼哥牛啊

发新话题 回复该主题