老师,我写了一段代码,调试时也没有语法问题,但是后边有一部分总是不执行。我先说一下全部代码要表达的意思:游戏人物需要自动跑一段比较长的路(游戏支持自动巡径),期间会随机遇到一些怪,然后自动战斗,战斗结束后会自动接着跑,一直跑到目的地。代码内容前面是自动寻找任务人、自动接任务并开始跑任务,中间是遇到怪时的自动战斗命令,后边还有一段到达目的地后自动结束任务的代码。问题就出现在战斗命令上,只要开始执行自动战斗命令,后边的指令就不再执行了。
下面是自动战斗命令及以后的代码,您看下错在哪里,帮忙改一下。
Rem 战斗
FindPic 126, 57, 142, 70, "E:\护卫图库\战斗标志.bmp", 0.9, x, y
If x > 0 And y > 0 Then
Delay 1000
KeyPress "F1", 1
Delay 1000
MoveTo 260, 280
Delay 1000
LeftClick 2
MoveTo 516, 393
End If
Delay 20000
Goto 战斗
FindPic 671, 271, 764, 361, "E:\护卫图库\到达目的地.bmp", 1, x, y
If x > 0 And y > 0 Then
Delay 1000
MoveTo 720, 312
Delay 1000
LeftClick 1
End If
FindPic 0, 0, 160, 48, "E:\护卫图库\滴血洞.bmp", 1, x, y
If x > 0 And y > 0 Then
FindPic 0, 0, 1030, 800, "E:\护卫图库\问号.bmp", 0.55, x, y
If x > 0 And y > 0 Then
MoveTo x-7, x+77
Delay 1000
LeftClick 1
Delay 1000
MoveTo 341, 469
Delay 1000
LeftClick 1
Delay 1000
MoveTo 347, 500
Delay 1000
LeftClick 1
Delay 1000
MoveTo 355, 490
Delay 1000
LeftClick 1
Delay 3000
KeyPress "F3", 3
Goto 任务结束
End If
FindPic 0, 0, 160, 48, "E:\护卫图库\流波山.bmp", 1, x, y
If x > 0 And y > 0 Then
FindPic 0, 0, 1030, 800, "E:\护卫图库\问号.bmp", 0.55, x, y
If x > 0 And y > 0 Then
MoveTo x-3, y+88
Delay 1000
LeftClick 1
Delay 1000
MoveTo 356, 477
Delay 1000
LeftClick 1
Delay 1000
MoveTo 359, 499
Delay 1000
LeftClick 1
Delay 1000
MoveTo 359, 499
Delay 1000
LeftClick 1
Delay 3000
KeyPress "F3", 3
Goto 任务结束
End If
End If
End If
Rem 任务结束
Goto 开始
这部分代码太多了,这里写不开,所以省略了一部分寻找目的地的代码,但是应该足以表达出我的意思。我还想问一下“Goto 战斗"以下的代码(不包括Goto 战斗)能表达出下面的意思吗:首先到达了目的地,但由于任务是随机的,所以目的地会有4个(由于字数限制,我只列出了2个寻找地图的代码),所以需要先筛选出到达的是哪一个目的地,所以先寻找"滴血洞",如果找到了就执行带有"滴血洞.bmp"的那段代码,完成后回到标记为“开始”的地方,如果没有找到滴血洞就再寻找流波山,找到流波山就执行带有"流波山.bmp"代码,完成后回到标记为“开始”的地方,依次类推。找到一个目的地后自动完成结束任务,在返回标记为“开始”的地方。
|