按键精灵如何设置同时符合2个条件才执行下一步动作?

比较菜鸟,下面的是我写的,不知道哪里有问题,请高手指点。
IfColor 883,236,"1A190F",2
IfColor 881, 236, "1A190F",0
MoveTo 1080, 243
LeftClick 1
Delay 500
MoveTo 780, 382
LeftClick 1
Delay 500
Else
End If
Else
End If
MoveTo 929, 536
LeftClick 1
Delay 1000
MoveTo 883, 236
原意是想某2个点的颜色都是1A190F时,就移动到某个地方点击一次。

按照你写的语句更改并注释一下:
假设我们需要一直监测这两点的颜色值,所以我们需要给这个过程做标记:
Rem A
//标记过程A (就是找第一点色的过程)
IfColor 883,236,"1A190F", 0 Then
//如果第一点的颜色为“1A190F” 时则进行下一点的判断,如果第一点的颜色如果不是这个颜色那么直接跳转到下面对应的ELSE语句,也就是回到标记位置,继续监视第一点的颜色。
Rem B
//标记过程B(就是监视第二点色的过程)
IfColor 881, 236, "1A190F",0 Then
//如果第一点颜色符合则判断第二点的颜色,如果也为真的话,进行下一步操作,就是下面的过程,如果第二点颜色不符合,跳转到下面的else,回到过程B,继续监视第二点颜色。
MoveTo 780, 382
LeftClick 1
Delay 500
else
goto B
End If
Else Goto A
End If追问

谢谢你的回复,如果我希望两点颜色都没通过时,点929,536刷新,下面对吗?
Rem A
IfColor 883,236,"1A190F", 0 Then
Rem B
IfColor 881, 236, "1A190F", 0 Then
MoveTo 780, 382
LeftClick 1
Delay 500
Else
MoveTo 929, 536
LeftClick 1
Delay 1000
Goto B
End If
Else
Goto A
End If
MoveTo 929, 536
LeftClick 1
Delay 1000

追答

恩,你的这个意思就是第二点颜色不正确的情况下刷新,但是如果第一点的颜色也不是你需要的颜色就不会刷新的,这个我估计你应该知道,可能你不需要。

追问

啊,其实我是想如果两个点任意一个点不正确就刷新,如果两个点都是我想要的颜色就执行其他命令,执行完后再次刷新下重新判断两个点,请教下刷新命令需要放在什么位置?
这个是一个游戏购买东西时用的,我想要的效果是判断两个点符合条件后,点击购买,再点击确认,再刷新,重新循环执行。

追答

简单啊,就是两个else后面都加上刷新的操作:
Rem A
IfColor 883,236,"1A190F", 0 Then
Rem B
IfColor 881, 236, "1A190F", 0 Then
MoveTo 780, 382
LeftClick 1
Delay 500
Else
MoveTo 929, 536
LeftClick 1
Delay 1000
Goto B
End If
Else
MoveTo 929, 536
LeftClick 1
Delay 100
Goto A
End If
就是这样,在第二个else后面增加刷新的操作。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
Dim a '定义一个变量

Rem start '标记开始
a = 0 初始化值
IfColor 883, 236, "1A190F", 2 Then '如果找到了a=1
a=1
End If
IfColor 881, 236, "1A190F", 0 Then'如果找到了a=a+1 , A现在=2

a=a+1
End If

If a = 2 Then 'a=2就说明两个都找到了
MoveTo 1080, 243
LeftClick 1
Delay 500
MoveTo 780, 382
LeftClick 1
Delay 500
Else 'a不等于2 就刷新
MoveTo 929, 536
LeftClick 1
Delay 1000
MoveTo 883, 236

Goto start '跳转到标记

End If

看不懂hi我!!!追问

程序自动检测语法没错,但实际用的时候发现不能购买。
点1坐标883, 236和点2坐标881, 236颜色都为为1A190F时,点击购买坐标点1080, 243,再点击确认购买坐标点780, 382,然后回到刷新点929, 536点击一次,继续循环。
上面看程序应该是没错,但实际运行时发现判断2点都正常是,不去点击购买点点击以及看不到确认购买的点击,请问是哪步有问题?

追答

我给的是一个思路, 并未考虑到你的游戏!!
程序流程肯定是没有错的,你应该思考一下你的游戏,还有脚本命令等 是否配对, 从你上述描述的,我认为有两点你需要观察,一个是颜色,一个是坐标,上面的数字都是死的,那么窗口被移动,或者窗体大小被改变都会影响以上参数,自己多动动手,完成之后会很有成就感的,如果遇到其他问题!在继续追问!

本回答被提问者采纳
第2个回答  2012-02-09
用大漠插件多点找色 ,几条命令即可,而且思路清晰!干嘛那么长呢!
1.首先你下载大漠插件,把插件添加进去
2.复制以下代码进去即可
PutAttachment ".\plugin","*.dll"
PutAttachment ".\plugin\大漠梦想","*.bmp"
PutAttachment ".\plugin\大漠梦想","*.txt"
PutAttachment ".\plugin\大漠梦想","dm.dll"
//↑PutAttachment释放附件
Call Plugin.RegDll.Reg(".\plugin\大漠梦想\dm.dll")
set dm = createobject("dm.dmsoft")
dm.SetPath ".\plugin\大漠梦想"
Delay 40

color 1= dm.GetColor(883,236)
delay 10
color 2= dm.GetColor(881, 236)
delay 10
If color1 = color 2 Then
//这边填你要移动的命令啊,其他七七八八的即可
End If追问

语义错误:第6行:没有找到插件。错误附加码=2392:0,我将大漠梦想.ec插件放在plugin目录。
PutAttachment ".\plugin","*.dll"
PutAttachment ".\plugin\大漠梦想","*.bmp"
PutAttachment ".\plugin\大漠梦想","*.txt"
PutAttachment ".\plugin\大漠梦想","dm.dll"
//↑PutAttachment释放附件
Call Plugin.RegDll.Reg(".\plugin\大漠梦想\dm.dll")
set dm = createobject("dm.dmsoft")
dm.SetPath ".\plugin\大漠梦想"

追答

..你下载的插件是易语言的插件,正确的插件是后缀名是.dll,你要去按键精灵的论坛下载插件

第3个回答  2016-04-25