求按键精灵高手指导一下

查看 82|回复 5
作者:hssyz   
设想:只要找到指定图或者点,重复循环指定动作(点击),如果找不到指定图或点,则继续下一动作。
我自己写了一个脚本,但是运行时发现,他只运行一次找图,指定图片还存在的情况下就去继续下一个动作了。
求大佬指点一下 应该如何修改?
MoveTo 1270, 473
LeftClick 2
Do
XY=Plugin.Color.FindMultiColor(1106,620,1220,648,"333333","-20|2|333333,-19|5|333333,-19|8|333333",0.8)
ZB = InStr(XY,"|")
X = Clng(Left(XY, ZB - 1)) : Y = Clng(Right(XY, Len(XY) - ZB))
//如果存在,则一直重复后面点击动作
If x>0 and y>0 Then  
MoveTo 1387, 647
Delay 1000
LeftClick 2
Exit Do
End If
Loop
//找不到,退出找,继续下一步,移动点击
MoveTo 1346, 636
Delay 500
LeftClick 1

找不到, 动作

jyjjf   

你把整个脚本不限制次数运行也不行?
hssyz
OP
  


jyjjf 发表于 2023-7-8 10:21
你把整个脚本不限制次数运行也不行?

for语句吗?
jyjjf   


hssyz 发表于 2023-7-8 10:46
for语句吗?

脚本属性里不是有脚本循环次数么,里面设置循环到按中止键为止,你不会不知道这个吧,就是整个脚本不停地运行
xbang   

If x>0 and y>0 Then  
MoveTo 1387, 647
Delay 1000
LeftClick 2
Exit Do
这个地方,你的判断有问题
xbang   

MoveTo 1270, 473
LeftClick 2
Do
XY=Plugin.Color.FindMultiColor(1106,620,1220,648,"333333","-20|2|333333,-19|5|333333,-19|8|333333",0.8)
ZB = InStr(XY,"|")
X = Clng(Left(XY, ZB - 1)) : Y = Clng(Right(XY, Len(XY) - ZB))
//如果存在,则一直重复后面点击动作
If x>0 and y>0 Then  
MoveTo 1387, 647
Delay 1000
LeftClick 2
else/////加上这个-找到了就点击。没找到才退出循环,不寻找
Exit Do
End If
Loop
//找不到,退出找,继续下一步,移动点击
MoveTo 1346, 636
Delay 500
LeftClick 1
您需要登录后才可以回帖 登录 | 立即注册

返回顶部