马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
一个自动登录游戏的脚本,开了两个线程,CPU占用率高达25,比游戏的占用率还高5倍
两个线程的代码是这样的,里边调用的函数,基本都是间隔200毫秒循环找图
对脚本执行速度影响较小的情况下,有没有办法解决CPU占用过高的问题
- 功能 启动脚本()
- 设置资源路径()
- 读取账号()
- 如果(账号)
- ///////////启动游戏,找开始游戏子句柄/////////////
- 进程打开(游戏路径,1)
- 等待(1000)
- 循环(真)
- 变量 hwndz = dm.EnumWindowByProcess("xy2_launch.exe","开始游戏","",1+4)
- 调试输出("开始游戏句柄为:"&hwndz)
- 如果(hwndz>0)
- 等待(2000)
- dm.BindWindowEx(hwndz,"normal","windows","normal","",0)
- 等待(200)
- 移动单击(70,20)
- 移动单击(70,20)
- dm.UnBindWindow()
- 跳出
- 结束
- 等待(500)
- 结束
- 找图判断("界面logo","登录模式")
- 找图单击("一进",0,0)
- 找图单击("一进",0,0)
- 等待图片("一进")
- 键盘发送字符串(服务器) //输入服务器
- 等待(100)
- 找图单击("一进",55,21)
- 找图单击("一进",0,0)
- 等待图片("进入")
- 等待(200)
- 键盘发送字符串(账号)
- 等待(200)
- dm.KeyPressChar("tab")
- 等待(200)
- 键盘发送字符串(密码)
- 等待(200)
- 找图单击("进入",0,0)
- 是否有角色()
- 否则
- 线程关闭(检测句柄,0)
- 等待(500)
- 线程关闭(启动句柄,0)
- 结束
- 结束
复制代码
- 功能 图片检测线程1()
- dm.SetPath("C:\\Users\\Administrator\\Desktop\\资源")
- 变量 jcx,jcy
- 循环(真)
- jcx=-1
- dm.FindPic(0,0,2000,2000,"接受.bmp|确定.bmp","000000",0.8,0,jcx,jcy)
- 如果(jcx>0)
- dm.MoveTo(jcx,jcy)
- 等待(200)
- dm.LeftClick()
- 结束
- 等待(500)
- 结束
- 结束
复制代码 下边是启动线程的方法
功能 热键0_热键()
启动句柄=线程开启("启动脚本","")
检测句柄=线程开启("图片检测线程1","")
结束
|