|
地板

楼主 |
发表于 2014-9-10 02:18:37
|
只看该作者
功能 登录检测()
登录检测线程
调试输出("登录头")
Liuxt.记录("登录功能:“时刻准备着为您服务”")
dm=com("dm.dmsoft")
dm.SetPath(辅助.获取资源路径("rc:"))
变量 服务器X,服务器Y,登录句柄,机制,intX,intY,游戏路径
游戏路径=浏览框.获得("浏览框0")
大厅句柄 = dm.FindWindowByProcess("LolClient.exe","","PVP.net 客户端")
循环(大厅句柄<=0)
辅助.等待(500)
//没有打开
登录句柄 = dm.FindWindowByProcess("Client.exe","","英雄联盟登录程序")
如果(登录句柄==0)
Liuxt.记录("没有运行登录界面")
机制="没有打开"
如果结束
辅助.等待(500)
//已经打开
登录句柄 = dm.FindWindowByProcess("Client.exe","","英雄联盟登录程序")
如果(登录句柄>0)
Liuxt.记录("登录界面已打开")
dm.SetWindowState(登录句柄,8)
dm.MoveWindow(登录句柄,0,0)
辅助.等待(5000)
如果结束
辅助.等待(500)
//等待登录
dm=com("dm.dmsoft")
dm.SetPath(辅助.获取资源路径("rc:"))
登录帐号= dm.FindPic(969,501,1070,528,"zhdl.bmp","000000",0.9,0,intX,intY)
调试输出("等待登录"&登录帐号)
如果(登录帐号>=0)
Liuxt.记录("准备登录帐号")
机制="等待登录"
如果结束
辅助.等待(500)
//服务器选择
服务器选择= dm.FindPic(1159,681,1235,705,"fwqxz.bmp","000000",0.9,0,intX,intY)
调试输出("服务器选择"&服务器选择)
调试输出(服务器选择)
如果(服务器选择>=0)
Liuxt.记录("准备选择服务器")
机制="服务器选择"
如果结束
//进入大厅
进入大厅= dm.FindPic(49,138,137,167,"dlfwq.bmp","000000",0.9,0,intX,intY)
调试输出("进入大厅"&进入大厅)
如果(进入大厅>=0)
Liuxt.记录("登录服务器")
机制="进入大厅"
如果结束
选择(机制)
条件 "没有打开":
进程.打开(游戏路径)
辅助.等待(5000)
条件 "等待登录":
//快捷登录
dm.MoveTo(1017,556)
辅助.等待(1000)
鼠标.左键单击(1)
辅助.等待(1000)
dm.MoveTo(1017,513)
辅助.等待(1000)
鼠标.左键单击(1)
条件 "服务器选择":
Liuxt.记录("服务器列表")
dm=null
dm=com("dm.dmsoft")
dm.MoveTo(1192,690)
辅助.等待(1000)
鼠标.左键单击(1)
辅助.等待(2000)
//选择服务器
dm.MoveTo(服务器X,服务器Y)
辅助.等待(1000)
鼠标.左键单击(1)
辅助.等待(2000)
条件 "进入大厅":
//登录服务器
dm.MoveTo(950,696)
辅助.等待(1000)
鼠标.左键单击(1)
跳出
条件 "绑定登录界面":
dm.SetWindowState(登录句柄,8)
登录界面绑定 = dm.BindWindowEx(登录句柄,"normal","normal","normal","",0)
如果(登录界面绑定==1)
Liuxt.记录("登录界面绑定成功")
辅助.等待(100)
dm.MoveWindow(登录句柄,0,0)
辅助.等待(100)
否则
Liuxt.记录("请关闭防火墙再试")
如果结束
选择结束
循环结束
Liuxt.记录("登录功能:“我去休息了”")
调试输出(登录检测线程)
辅助.等待(500)
线程.关闭句柄(登录检测线程)
辅助.等待(500)
线程.开启("Liuxt.大厅检测","")
功能结束
//////////////////////////////////////////////////////////////////////////////
功能 大厅检测()
intX,intY,机制,i=0,大厅句柄
dm=com("dm.dmsoft")
dm.SetPath(辅助.获取资源路径("rc:"))
调试输出("大厅头")
循环(真)
辅助.等待(500)
//大厅不存在
大厅句柄 = dm.FindWindowByProcess("LolClient.exe","","PVP.net 客户端")
如果(大厅句柄==0)
Liuxt.记录("未检测到大厅")
机制="大厅不存在"
如果结束
辅助.等待(500)
//大厅存在
如果(大厅句柄>0)
Liuxt.记录("检测到大厅,验证大厅是否绑定")
大厅是否绑定 = dm.IsBind(大厅句柄)
如果(大厅是否绑定==0)
Liuxt.记录("未绑定大厅")
机制="大厅未绑定"
如果结束
如果结束
辅助.等待(500)
//重新连接
重新连接 = dm.FindPic(607,446,673,464,"cxljl.bmp","000000",0.9,0,intX,intY)
如果(重新连接>=0)
Liuxt.记录("重新连接")
机制="重新连接"
如果结束
辅助.等待(500)
//等待排队
服务器已满 = dm.FindPic(469,308,545,333,"fwqym.bmp","000000",0.9,0,intX,intY)
如果(服务器已满>=0)
Liuxt.记录("服务器已满,正在排队")
机制="等待排队"
如果结束
辅助.等待(500)
//正在首页
大厅首页=dm.FindPic(607,22,663,49,"play.bmp","000000",0.9,0,intX,intY)
如果(大厅首页>=0)
Liuxt.记录("进入大厅,准备匹配")
机制="正在首页"
如果结束
辅助.等待(500)
//结算界面
结算界面 = dm.FindPic(873,722,943,748,"dtjs.bmp","000000",0.9,0,intX,intY)
如果(结算界面>=0)
Liuxt.记录("结算完毕,准备返回大厅")
机制="结算界面"
如果结束
辅助.等待(500)
//正在列队
是否列队=dm.FindPic(535,20,601,64,"ldcg.bmp","000000",0.9,0,intX,intY)
如果(是否列队>=0)
Liuxt.记录("正在匹配队友")
机制="正在列队"
如果结束
辅助.等待(500)
//列队惩罚
列队等待=dm.FindPic(350,281,448,305,"ldsb.bmp","000000",0.9,0,intX,intY)
如果(列队等待>=0)
Liuxt.记录("因秒退被惩罚,等待惩罚结束")
机制="列队惩罚"
如果结束
辅助.等待(500)
//找到对手
匹配对手=dm.FindPic(439,297,527,324,"zdds.bmp","000000",0.9,0,intX,intY)
如果(匹配对手>=0)
Liuxt.记录("匹配队伍完成")
机制="找到对手"
如果结束
辅助.等待(500)
//选择英雄
英雄选择界面=dm.FindPic(493,62,609,102,"zjxzyx.bmp","000000",0.9,0,intX,intY)
如果(英雄选择界面>=0)
Liuxt.记录("进入英雄选择界面")
机制="选择英雄"
如果结束
辅助.等待(500)
//等待开局
是否开局=dm.FindPic(424,70,538,95,"ddkj.bmp","000000",0.9,0,intX,intY)
如果(是否开局>=0)
Liuxt.记录("进入英雄选择界面")
机制="等待开局"
如果结束
辅助.等待(500)
//进入倒计时
倒计时=dm.FindPic(588,65,759,100,"djs.bmp","000000",0.9,0,intX,intY)
如果(是否开局>=0)
Liuxt.记录("进入倒计时")
机制="进入倒计时"
如果结束
选择(机制)
条件 "大厅不存在":
Liuxt.记录("未检测到大厅,正在准备登录游戏")
登录检测线程=线程.开启("Liuxt.登录检测","")
跳出
条件 "大厅未绑定":
dm.SetWindowState(大厅句柄,1)
dm=com("dm.dm.soft")
大厅绑定 =dm.BindWindowEx(大厅句柄,"gdi2","dx.mouse.position.lock.api|dx.mouse.position.lock.message|dx.mouse.clip.lock.api|dx.mouse.input.lock.api|dx.mouse.state.api|dx.mouse.api|dx.mouse.cursor","dx.keypad.input.lock.api|dx.keypad.state.api|dx.keypad.api","dx.public.active.message",101)
如果(大厅绑定==1)
Liuxt.记录("大厅绑定成功")
辅助.等待(2000)
否则
Liuxt.记录("绑定失败请重试")
辅助.退出()
如果结束
条件 "重新连接":
辅助.等待(1000)
dm.MoveTo(636,453)
辅助.等待(1000)
dm.LeftDoubleClick
辅助.等待(5000)
条件 "等待排队":
循环(真)
辅助.等待(3000)
服务器已满 = dm.FindPic(469,308,545,333,"fwqym.bmp","000000",0.9,0,intX,intY)
如果(服务器已满>=0)
Liuxt.记录("正在排队,已等待:"&i++)
否则
Liuxt.记录("已进入大厅首页")
跳出
如果结束
循环结束
条件 "正在首页":
Liuxt.记录("进入大厅,准备匹配")
//返回大厅
dm=com("dm.dm.soft")
辅助.等待(1000)
dm.MoveTo(75,46)
辅助.等待(1000)
dm.LeftDoubleClick
//play
辅助.等待(1000)
dm.MoveTo(633,38)
辅助.等待(1000)
dm.LeftDoubleClick
//玩家对战
辅助.等待(1000)
dm.MoveTo(310,122)
辅助.等待(1000)
dm.LeftDoubleClick
//统治战场
辅助.等待(1000)
dm.MoveTo(463,177)
辅助.等待(1000)
dm.LeftDoubleClick
//水晶之痕
辅助.等待(1000)
dm.MoveTo(663,164)
辅助.等待(1000)
dm.LeftDoubleClick(1)
//匹配模式
辅助.等待(1000)
dm.MoveTo(894,164)
辅助.等待(1000)
dm.LeftDoubleClick
//单人匹配
辅助.等待(1000)
dm.MoveTo(736,715)
辅助.等待(1000)
dm.LeftDoubleClick
条件 "结算界面":
///需要获取名次,胜负,获得金币。
//
//
Liuxt.记录("结算完毕,准备返回大厅")
//检测再来一局是否可以点击
dm=com("dm.dm.soft")
再来一局 =dm.FindPic(1081,724,1156,749,"zlyjl.bmp","000000",0.9,0,intX,intY)
如果(再来一局>=0)
//点击再来一局
辅助.等待(1000)
dm.MoveTo(1112,738)
辅助.等待(1000)
dm.LeftDoubleClick
否则
//点击回到大厅
辅助.等待(1000)
dm.MoveTo(913,740)
辅助.等待(1000)
dm.LeftDoubleClick
如果结束
条件 "正在列队":
Liuxt.记录("正在匹配队伍")
Liuxt.记录("匹配队伍中,以等待:"&i++)
条件 "找到对手":
Liuxt.记录("已经找到对手,准备进入英雄选择界面")
//进入英雄界面
dm=com("dm.dm.soft")
dm.MoveTo(743,479)
辅助.等待(1000)
dm.LeftDoubleClick
辅助.等待(3000)
条件 "列队惩罚":
循环(真)
辅助.等待(3000)
dm=com("dm.dm.soft")
列队等待=dm.FindPic(350,281,448,305,"ldsb.bmp","000000",0.9,0,intX,intY)
如果(列队等待<0)
Liuxt.记录("惩罚结束,准备匹配")
跳出
否则
Liuxt.记录("等待惩罚结束,已等待:"&i++)
如果结束
循环结束
条件 "选择英雄":
//点击英雄查找框
辅助.等待(1000)
dm.MoveTo(911,133)
辅助.等待(500)
dm.LeftDoubleClick
辅助.等待(500)
//输入英雄名称
dm.SendString(大厅句柄,英雄)
辅助.等待(1000)
//检测英雄是否可选
dm=com("dm.dm.soft")
英雄可选=dm.FindColor(296,186,351,231,"263ec9-000000",1.0,0,intX,intY)
如果(英雄可选==1)
Liuxt.记录("英雄被抢,选择随机英雄")
dm=com("dm.dm.soft")
//点击英雄查找框文本
辅助.等待(1000)
dm.MoveTo(911,133)
辅助.等待(500)
dm.LeftDoubleClick
辅助.等待(500)
//删除文本
dm.KeyPress(8,10)
如果结束
//确认英雄
dm=com("dm.dm.soft")
dm.MoveTo(867,510)
辅助.等待(500)
dm.LeftDoubleClick
辅助.等待(5000)
条件 "等待开局":
Liuxt.记录("等待队友选择英雄:"&i++)
条件 "进入倒计时":
Liuxt.记录("等待开局倒计时:"&i++)
选择结束
循环结束
调试输出("大厅尾")
功能结束
|
|