|
马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
某游戏,为签到奖励,建N多小号,用TC编的自动上号脚本。
偶尔会出现脚本在 找图 命令 那里停住了不执行
按F9结束线程,再按F8重新开始,仍旧会卡在 找图 命令 那里
把整个脚本彻底关掉,再重新启动,又正常了。
偶尔,时间不确定,大约几个小时出一次,也可能一整天都不出问题
我想请问:有哪些情况会造成脚本卡在找图命令?
脚本大致流程如下:
功能 执行()
//从这里开始你的代码
bianhao=1
bianhao1=10000
循环(bianhao<=bianhao1)
zhanghao=字符串拼接("XXX",转字符型(bianhao))
上号() //执行上号功能,即登录游戏再退出到登录界面的过程
bianhao=bianhao+1
结束
线程关闭(线程ID1)
已按F8=0
线程已执行=0
结束
功能 启动_热键()
如果(已按F8==1)
消息框("程序正在运行,请按F9结束后再运行")
否则
已按F8=1
线程ID1=线程开启("启动游戏","")
结束
结束
//终止热键操作
功能 终止_热键()
线程关闭(线程ID)
线程关闭(线程ID1)
线程已执行=0
已按F8=0
结束
功能 启动游戏() //测试游戏窗口是否存在,如果不存在,则关闭线程 "执行",启动游戏,再次启动线程“执行"
循环(真)
窗口句柄=窗口查找("游戏窗口")
如果(窗口句柄==0)
线程关闭(线程ID)
等待(5000)
线程已执行=0
进程句柄=进程打开("游戏.exe")
等待(30000)
starttime=当前时间()
循环(真)
窗口句柄=窗口查找("游戏窗口")
如果(窗口句柄>0)
跳出
结束
runtime=时间间隔("s",starttime,当前时间()) //超过5分钟游戏未成功启动
如果(runtime>300)
跳出
结束
等待(1000)
结束
否则
如果(线程已执行==0)
窗口句柄=窗口查找("游戏窗口")
窗口获取位置(窗口句柄,x,y)
窗口激活(窗口句柄)
线程ID=线程开启("执行","")
线程已执行=1
结束
结束
等待(2000)
结束
结束
功能 上号()
窗口句柄=窗口查找("游戏窗口")
窗口获取位置(窗口句柄,x,y)
窗口激活(窗口句柄)
超级鼠标移动(500+x,477+y)
超级鼠标左键单击(1)
starttime=当前时间()
超级鼠标移动(1,1)
ret=找图(382+x,446+y,485+x,502+y,"rc:账号.bmp","000000",0.8,0,坐标x,坐标y) 此处为出问题的语句,测试了好久才发现是这一句不执行,语句前后的鼠标移动是为了证明这一点
超级鼠标移动(200,200)
循环(ret<0)
//等待(200)
runtime=时间间隔("s",starttime,当前时间())
如果(runtime>120)
窗口关闭(窗口句柄) //长时间找不到游戏主界面则关闭游戏。在后续的进入游戏及回登录界面中,所有循环找图语句都加入这一段以便游戏卡死后关闭掉,由功能(启动游戏)测试没有游戏窗口后关闭线程后重启
结束
超级鼠标移动(600+x,477+y)
超级鼠标左键单击(1)
ret=找图(382+x,446+y,485+x,502+y,"rc:账号.bmp","000000",0.8,0,坐标x,坐标y)
结束
。。。。//后续的进入游戏及回登录界面略
结束
|
|