1、点击npc对话
2、算准点击npc之后,对话框延时多长时间弹出来。
3、用延时命令,延时之后再进行找图。LeftClick1//点击npcDelay3000//延时三秒等待npc对话框出现FindPic0,0,1024,768,"c:\接新任务按钮.bmp",0.9,intX,intYIfintX>0andintY>0Then//执行操作EndIf
4、评分:★评语:要使用此法,前提是使用者的网络延迟情况要比脚本内设定的延时小。网络太渣超过脚本设定延时则无法正常使用。如果脚本作者考虑到网络延迟因素,尽可能加大脚本里的延时,脚本的效率就会变得很低。
5、方法2:循环里加入计数,设置循环次数,1次2次10次,按照需求设置。如果次数到了,则退出循环。//以查找npc对话框中的接新任务按钮为例1、使用变量i来记录次数。2、找图。没找到图则i=i+13、当i=10,则退出循环。Do循环例子:Dimii=0DoFindPic0,0,1024,768,"c:\接新任务按钮.bmp",0.9,intX,intYIfintX>0andintY>0Then//执行操作ExitDoEndIfi=i+1Ifi=10ThenExitDoEndIfLoopFor循环例子:Fori=1To10FindPic0,0,1024,768,"c:\接新任务按钮.bmp",0.9,intX,intYIfintX>0andintY>0Then//执行操作ExitForEndIfNext评分:★★评语:百分百解决死循环问题。
6、方法3:循环里加入计数和计时,设置循环次数,每次循环延时多长时间。次数到了,则退出循环。//以查找npc对话框中的接新任务按钮为例1、使用变量i来记录次数。2、找图。没找到图则i=i+13、加延时4、当i=10,则退出循环。Do循环例子:Dimii=0DoFindPic0,0,1024,768,"c:\接新任务按钮.bmp",0.9,intX,intYIfintX>0andintY>0Then//执行操作ExitDoEndIfi=i+1Ifi=10ThenExitDoEndIfDelay1000LoopFor循环例子:Fori=1To10FindPic0,0,1024,768,"c:\接新任务按钮.bmp",0.9,intX,intYIfintX>0andintY>0Then//执行操作ExitForEndIfDelay1000Next评分:★★★评语:百分百解决死循环问题,并且相较于循环加计数的,多加了一个计时,我们以时间去限制循环,而不单单是次数。 例如:我们希望这个循环,1分钟内执行不了则退出循环。我们可以设置循环60次,每次循环延时1秒钟,或者循环10次,每次循环延时6秒。