按键精灵DNF自动登录脚本源码

运行环境:分辨率:1440×900 色深:32位 操作系统:Microsoft Windows XP 按键精灵版本:9.21.10865

UserVar DNFpath="F:\游戏\地下城与勇士\start\DNFchina.exe" "游戏路径"   UserVar qq=956406180 "QQ帐号"     UserVar psw="12345687" "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 "选择频道方式"     UserVar Num_role=1 "第几个角色(最大第8个)"        //▓▓▓▓▓▓▓▓▓▓▓ 自定义变量判断 ▓▓▓▓▓▓▓▓▓▓     If Plugin.File.ExistFile(DNFpath) = 0 Then           MsgBox "游戏路径不正确", 16, "提示"         EndScript        End If     //▓▓▓▓▓▓▓▓▓▓▓全局变量初始化 ▓▓▓▓▓▓▓▓▓▓▓     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 1000     Call 等待窗口("选大区")     Delay 1000     Call 点击子窗口("地下城与勇士", Region)     Call 点击子窗口("地下城与勇士", Server)     Call 移动并点击(560, 540, 0, 1)  '确认     Delay 2000     //●●●●●●●● 输密码 ●●●●●●●●     Call 等待窗口("输密码")     Call 移动并点击(420, 380, 0, 1)  '账号窗口     KeyPress "BackSpace", 15     SayString QQ        Delay 300     KeyPress "Tab", 1      Call Lib.键盘.KeyList(psw, 0, 20)     Call 移动并点击(570, 380, 0, 1)  '[登录游戏]     Delay 2000     //●●●●●●●● 择频道 ●●●●●●●●     Call 等待窗口("择频道")     Delay 1000     Do         Delay 50         IfColor Ux+104, Uy+138, "A9C3C8" ,0  Then   '是否在读取频道信息'             Exit Do          End If     Loop     Array_PD = Array("00FF00", "00B1FF", "0080FF", "0000FF")  '顺畅,良好,普通,拥挤     If tdPD = "最佳状态" Then          Do              Delay 50             For i = 0 To UBound(Array_PD)                 Delay 50                 FindColor Ux, Uy, Ux + 640, Uy + 480, Array_PD(i), intX, intY '不同频道状态不同的颜色'                 If intX > 0 Then                      Call 移动并点击(intX - Ux, intY - Uy, 0, 1)                     Exit Do                  End If             Next            If i = UBound(Array_PD) + 1 Then '表示爆满                 Call 移动并点击(560, 400, 0, 1) '刷新页面                 Delay Delay_window             End If         Loop     End If      Delay Delay_click     Call 移动并点击(320, 445, 0, 1)  '[游戏开始]     Delay 2000     //●●●●●●●● 挑角色 ●●●●●●●●     Call 等待窗口("挑角色")     Delay 1000     Do         Delay 50         IfColor Ux + 401, Uy + 195, "8DEDFF", 1 Then  '判断是否在读取信息'             Exit Do          End If     Loop     Call 移动并点击(115 + (role_x - 1) * 130, 135 + (role_y - 1) * 185, 0, 1)    '选择角色     Call 移动并点击(320, 445, 0, 1)  '[游戏开始]     EndScript      //▓▓▓▓▓▓▓▓▓▓▓ 子    程    序 ▓▓▓▓▓▓▓▓▓▓▓     Sub 点击子窗口(父标题, 子标题)         Dim Hwnd, HwndEx, Coord, MyArray         Do              Delay 50             Hwnd = Plugin.Window.Find(0, 父标题)             HwndEx = Plugin.Window.FindEx(Hwnd, 0, 0, 子标题)             If HwndEx <> 0 Then                 Coord = Plugin.Window.GetClientRect(HwndEx)                 MyArray = Split(Coord, "|", - 1 , 1)                 Do                      Delay 100                     IfColor Cint(MyArray(0)) + 10, Cint(MyArray(1)) + 10, "676767", 1 Then                                        Call 移动并点击(Cint(MyArray(0)) + Cint(MyArray(2)) / 2 - Ux, Cint(MyArray(1)) + Cint(MyArray(3)) / 2 - Uy, 0, 1)                         Exit Do                      End If                 Loop                  Delay Delay_window                 Exit Sub              Else                  MsgBox "出错:找不到子窗口" & 标题, 16, "提示"                 EndScript              End If          Loop      End Sub      Sub 等待窗口(窗口名)         Dim Array_name, Hwnd, Coord, MyArray, i, k         Dim Array_Feature_form(3)         Array_Feature_form(0) =  "选大区,71,86,C9FFFF,71,86,C9FFFF"         Array_Feature_form(1) =  "输密码,90,480,FFFFFF,660,469,18FF9F"         Array_Feature_form(2) =  "择频道,332,13,B3F2FF,333,13,B3F2FF"         Array_Feature_form(3) =  "挑角色,337,26,78D7F4,337,26,78D7F4,337,26,78D7F4,337,26,78D7F4"          For i = 0 To UBound(Array_Feature_form)             Array_name = Split(Array_Feature_form(i), ",", - 1 , 1)             If Array_name(0) = 窗口名 Then                  Do                     Delay 50                      Hwnd = Plugin.Window.Find(0, "地下城与勇士")                     Coord = Plugin.Window.GetClientRect(Hwnd)                       MyArray = Split(Coord, "|", - 1 , 1)                     If Cint(MyArray(2)) = 687 or Cint(MyArray(2)) = 640 Then                           Ux = Cint(MyArray(0)) : Uy = Cint(MyArray(1))                         For k = 0 To (UBound(Array_name) - 6) / 6                             IfColor Ux + Array_name(k * 6 + 1), Uy + Array_name(k * 6 + 2), Array_name(k * 6 + 3),0 Then                                  IfColor Ux + Array_name(k * 6 + 4), Uy + Array_name(k * 6 + 5), Array_name(k * 6 + 6),0 Then                                      Exit Sub                                 End If                              End If                                                   Next                     End If                 Loop              End If         Next      End Sub     Sub 移动并点击(横坐标, 纵坐标, 操作方式, 左击次数)         //点击次数: 0表示不点击         //操作方式:【0前台模式,1后台模式】         If 操作方式 = 0 Then              横坐标 = Ux + 横坐标 : 纵坐标 = Uy + 纵坐标             MoveTo 横坐标, 纵坐标             Delay Delay_move             If 左击次数 <> 0 Then                  For 左击次数                     LeftDown 1                     Delay 100                     LeftUp 1                     Delay Delay_click                 Next              End If         End If          End Sub     Dim MyHour,MyVar   rem aaa   Delay 3000   Goto aaa
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

按键精灵DNF自动登录脚本源码》有0个想法

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注