------------------------------------------------------------------- 'By:qingfengzhixia 'QQ:360689878 'EMail:qingfengzhixia1@163.com 'Date:2011-4-23 '-------------------------------------------------------------------------- //用户自定义的变量 UserVar DNFpath="D:\Program Files\腾讯游戏\地下城与勇士\start\DNFchina.exe" "游戏路径" UserVar qq=21545 "QQ帐号" UserVar psw="4541com" "QQ密码(登录过程中不要打开Caps Lock键)" UserVar MyDQ=DropList{"否":"0"|"是":"1"}=1 "是否启用自定义大区和服务器" UserVar Region="广东区" "输入大区名称(可不用加引号)" UserVar Server="广东1区" "输入服务器名称(可不用加引号)" UserVar Delay_move=300 "鼠标移动的延迟" UserVar Delay_click=300 "点击的延迟" UserVar Delay_window=400 "弹出窗口的延迟" UserVar V_input=10 "密码输入速度" UserVar tdPD=DropList{"拥挤":0|"普通":1|"良好":2|"顺畅":3}=1 "自动登录到特定状态的频道" UserVar Num_role=1 "第几个角色" //▓▓▓▓▓▓▓▓▓▓▓ 自定义变量判断 ▓▓▓▓▓▓▓▓▓▓ If Plugin.File.ExistFile(DNFpath) = 0 or VarType(qq) <> 3 Then EndScript End If //▓▓▓▓▓▓▓▓▓▓▓全局变量初始化 ▓▓▓▓▓▓▓▓▓▓▓ Dim C(3) C(0) = "0000FF" '拥挤 C(1) = "0080FF" '普通 C(2) = "00B1FF" '良好 C(3) = "00FF00" '顺畅 For j = 1 To 2 For i = 1 To 4 If i + (j - 1) * 4 = Cint(Num_role) Then Role_x = i : Role_y = j End If Next Next //▓▓▓▓▓▓▓▓▓▓▓主 程 序 ▓▓▓▓▓▓▓▓▓▓▓ RunApp DNFpath Delay 5000 //●●●●●●●●● 选大区 ●●●●●●●● Call 判断窗口("选大区") Delay 2000 If MyDQ = 1 Then Call 点击子窗口(Region) Call 点击子窗口(Server) End If Do Delay 50 IfColor Ux+116, Uy+363,"676767",1 Then '判断服务器状态 Exit Do End If Loop Call 移动并点击(560, 490, 0, 1) '确认 Delay 2000 //●●●●●●●● 输密码 ●●●●●●●● Call 判断窗口("输密码") Call 移动并点击(447, 367, 0, 1) '账号窗口 KeyPress "BackSpace", 15 SayString QQ Delay 300 KeyPress "Tab", 1 Call lib.键盘.KeyList(psw, 0, V_input) Call 移动并点击(570, 380, 0, 1) '[登录游戏] Delay 5000 //●●●●●●●● 择频道 ●●●●●●●● Call 窗口判断("择频道") Do Delay 50 IfColor Ux+104, Uy+138, "A9C3C8" ,0 Then '是否在读取频道信息' Exit Do End If Loop Do Delay 50 FindColor Ux, Uy, Ux + 640, Uy + 480, C(tdPD), intX, intY '不同频道状态不同的颜色' If intX > 0 And intY > 0 Then Call 移动并点击(intX - Ux, intY - Uy, 0, 1) Exit Do Else If tdPD = 3 Then tdPD = -1 '找不到设定的状态,就找下一种状态' tdPD = tdPD + 1 End If Loop Delay Delay_click Call 移动并点击(320, 445, 0, 1) '[游戏开始] Delay 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为自己小精灵的文件名 EndScript //▓▓▓▓▓▓▓▓▓▓▓ 子 程 序 ▓▓▓▓▓▓▓▓▓▓▓ Sub 点击子窗口(标题) Do Delay 50 Hwnd = Plugin.Window.Find(0, "地下城与勇士") HwndEx = Plugin.Window.FindEx(Hwnd, i, 0, 标题) If HwndEx <> 0 Then Coord = Plugin.Window.GetClientRect(HwndEx) MyArray = Split(Coord, "|", - 1 , 1)