- 注释:--------------------------------------------------------------------------
- 注释:By:qingfengzhixia
- 注释:QQ:360689878
- 注释:EMail:qingfengzhixia1@163.com
- 注释:Date:2011-4-23
- 注释:--------------------------------------------------------------------------
- 注释:用户自定义的变量
- 用户定义变量 DNFpath="D:\Program Files\腾讯游戏\地下城与勇士\start\DNFchina.exe" "游戏路径"
- 用户定义变量 qq=21545 "QQ帐号"
- 用户定义变量 psw="4541com" "QQ密码(登录过程中不要打开Caps Lock键)"
- 用户定义变量 MyDQ=DropList{"否":"0"|"是":"1"}=1 "是否启用自定义大区和服务器"
- 用户定义变量 Region="广东区" "输入大区名称(可不用加引号)"
- 用户定义变量 Server="广东1区" "输入服务器名称(可不用加引号)"
- 用户定义变量 Delay_move=300 "鼠标移动的延迟"
- 用户定义变量 Delay_click=300 "点击的延迟"
- 用户定义变量 Delay_window=400 "弹出窗口的延迟"
- 用户定义变量 V_input=10 "密码输入速度"
- 用户定义变量 tdPD=DropList{"拥挤":0|"普通":1|"良好":2|"顺畅":3}=1 "自动登录到特定状态的频道"
- 用户定义变量 Num_role=1 "第几个角色"
- 注释:▓▓▓▓▓▓▓▓▓▓▓ 自定义变量判断 ▓▓▓▓▓▓▓▓▓▓
- 如果 File.ExistFile(DNFpath) = 0 或者 VarType(qq) <> 3 则
- 脚本停止运行
- 条件结束
- 注释:▓▓▓▓▓▓▓▓▓▓▓全局变量初始化 ▓▓▓▓▓▓▓▓▓▓▓
- 定义变量 C(3)
- (语句无法识别,可能有错误): C(0) = "0000FF" '拥挤
- (语句无法识别,可能有错误): C(1) = "0080FF" '普通
- (语句无法识别,可能有错误): C(2) = "00B1FF" '良好
- (语句无法识别,可能有错误): C(3) = "00FF00" '顺畅
- 循环 j 从 1 到 2
- 循环 i 从 1 到 4
- 如果 i + (j - 1) * 4 = Cint(Num_role) 则
- 令 Role_x = i
- 令 Role_y = j
- 条件结束
- 循环结束
- 循环结束
- 注释:▓▓▓▓▓▓▓▓▓▓▓主 程 序 ▓▓▓▓▓▓▓▓▓▓▓
- 启动程序或打开文件 DNFpath
- 延时 5000 毫秒
- 注释:●●●●●●●●● 选大区 ●●●●●●●●
- 调用 判断窗口("选大区")
- 延时 2000 毫秒
- 如果 MyDQ = 1 则
- 调用 点击子窗口(Region)
- 调用 点击子窗口(Server)
- 条件结束
- 循环开始
- 延时 50 毫秒
- (语句无法识别,可能有错误): IfColor Ux+116, Uy+363,"676767",1 Then '判断服务器状态
- 跳出循环
- 条件结束
- 循环结束
- (语句无法识别,可能有错误): Call 移动并点击(560, 490, 0, 1) '确认
- 延时 2000 毫秒
- 注释:●●●●●●●● 输密码 ●●●●●●●●
- 调用 判断窗口("输密码")
- (语句无法识别,可能有错误): Call 移动并点击(447, 367, 0, 1) '账号窗口
- (键盘)按 "BackSpace" 键, 15次
- 输入文本 QQ
- 延时 300 毫秒
- (键盘)按 "Tab" 键, 1次
- 调用 (命令库 键盘)KeyList(psw,0,V_input)
- (语句无法识别,可能有错误): Call 移动并点击(570, 380, 0, 1) '[登录游戏]
- 延时 5000 毫秒
- 注释:●●●●●●●● 择频道 ●●●●●●●●
- 调用 窗口判断("择频道")
- 循环开始
- 延时 50 毫秒
- (语句无法识别,可能有错误): IfColor Ux+104, Uy+138, "A9C3C8" ,0 Then '是否在读取频道信息'
- 跳出循环
- 条件结束
- 循环结束
- 循环开始
- 延时 50 毫秒
- (语句无法识别,可能有错误): FindColor Ux, Uy, Ux + 640, Uy + 480, C(tdPD), intX, intY '不同频道状态不同的颜色'
- 如果 intX > 0 并且 intY > 0 则
- 调用 移动并点击(intX - Ux,intY - Uy,0,1)
- 跳出循环
- 否则
- (语句无法识别,可能有错误): If tdPD = 3 Then tdPD = -1 '找不到设定的状态,就找下一种状态'
- 令 tdPD = tdPD + 1
- 条件结束
- 循环结束
- 延时 Delay_click 毫秒
- (语句无法识别,可能有错误): Call 移动并点击(320, 445, 0, 1) '[游戏开始]
- 延时 1000 毫秒
- 注释:●●●●●●●● 挑角色 ●●●●●●●●
- (语句无法识别,可能有错误): Call 移动并点击(115 + (role_x - 1) * 130, 135 + (role_y - 1) * 185, 0, 1) '选择角色
- (语句无法识别,可能有错误): Call 移动并点击(320, 445, 0, 1) '[游戏开始]
- (语句无法识别,可能有错误): RunApp("cmd.exe /C Taskkill /f /im AutoDNFlogin.exe") '关闭自己,AutoDNFlogin.exe为自己小精灵的文件名
- 脚本停止运行
- 注释:▓▓▓▓▓▓▓▓▓▓▓ 子 程 序 ▓▓▓▓▓▓▓▓▓▓▓
- 子程序 点击子窗口(标题)
- 循环开始
- 延时 50 毫秒
- 令 Hwnd = Window.Find(0,"地下城与勇士")
- 令 HwndEx = Window.FindEx(Hwnd,i,0,标题)
- 如果 HwndEx <> 0 则
- 令 Coord = Window.GetClientRect(HwndEx)