战曲喵喵吧 关注:7,850贴子:196,557

支持一堆小号自动上号签到的脚本来啦 O(∩_∩)O哈哈~

只看楼主收藏回复

★ 添加卡死自动刷新功能,您就放心出去快活吧,照顾小号就交给我咯 O(∩_∩)O~
★ 添加拉紫金矿功能
★ 37wan和6711亲测都没有问题
百度的登陆器有点不一样,不能用,需要的私信我,酌情单独写
其他平台的没有测试,人懒没办法。。
★ 换账号登陆的时候只能前台操作,注意窗口别被挡住。
★ 同样为喵喵们打包了充能、占星、祭献的功能 方便使用
二楼放链接
代码随后公布


IP属地:陕西1楼2013-12-22 21:35回复
    我是链接
    http://pan.baidu.com/s/1kT4YFGF


    IP属地:陕西2楼2013-12-22 21:35
    收起回复
      2025-05-21 12:15:29
      广告
      //首先定义用到的全局变量
      Global 当前任务
      Global SCX
      Global SCY
      SCX = Plugin.Sys.GetScRX()
      SCY = Plugin.Sys.GetScRY()
      Global 主线程ID
      Global 防卡死ID
      Global Fwnd
      Global Hwnd
      Global inf
      Global n//大循环变量
      Global usercount//账号个数
      n = Form1.ListBox1.ListIndex
      If n = - 1 Then
      n=0
      End If
      inf = Plugin.File.ReadINI("Command", "Val", ".\Config.ini") //从配置文件读取数据


      IP属地:陕西3楼2013-12-22 21:42
      回复
        //启动主线程和防卡死线程
        当前任务 = "脚本开始!"
        addLog (当前任务)
        主线程ID = BeginThread(main)
        防卡死ID = BeginThread(防卡死)
        //以下是【无限循环】防止全部脚本停止。
        Do
        Delay 1000
        Loop


        IP属地:陕西4楼2013-12-22 21:43
        回复
          //主线程
          Sub main
          当前任务 = "主线程已启动"
          addLog (当前任务)
          /**********初始化账号信息数组***/
          Dim users(30, 2)
          temp = Split(inf, "|", - 1 , 1)
          i = 0
          usercount = 0
          While temp(i) <> ""
          tempuser = Split(temp(i), ",")
          users(i, 0) = tempuser(0)
          users(i, 1) = tempuser(1)
          i = i + 1
          usercount = usercount + 1
          Wend
          当前任务 = "初始化账号信息完毕!"
          addLog (当前任务)
          /**********判断需要执行的功能***/
          签到任务 = false
          拉矿任务 = false
          If Form1.CheckBox1.Value = 1 Then
          签到任务 = true
          addLog ("签到任务:开启")
          End If
          If Form1.CheckBox2.Value = 1 Then
          拉矿任务 = true
          addLog ("拉矿任务:开启")
          End If
          /**********开始执行任务***/
          While n < usercount
          RunApp Form1.BrowseBox1.Path
          Call 登陆(users(n, 0), users(n, 1))
          If 签到任务 Then
          Call 签到
          End If
          If 拉矿任务 Then
          Call 拉紫金矿
          End If
          Call 关闭窗口
          n = n + 1
          当前任务 = "第" & n & "个账号执行完毕!"
          addLog (当前任务)
          Wend
          ExitScript
          End Sub


          IP属地:陕西5楼2013-12-22 21:44
          回复
            //登陆账号的函数
            Function 登陆(用户名, 密码)
            Dim lunPath
            lunPath = Split(Form1.BrowseBox1.Path, "\")
            i = 0
            While lunPath(i) <> ""
            i = i + 1
            Wend
            lunPath = Split(lunPath(i - 1), ".")
            serverName = lunPath(0)
            当前任务 = "登陆账号:" & 用户名
            addLog (当前任务)
            //判断是否找到窗口
            temp=0
            While temp > - 1
            temp = temp + 1
            FindPic 0,0,SCX,SCY,"Attachment:\pwd.bmp",0.9,intX,intY
            If intX > 0 And intY > 0 Then
            temp = - 1
            End If
            If temp > 15 Then
            MessageBox "未找到窗口!"
            ExitScript
            End If
            Delay 500
            Wend
            MoveTo intX + 100, intY + 10
            LeftClick 1
            SayString 用户名
            KeyPress "Tab", 1
            SayString 密码
            KeyPress "Tab", 1
            KeyPress "Enter", 1
            Delay 500
            temp = 0
            While temp > - 1
            FindPic 0,0,SCX,SCY,"Attachment:\login.bmp",1,intX,intY
            If intX > 0 And intY > 0 Then
            temp = - 1
            End If
            Delay 500
            Wend
            MoveTo intX + 60, intY + 40
            LeftClick 1
            当前任务 = "游戏载入中......"
            addLog (当前任务)
            Delay 7000
            Fwnd = Plugin.Window.Find(0, serverName)
            Hwnd = Plugin.Window.FindEx(Fwnd, 0, 0, 0)
            Call Plugin.Window.Restore(Fwnd)
            Delay 500
            Call Plugin.Window.Size(Fwnd, 1004, 630)
            //判断是否载入完毕
            temp = 0
            While temp > - 1
            Delay 1000
            pxc = Plugin.Bkgnd.GetPixelColor(Hwnd, 385, 587)
            If pxc = "014A9E" Then
            temp = - 1
            End If
            Wend
            Delay 1000
            //关闭阻挡的窗口
            X = 0 : Y = 0
            While X > - 1 and Y > - 1
            XY = Plugin.Bkgnd.FindColor(Hwnd, 0, 0, 1366, 768, "A8F0FF")
            dim MyArray
            MyArray = Split(XY, "|")
            X = Clng(MyArray(0)) : Y = Clng(MyArray(1))
            If X > 0 and Y > 0 Then
            Call Plugin.Bkgnd.LeftClick(Hwnd, X, Y)
            Delay 50
            Call Plugin.Bkgnd.KeyPress(Hwnd, 13)
            Delay 700
            End If
            Wend
            Call 退出场景
            Call Plugin.Bkgnd.LeftClick(Hwnd, 911, 85)//隐藏人物
            End Function


            IP属地:陕西6楼2013-12-22 21:45
            回复
              //签到的函数
              Function 签到
              temp = 0
              While temp > - 1 //判断
              Call Plugin.Bkgnd.LeftClick(Hwnd, 839, 22)
              Delay 1000
              pxc = Plugin.Bkgnd.GetPixelColor(Hwnd, 452, 99)
              If pxc = "83DDFF" Then
              temp = - 1
              End If
              Wend
              Call Plugin.Bkgnd.LeftClick(Hwnd, 230, 144)
              Delay 800
              Call Plugin.Bkgnd.LeftClick(Hwnd, 723, 428)
              Delay 500
              当前任务 = "签到任务执行完毕!"
              addLog (当前任务)
              End Function


              IP属地:陕西7楼2013-12-22 21:46
              回复
                Function 拉紫金矿
                当前任务 = "开始拉矿..."
                addLog (当前任务)
                Call 进入矿场
                Call 领取矿车
                Call 采集
                Call 提交
                Call 退出场景
                Call 进入矿场
                Call 领取矿车
                Call 采集
                Call 提交
                Call 退出场景
                End Function


                IP属地:陕西8楼2013-12-22 21:47
                回复
                  2025-05-21 12:09:29
                  广告
                  Function 进入矿场
                  Delay 1000
                  当前任务 = "进入矿场中..."
                  addLog (当前任务)
                  temp = 0
                  While temp > - 1 //判断地图是否打开,没有就摁M
                  Call Plugin.Bkgnd.KeyPress(Hwnd, 77)
                  Delay 1000
                  pxc = Plugin.Bkgnd.GetPixelColor(Hwnd, 193, 456)
                  If pxc = "3FD1FF" Then
                  temp = - 1
                  End If
                  Wend
                  temp = 0
                  While temp > - 1 //判断是否进入矿场,没有就摁矿场入口
                  Call Plugin.Bkgnd.LeftClick(Hwnd, 193, 456)
                  Delay 1000
                  pxc = Plugin.Bkgnd.GetPixelColor(Hwnd, 890, 326)
                  If pxc = "0C9C97" Then
                  temp = - 1
                  End If
                  Wend
                  End Function


                  IP属地:陕西9楼2013-12-22 21:48
                  回复
                    Function 领取矿车
                    当前任务 = "领取矿车"
                    addLog (当前任务)
                    temp = 0
                    While temp > - 1 //判断地图是否打开,没有就摁M
                    Call Plugin.Bkgnd.KeyPress(Hwnd, 77)
                    Delay 1000
                    pxc = Plugin.Bkgnd.GetPixelColor(Hwnd, 250, 120)
                    If pxc = "006BB6" Then
                    temp = - 1
                    End If
                    Wend
                    temp = 0
                    Call Plugin.Bkgnd.LeftClick(Hwnd, 734, 105)
                    While temp > - 1 //判断是否到领矿NPC,没有等
                    Delay 1000
                    pxc = Plugin.Bkgnd.GetPixelColor(Hwnd, 222, 200)
                    If pxc = "1B1B5B" Then
                    temp = - 1
                    End If
                    Wend
                    Delay 1000
                    Call Plugin.Bkgnd.LeftClick(Hwnd, 440, 400)
                    Delay 1500
                    Call Plugin.Bkgnd.KeyPress(Hwnd, 13)
                    Delay 500
                    End Function


                    IP属地:陕西10楼2013-12-22 21:48
                    回复
                      Function 采集
                      当前任务 = "采集中..."
                      addLog (当前任务)
                      Call Plugin.Bkgnd.LeftClick(Hwnd, 715, 215)
                      Delay 2000
                      Call Plugin.Bkgnd.LeftClick(Hwnd, 715, 215)
                      temp = 0
                      While temp > - 1 //判断是否采集完成,没有就等
                      Delay 1000
                      pxc = Plugin.Bkgnd.GetPixelColor(Hwnd, 939, 265)
                      If pxc = "4F7A83" Then
                      temp = - 1
                      End If
                      Wend
                      End Function


                      IP属地:陕西11楼2013-12-22 21:48
                      回复
                        Function 提交
                        当前任务 = "交矿..."
                        addLog (当前任务)
                        Call Plugin.Bkgnd.LeftClick(Hwnd, 745, 133)
                        Delay 2000
                        Call Plugin.Bkgnd.LeftClick(Hwnd, 715, 133)
                        temp = 0
                        While temp > - 1 //判断是否到交矿NPC,没有就等
                        Delay 1000
                        pxc = Plugin.Bkgnd.GetPixelColor(Hwnd, 222, 200)
                        If pxc = "1B1B5B" Then
                        temp = - 1
                        End If
                        Wend
                        Delay 1000
                        Call Plugin.Bkgnd.LeftClick(Hwnd, 440, 400)
                        Delay 500
                        End Function


                        IP属地:陕西12楼2013-12-22 21:49
                        回复
                          Function 退出场景
                          pxc = Plugin.Bkgnd.GetPixelColor(Hwnd, 900, 33)
                          If pxc = "4A5070" Then
                          Delay 50
                          Else
                          temp = 0
                          While temp > - 1 //判断是否退出了,没有就等
                          Call Plugin.Bkgnd.LeftClick(Hwnd, 968, 567)
                          Delay 1000
                          pxc = Plugin.Bkgnd.GetPixelColor(Hwnd, 900, 33)
                          If pxc = "4A5070" Then
                          temp = - 1
                          End If
                          Wend
                          End If
                          Delay 500
                          End Function


                          IP属地:陕西13楼2013-12-22 21:49
                          回复
                            Function 关闭窗口 //关闭窗口函数
                            Call Plugin.Window.Close(Fwnd)
                            Delay 500
                            End Function
                            //将inf中的用户名信息写入列表
                            Function setusers
                            Form1.ListBox1.List = ""
                            temp = Split(inf, "|")
                            i = 0
                            While temp(i) <> ""
                            tempuser = Split(temp(i), ",")
                            Form1.ListBox1.AddItem tempuser(0)
                            i = i + 1
                            Wend
                            End Function
                            //添加一个用户项
                            Event Form1.Button1.Click
                            user = Form1.InputBox1.Text
                            psw = Form1.InputBox2.Text
                            If (user <> "") and (psw <> "") Then
                            inf = inf & user & "," & psw & "|"
                            Call setusers
                            Call 保存账号
                            Else
                            MessageBox "用户名和密码不能为空!"
                            End If
                            End Event
                            //将inf保存进配置文件
                            Function 保存账号
                            Call Plugin.File.WriteINI("Command", "Val", inf, ".\Config.ini")
                            End Function
                            //窗体载入时读取存档
                            Event Form1.Load
                            inf = Plugin.File.ReadINI("Command", "Val", ".\Config.ini")
                            Call setusers
                            End Event
                            //删除用户项
                            Event Form1.Button2.Click
                            index = Form1.ListBox1.ListIndex
                            temp = Split(inf, "|")
                            While temp(index + 1) <> ""
                            temp(index) = temp(index + 1)
                            index = index + 1
                            Wend
                            temp(index) = ""
                            index = 0
                            inf=""
                            While temp(index) <> ""
                            inf = inf & temp(index) & "|"
                            index = index + 1
                            Wend
                            Call setusers
                            Call 保存账号
                            End Event
                            //添加一条日志
                            Function addLog(log)
                            sTime = Plugin.Sys.GetDateTime()
                            sTime = Split(sTime, " ")
                            Form1.ListBox2.InsertItem (sTime(1) & ": " & log), 0
                            End Function


                            IP属地:陕西14楼2013-12-22 21:51
                            回复
                              2025-05-21 12:03:29
                              广告
                              //防卡死线程
                              Sub 防卡死
                              addLog ("防卡死线程已启动!")
                              Rem 防卡死开始
                              上个任务 = 当前任务
                              次数 = 0
                              While 上个任务 = 当前任务
                              次数 = 次数 + 1
                              If 次数 > 3 Then
                              addLog("执行"&当前任务&"时卡死,重新登录此账号...")
                              StopThread 主线程ID
                              Call 关闭窗口
                              Delay 500
                              主线程ID = BeginThread(main)
                              Goto 防卡死开始
                              End If
                              Delay 60000
                              Wend
                              Goto 防卡死开始
                              End Sub
                              //脚本结束时执行
                              Sub OnScriptExit()
                              addLog ("脚本已停止!")
                              End Sub


                              IP属地:陕西15楼2013-12-22 21:52
                              回复