Form1.frm
上传用户:luoweizhao
上传日期:2022-08-01
资源大小:1290k
文件大小:230k
源码类别:

外挂编程

开发平台:

Visual Basic

  1.             yzmlx.rzl = czzl(Index)
  2.             yzmlx.bj = SH_bj(Index)
  3.             yzmlx.name = SH_name(Index)
  4.             yzmlx.id = SH_id(Index)
  5.             
  6.             If csyzm = True Then
  7.                csyzm = False
  8.                Call xyyzm  '弹出验证码
  9.             Else
  10.                csyzm = True
  11.                yzmcode = "&validatemsg=" & Int(Rnd * 9000 + 1000)
  12.                Call SendHttp(yzmlx.lx, yzmlx.uID, yzmlx.id, yzmlx.name, yzmlx.bj, yzmlx.rzl)
  13.             End If
  14.             
  15.             Debug.Print "请输入验证码" & " 类型:" & lx
  16.             Exit Sub
  17.         End If
  18.         csyzm = False
  19.         If lx = 1 Then  '收获果实
  20.             code = split_m(1, SH_Temp(Index), "code") '返回状态
  21.             farmlandIndex = split_m(1, SH_Temp(Index), "farmlandIndex") '农田ID
  22.             If code = 0 Then
  23.                 If SH_bj(Index) = "0" Then Call jilu("收获", MyQQ, farmlandIndex + 1 & "号农田收获失败,因为这块地没东西可收获!")
  24.             Else
  25.                 cId = split_m(1, SH_Temp(Index), "cId") '收获种类
  26.                 exp = split_m(1, SH_Temp(Index), "exp") '获得经验
  27.                 harvest = split_m(1, SH_Temp(Index), "harvest") '获得数量
  28.                 Call jilu("收获", MyQQ, farmlandIndex + 1 & "号农田收获成功,得到了" & harvest & "个【" & Replace(zhonglei(cId, 0), " ", "") & "】,经验:+" & exp)
  29.                 
  30.                 Call addsxlb(Myuid, rzl)  '加入刷新列表
  31.                 Call tongji(1, cId, harvest, exp)   '统计收益
  32.             End If
  33.         ElseIf lx = 2 Then   '偷取果实
  34.             code = split_m(1, SH_Temp(Index), "code")  '返回状态
  35.             farmlandIndex = split_m(1, SH_Temp(Index), "farmlandIndex") '农田ID
  36.             
  37.             Fkey = split_m(3, SH_Temp(Index), "fkey") '获取key
  38.             If Len(Fkey) = 96 Then  '记录偷取key
  39.                If InStr(keyutemp, "/" & SH_uid(Index) & "/") = 0 Then
  40.                   keyutemp = keyutemp & "/" & SH_uid(Index) & "/"
  41.                   keyu(keyjl).uID = SH_uid(Index)
  42.                   keyu(keyjl).key = Fkey
  43.                   keyu(keyjl).time = Time_C
  44.                   keyjl = keyjl + 1
  45.                Else
  46.                   For i = 0 To keyjl - 1
  47.                       If SH_uid(Index) = keyu(i).uID Then
  48.                          keyu(i).key = Fkey
  49.                          keyu(keyjl).time = Time_C
  50.                          Exit For
  51.                       End If
  52.                   Next i
  53.                End If
  54.             End If
  55.             
  56.             
  57.             If code = 1 Then
  58.                 cId = split_m(1, SH_Temp(Index), "cId")   '收获种类
  59.                 harvest = split_m(1, SH_Temp(Index), "harvest") '获得数量
  60.                 If InStr(SH_Temp(Index), "u72d7u72d7u53d1u73b0") > 0 Or InStr(SH_Temp(Index), "狗狗发现") > 0 Then
  61.                     money = split_m(2, SH_Temp(Index), "money") '获得数量
  62.                     Call jilu("偷取", MyQQ, "偷取好友[" & SH_name(Index) & "]的" & farmlandIndex + 1 & "号农田果实,被狗狗发现,逃跑中掉落" & Abs(money) & "个金币。")
  63.                     Call tongji(4, 0, Abs(money), 0)   '统计收益
  64.                 Else
  65.                     Call jilu("偷取", MyQQ, "偷取好友[" & SH_name(Index) & "]的" & farmlandIndex + 1 & "号农田果实成功,得到了" & harvest & "个[" & Replace(zhonglei(cId, 0), " ", "") & "]")
  66.                     Call tongji(2, cId, harvest, 0)   '统计收益
  67.                 End If
  68.                
  69.                 Call xiemdb(1, SH_uid(Index), farmlandIndex + 1)  '写入数据库
  70.                 
  71.             Else
  72.                 
  73.                 If InStr(SH_Temp(Index), "direction") > 0 Then
  74.                     direction = vbUnEscape(split_m(3, SH_Temp(Index), "direction"))
  75.                 Else
  76.                     direction = vbUnEscape(split_m(3, SH_Temp(Index), "error"))
  77.                 End If
  78.                 If Len(direction) > 0 Then
  79.                     If SH_bj(Index) = "0" Then Call jilu("偷取", MyQQ, "偷取好友[" & SH_name(Index) & "]的" & farmlandIndex + 1 & "号农田果实失败,提示:" & direction)
  80.                 Else
  81.                     If SH_bj(Index) = "0" Then Call jilu("偷取", MyQQ, "偷取好友[" & SH_name(Index) & "]的" & farmlandIndex + 1 & "号农田果实失败!")
  82.                 End If
  83.                 
  84.                 
  85.                 If InStr(SH_Temp(Index), "做人不能贪得无厌") > 0 Or InStr(SH_Temp(Index), "狗盯上了你,别做坏事了") > 0 Or InStr(SH_Temp(Index), "u72D7u76EFu4E0Au4E86u4F60uFF0Cu522Bu505Au574Fu4E8Bu4E86") > 0 Then
  86.                    Call xiemdb(1, SH_uid(Index), farmlandIndex + 1)  '写入数据库
  87.                 End If
  88.             End If
  89.         ElseIf lx = 3 Then   '除虫
  90.             code = split_m(1, SH_Temp(Index), "code")  '返回状态
  91.             farmlandIndex = split_m(1, SH_Temp(Index), "farmlandIndex") '农田ID
  92.             If code = 1 Then
  93.                 money = split_m(1, SH_Temp(Index), "money") '金钱
  94.                 exp = split_m(1, SH_Temp(Index), "exp") '经验
  95.                 sum = split_m(2, SH_Temp(Index), "pest") '剩余数量
  96.                 If exp > 0 Or xzbz = 0 Or SH_bj(Index) = "0" Then
  97.                     If SH_bj(Index) = "0" Then
  98.                         Call jilu("除虫", MyQQ, "为自己的" & farmlandIndex + 1 & "号农田除虫成功,经验:+" & exp)
  99.                     Else
  100.                         Call jilu("除虫", MyQQ, "帮助好友[" & SH_name(Index) & "]的" & farmlandIndex + 1 & "号农田除虫成功,经验:+" & exp & ",金钱:+" & money)
  101.                     End If
  102.                     Debug.Print "除虫:" & sum
  103.                     If sum > 0 Then         '等待除虫的列表
  104.                         Debug.Print "除虫1:" & sum
  105.                         If InStr(chuchonglb, "/" & SH_uid(Index) & "|" & farmlandIndex & "|") = 0 Then
  106.                            chuchonglb = "/" & SH_uid(Index) & "|" & farmlandIndex & "|" & SH_name(Index) & "//" & czzl(Index) & "||" & chuchonglb
  107.                         End If
  108.                     Else
  109.                         Call addsxlb(SH_uid(Index), czzl(Index))   '加入刷新列表
  110.                     End If
  111.                     
  112.                     Call tongji(3, 0, money, exp)   '统计收益
  113.                 Else
  114.                     If bzsx = False Then
  115.                        Call jilu("除虫", MyQQ, "今日帮助好友次数已达到上限(150次)已不再增加经验。")
  116.                        If Val(Label45.Caption) < 150 Then Label45.Caption = 150
  117.                     End If
  118.                     chuchonglb = ""
  119.                     bzsx = True
  120.                 End If
  121.                 Debug.Print chuchonglb
  122.             End If
  123.         ElseIf lx = 4 Then   '锄草
  124.             code = split_m(1, SH_Temp(Index), "code")  '返回状态
  125.             farmlandIndex = split_m(1, SH_Temp(Index), "farmlandIndex") '农田ID
  126.             If code = 1 Then
  127.                 money = split_m(1, SH_Temp(Index), "money") '金钱
  128.                 exp = split_m(1, SH_Temp(Index), "exp") '经验
  129.                 sum = split_m(2, SH_Temp(Index), "weed") '剩余数量
  130.                 If exp > 0 Or xzbz = 0 Or SH_bj(Index) = "0" Then
  131.                     If SH_bj(Index) = "0" Then
  132.                         Call jilu("锄草", MyQQ, "为自己的" & farmlandIndex + 1 & "号农田锄草成功,经验:+" & exp)
  133.                     Else
  134.                         Call jilu("锄草", MyQQ, "帮助好友[" & SH_name(Index) & "]的" & farmlandIndex + 1 & "号农田锄草成功,经验:+" & exp & ",金钱:+" & money)
  135.                     End If
  136.                     Debug.Print "除草:" & sum
  137.                     If sum > 0 Then         '等待锄草的列表
  138.                         Debug.Print "除草1:" & sum
  139.                         
  140.                         If InStr(chucaolb, "/" & SH_uid(Index) & "|" & farmlandIndex & "|") = 0 Then
  141.                            chucaolb = "/" & SH_uid(Index) & "|" & farmlandIndex & "|" & SH_name(Index) & "//" & czzl(Index) & "||" & chucaolb
  142.                             Debug.Print "除草2:" & chucaolb
  143.                         End If
  144.                         Debug.Print "除草3:" & chucaolb
  145.                     Else
  146.                         Call addsxlb(SH_uid(Index), czzl(Index))   '加入刷新列表
  147.                     End If
  148.                     
  149.                     Call tongji(3, 0, money, exp)   '统计收益
  150.                 Else
  151.                     If bzsx = False Then
  152.                        Call jilu("锄草", MyQQ, "今日帮助好友次数已达到上限(150次)已不再增加经验。")
  153.                        If Val(Label45.Caption) < 150 Then Label45.Caption = 150
  154.                     End If
  155.                     chucaolb = ""
  156.                     bzsx = True
  157.                 End If
  158.             End If
  159.             Debug.Print chucaolb
  160.         ElseIf lx = 5 Then   '浇水
  161.             code = split_m(1, SH_Temp(Index), "code")  '返回状态
  162.             farmlandIndex = split_m(1, SH_Temp(Index), "farmlandIndex") '农田ID
  163.             If code = 1 Then
  164.                 money = split_m(1, SH_Temp(Index), "money") '金钱
  165.                 exp = split_m(1, SH_Temp(Index), "exp") '经验
  166.                 If exp > 0 Or xzbz = 0 Or SH_bj(Index) = "0" Then
  167.                     sum = split_m(2, SH_Temp(Index), "humidity") '剩余数量
  168.                     If SH_bj(Index) = "0" Then
  169.                         Call jilu("浇水", MyQQ, "为自己的" & farmlandIndex + 1 & "号农田浇水成功,经验:+" & exp)
  170.                     Else
  171.                         Call jilu("浇水", MyQQ, "帮助好友[" & SH_name(Index) & "]的" & farmlandIndex + 1 & "号农田浇水成功,经验:+" & exp & ",金钱:+" & money)
  172.                     End If
  173.                     Debug.Print "浇水:" & sum
  174.                     If sum > 0 Then         '等待浇水的列表
  175.                         Debug.Print "浇水1:" & sum
  176.                         If InStr(jiaoshuilb, "/" & SH_uid(Index) & "|" & farmlandIndex & "|") = 0 Then
  177.                            jiaoshuilb = "/" & SH_uid(Index) & "|" & farmlandIndex & "|" & SH_name(Index) & "//" & czzl(Index) & "||" & jiaoshuilb
  178.                         End If
  179.                     Else
  180.                         Call addsxlb(SH_uid(Index), czzl(Index))   '加入刷新列表
  181.                     End If
  182.                     Debug.Print jiaoshuilb
  183.                     
  184.                     Call tongji(3, 0, money, exp)   '统计收益
  185.                 Else
  186.                     If bzsx = False Then
  187.                        Call jilu("浇水", MyQQ, "今日帮助好友次数已达到上限(150次)已不再增加经验。")
  188.                        If Val(Label45.Caption) < 150 Then Label45.Caption = 150
  189.                     End If
  190.                     jiaoshuilb = ""
  191.                     bzsx = True
  192.                 End If
  193.             End If
  194.         ElseIf lx = 6 Then   '翻地
  195.             code = split_m(1, SH_Temp(Index), "code")  '返回状态
  196.             farmlandIndex = split_m(1, SH_Temp(Index), "farmlandIndex") '农田ID
  197.             If code = 1 Then
  198.                 exp = split_m(1, SH_Temp(Index), "exp") '经验
  199.                 Call jilu("翻地", MyQQ, "为自己的" & farmlandIndex + 1 & "号农田翻地成功,经验:+" & exp)
  200.                 Debug.Print fandilb
  201.                 
  202.                 If zdbz = 1 Then
  203.                     If InStr(bozhonglb, "/" & Myuid & "|" & farmlandIndex & "|") = 0 Then
  204.                         bozhonglb = bozhonglb & "/" & Myuid & "|" & farmlandIndex & "|" & Myxiaoyou & "//" & rzl & "||"
  205.                     End If
  206.                     Debug.Print "加入播种列表"
  207.                 End If
  208.                 
  209.                 Call addsxlb(Myuid, rzl)    '加入刷新列表
  210.                 Call tongji(5, 0, 0, exp)   '统计收益
  211.             End If
  212.             
  213.         ElseIf lx = 7 Then   '播种
  214.             code = split_m(1, SH_Temp(Index), "code")  '返回状态
  215.             farmlandIndex = split_m(1, SH_Temp(Index), "farmlandIndex") '农田ID
  216.             If code = 1 Then
  217.                 exp = split_m(1, SH_Temp(Index), "exp") '经验
  218.                 Call jilu("种植", MyQQ, "为自己的" & farmlandIndex + 1 & "号农田种植【" & Replace(zhonglei(SH_bj(Index), 0), " ", "") & "】成功,经验:+" & exp)
  219.                 Debug.Print bozhonglb
  220.                 
  221.                 Call addsxlb(Myuid, rzl)    '加入刷新列表
  222.                 Call tongji(5, 0, 0, exp)   '统计收益
  223.             End If
  224.             Form1.bbi = 290
  225.         ElseIf lx = 8 Then   '刷新背包
  226.             mybox = ""
  227.             If InStr(SH_Temp(Index), """cId""") > 0 Then
  228.                 If InStr(SH_Temp(Index), "},{") > 0 Then
  229.                     Dim temp() As String
  230.                     temp = Split(SH_Temp(Index), "},{")
  231.                     For i = 0 To UBound(temp())
  232.                         If InStr(temp(i), "cName") > 0 Then
  233.                             cId = split_m(1, temp(i), "cId")
  234.                             amount = split_m(1, temp(i), "amount")
  235.                             If InStr(mybox, "/" & cId & "|" & amount & "|") = 0 Then
  236.                                 mybox = mybox & "/" & cId & "|" & amount & "//"
  237.                             End If
  238.                         End If
  239.                     Next i
  240.                 Else
  241.                     If InStr(SH_Temp(Index), "cName") > 0 Then
  242.                         cId = split_m(1, SH_Temp(Index), "cId")
  243.                         amount = split_m(1, SH_Temp(Index), "amount")
  244.                         If InStr(mybox, "/" & cId & "|" & amount & "|") = 0 Then
  245.                             mybox = mybox & "/" & cId & "|" & amount & "//"
  246.                         End If
  247.                     End If
  248.                 End If
  249.             End If
  250.         End If
  251.         SH_Temp(Index) = ""
  252.     End If
  253. End Sub
  254. Private Sub Timer2_Timer()
  255.     On Error Resume Next
  256.     Timer2.Enabled = False
  257.     QQLogin.Show vbModal, Me
  258. End Sub
  259. Private Sub Label34_Click()
  260.     If Label26.Caption = "" Then
  261.         If MsgBox("您还没有登录,只有登录才能使用。" & vbCrLf & "" & vbCrLf & "您是否现在进行登录?", 32 Or vbYesNo, "登录提示") = vbYes Then QQLogin.Show vbModal, Me
  262.         Exit Sub
  263.     End If
  264.         
  265.     If Label34.Caption = "农场扫描" Then
  266.         If MsgBox("您确定要立即扫描所有好友的农场作物吗?" & vbCr & vbCr & "温馨提示:请勿频繁重复扫描,否则可能被农场限制甚至降级!", 32 Or vbYesNo, "扫描确认") = vbYes Then
  267.             SmTime = Time_C
  268.             csi = 0
  269.             smcs = 0
  270.             smddsj = 0
  271.             kaishi = True
  272.             Call jilu("系统", MyQQ, "正在扫描好友农场作物,并全部加入监视列表...")
  273.             Label33.Visible = True
  274.             Label34.Caption = "0/" & haoyoui
  275.             Timer5.Enabled = False
  276.             Timer5.Enabled = True
  277.         End If
  278.     ElseIf Label34.Caption = "继续扫描" Then
  279.             smddsj = 0
  280.             smcs = 0
  281.             Label33.Visible = True
  282.             Label34.Caption = csi & "/" & haoyoui
  283.             Label34.ForeColor = &H808080
  284.             Call jilu("系统", MyQQ, "农场扫描恢复成功,现在继续扫描剩余的" & haoyoui - csi & "个农场。")
  285.     Else
  286.         If MsgBox("您确定要停止扫描吗?", 32 Or vbYesNo, "停止确认") = vbYes Then
  287.             SmTime = Time_C
  288.             kaishi = False
  289.             smcs = 0
  290.             smddsj = 0
  291.             Label34.ForeColor = &H808080
  292.             Call jilu("系统", MyQQ, "停止扫描,共更新了" & csi & "位好友农场,所有作物已被监视," & blxx & "分钟后重新扫描!")
  293.             Label33.Visible = False
  294.             Label34.Caption = "农场扫描"
  295.             Call SaoMiaoINI(SmTime, csi) '保存扫描的时间
  296.         End If
  297.     End If
  298. End Sub
  299. Private Sub SaoMiaoINI(SmTime As Long, csi As Long) '保存扫描的时间
  300.     On Error Resume Next
  301.     Dim SmTime_temp As String, csi_temp As String
  302.     SmTime_temp = SmTime
  303.     csi_temp = csi
  304.     WritePrivateProfileString MyQQ, "SmTime", SmTime_temp, App.Path & "Config.ini"
  305.     WritePrivateProfileString MyQQ, "csi", csi_temp, App.Path & "Config.ini"
  306. End Sub
  307. Private Sub Timer5_Timer() '循环读取农场信息
  308.     On Error Resume Next
  309.     Dim rzl As Integer
  310.     Dim sz As String
  311. '    Debug.Print "测试"
  312.     If login = True And dengdai = False And haoyoui > 1 And XPButton21.Caption = "停止工作" And yzmqk = False Then
  313. '        If Len(touqulb) > 0 Or Len(chuchonglb) > 0 Or Len(chucaolb) > 0 Or Len(jiaoshuilb) > 0 Or Len(fandilb) > 0 Or Len(bozhonglb) > 0 Or Len(sxlb) > 0 Then Exit Sub
  314.         If smxx = 1 And haoyoui > smrs Then   '扫描休息
  315.            If smcs >= smrs And smddsj = 0 Then
  316.               smddsj = Time_C
  317.               Call jilu("系统", MyQQ, "已扫描" & smrs & "个好友农场, 现在暂停扫描" & smxxsj & "分钟。")
  318.               Label33.Visible = False
  319.               Label34.Caption = "继续扫描"
  320.               Label34.ForeColor = &HFF&
  321.               Call SaoMiaoINI(smddsj, csi) '保存扫描的时间
  322.            End If
  323.         
  324.            If smddsj > 0 And Time_C - smddsj >= smxxsj * 60 Then
  325.               smddsj = 0
  326.               smcs = 0
  327.               If XPButton22.Caption = "成熟列表" Then Label33.Visible = True
  328.               Label34.Caption = csi & "/" & haoyoui
  329.               Label34.ForeColor = &H808080
  330.               Call jilu("系统", MyQQ, "农场扫描休息完毕,现在继续扫描剩余的" & haoyoui - csi & "个农场。")
  331.               Call SaoMiaoINI(Time_C, csi) '保存扫描的时间
  332.            ElseIf smddsj > 0 Then
  333.               Exit Sub
  334.            End If
  335.         End If
  336.         
  337.         If kaishi = False And Time_C - SmTime >= blxx * 60 Then
  338.            SmTime = Time_C
  339.            csi = 0
  340.            smcs = 0
  341.            kaishi = True
  342.            Call jilu("系统", MyQQ, "正在扫描好友农场作物,并全部加入监视列表...")
  343.            If XPButton22.Caption = "成熟列表" Then Label33.Visible = True
  344.            Label34.Caption = "0/" & haoyoui
  345.         ElseIf Smjixu = True And Time_C - SmTime < blxx * 45 And csi > 0 And csi < haoyoui Then
  346.            Smjixu = False
  347.            SmTime = Time_C
  348.            smcs = 0
  349.            kaishi = True
  350.            Call jilu("系统", MyQQ, "正在扫描上次未扫描完的" & haoyoui - csi & "个好友农场作物,并全部加入监视列表...")
  351.            If XPButton22.Caption = "成熟列表" Then Label33.Visible = True
  352.            Label34.Caption = csi & "/" & haoyoui
  353.         End If
  354.         
  355.         If csi >= haoyoui And kaishi = True Then
  356.             SmTime = Time_C
  357.             kaishi = False
  358.             csi = 0
  359.             smcs = 0
  360.             smddsj = 0
  361.             Label34.ForeColor = &H808080
  362.             Call jilu("系统", MyQQ, "扫描完成,共更新了" & haoyoui & "位好友农场,所有作物已被监视," & blxx & "分钟后重新扫描!")
  363.             Label33.Visible = False
  364.             Label34.Caption = "农场扫描"
  365.             
  366.             Call SaoMiaoINI(SmTime, csi) '保存扫描的时间
  367.         End If
  368.         
  369.         If kaishi = True Then
  370.             Set rs = New ADODB.Recordset
  371.             rs.CursorLocation = adUseServer
  372.             rs.Open "SELECT  * FROM friend where userid <> " & Myuid & " and xz = True order by Time ,exp desc", conn, 1, 3
  373.             
  374.             If rs.RecordCount > 0 Then
  375.     
  376.                 If Len(rs.Fields("Time")) < 8 Or DateDiff("s", rs.Fields("Time"), Now()) > 60 Then   ' and DateDiff("s", sendtime, Now) >= 1
  377.                     With rs
  378.                     .Update
  379.                     !time = Now()
  380.                     .Update
  381.                     End With
  382.                     sxdl = rs.Fields("userId")
  383.                     xli = xli + 1     '巡逻次数
  384.                     rzl = rs.Fields("zl")
  385.                     Call update_From(rzl)
  386.                 End If
  387.                 csi = csi + 1
  388.                 If smxx = 1 And haoyoui > smrs Then smcs = smcs + 1
  389.                 Label34.Caption = csi & "/" & haoyoui
  390.             End If
  391.     
  392.             rs.Close  '关闭数据库
  393.             Set rs = Nothing
  394.         End If
  395.     End If
  396. End Sub
  397. Private Sub Timer3_Timer()   '刷新我的农场
  398.     On Error Resume Next
  399.     Dim K As Integer, level As Long, jy As String
  400.     Dim tem1 As String, tem2 As String
  401.     Dim temp As Long
  402.     Dim xiangtong As Boolean
  403.     Dim rc As Integer
  404.     
  405. '    Debug.Print "QQ校友:" & Myxiaoyou; "  QQ空间:" & Myqzone
  406.     
  407.     If login = False Or XPButton21.Caption <> "停止工作" Then Exit Sub
  408.     Timer3.Interval = 5000
  409.     Timer3.Enabled = False
  410.     Timer3.Enabled = True
  411.     If Myuid = 0 Then
  412.         Call update_MyFrom
  413.         Label2.Caption = "加载中..."
  414.         Exit Sub
  415.     End If
  416.     level = dengji(Myexp)
  417.     tem1 = Myexp - ((level - 1) * level) * 100 - (level) * 200
  418.     tem2 = (level + 1) * 200
  419.     For II = 1 To 4
  420.         If Len(tem1) < 4 Then tem1 = " " & tem1
  421.     Next II
  422.     jy = tem1 & " / " & tem2
  423.     If Len(Myxiaoyou) = 0 Then Myxiaoyou = "校友用户"
  424.     Label2.Caption = Myxiaoyou    '名称
  425.     Label4.Caption = level        '等级
  426.     Label6.Caption = Mymoney      '金钱
  427.     Label8.Caption = Trim(jy)     '经验
  428.     '显示农场信息
  429.     Set rs = New ADODB.Recordset
  430.     rs.CursorLocation = adUseServer
  431.     rs.Open "SELECT  * FROM Farm where userid=" & Myuid & " order by Location", conn, 1, 1
  432.     rc = rs.RecordCount
  433.     If rc = 0 Then
  434.         If sxdl <> Myuid Then
  435.             List2.Clear
  436.             List2.AddItem "正在加载中..."
  437.             Call update_MyFrom
  438.         End If
  439.     Else
  440.         If rs.RecordCount <> List2.ListCount Then
  441.             List2.Clear
  442.         ElseIf List2.ListCount > 0 Then
  443.             xiangtong = True
  444.         End If
  445.         
  446.         If Time_C - rs.Fields("MTime") >= mysx Then
  447.             If sxdl <> Myuid Then
  448.                 sxdl = Myuid
  449.                 Call update_MyFrom
  450.             End If
  451.         End If
  452.         While Not rs.EOF
  453.             K = K + 1
  454.             Dim kk As String
  455.             Dim mm As String
  456.             kk = Replace(Format(rs.Fields("k"), "00"), "00", " 0")
  457.             mm = Replace(Format(rs.Fields("m"), "00"), "00", "0 ")
  458.             If kk > 0 Then
  459.                 If rs.Fields("m") = rs.Fields("l") Then
  460.                     If xiangtong = True Then
  461.                         List2.List(K - 1) = K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")" & " 所剩无几"
  462.                     Else
  463.                         List2.AddItem K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")" & " 所剩无几"
  464.                     End If
  465.                 Else
  466.                     If xiangtong = True Then
  467.                         List2.List(K - 1) = K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")" & " 已经成熟"
  468.                     Else
  469.                         List2.AddItem K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")" & " 已经成熟"
  470.                     End If
  471.                 End If
  472.             Else
  473.                 If rs.Fields("Kind") = 0 Then
  474.                     If xiangtong = True Then
  475.                         List2.List(K - 1) = K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")"
  476.                     Else
  477.                         List2.AddItem K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")"
  478.                     End If
  479.                 Else
  480.                     
  481.                     temp = rs.Fields("q") - (DateDiff("s", DateSerial(1970, 1, 1), Now()) - shicha)
  482.                     
  483. '                    Debug.Print temp
  484.                     
  485.                     If temp > 0 And temp <= 45 Then
  486.                        zdbs = True
  487.                        grsxsd = 4
  488.                     End If
  489.                     If xiangtong = True Then
  490.                         List2.List(K - 1) = K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")" & " " & time_m(rs.Fields("q"))
  491.                     Else
  492.                         List2.AddItem K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")" & " " & time_m(rs.Fields("q"))
  493.                     End If
  494.                 End If
  495.             End If
  496.             rs.MoveNext
  497.             'DoEvents
  498.         Wend
  499.     End If
  500.     rs.Close  '关闭数据库
  501.     Set rs = Nothing
  502. End Sub
  503. Private Sub update_From(zl As Integer)  '立即更新农场
  504.     On Error Resume Next
  505.     If sxdl > 0 And login = True And dengdai = False And yzmqk = False Then
  506.         sendid = Wi() + 1
  507.         hqid(sendid) = sxdl
  508.         hqtemp(sendid) = ""
  509.         myhqtime = Now
  510.         sendtime = Now
  511.         Winsock2(sendid).Tag = sxdl
  512.         
  513.         nczl(sendid) = zl
  514.         If Proxy = 1 Then  '使用代理
  515.             Winsock2(sendid).Close
  516.             Winsock2(sendid).RemoteHost = Proxy_IP
  517.             Winsock2(sendid).RemotePort = Proxy_DK
  518.             Winsock2(sendid).Connect
  519.         Else
  520.             Winsock2(sendid).Close
  521.             If zl = 1 Then
  522.                Winsock2(sendid).RemoteHost = "nc.qzone.qq.com"
  523.             Else
  524.                Winsock2(sendid).RemoteHost = "nc.xiaoyou.qq.com"
  525.             End If
  526.             Winsock2(sendid).RemotePort = 80
  527.             Winsock2(sendid).Connect
  528.         End If
  529.     End If
  530. End Sub
  531. Sub update_MyFrom()  '立即更新我的农场
  532.     On Error Resume Next
  533.     If login = True And dengdai = False And Abs(shicha) > 0 And yzmqk = False Then
  534.         sendid = Wi() + 1
  535.         hqid(sendid) = Myuid
  536.         hqtemp(sendid) = ""
  537.         myhqtime = Now
  538.         sendtime = Now
  539.         myi = sendid
  540.         Winsock2(sendid).Tag = sxdl
  541.         If Proxy = 1 Then  '使用代理
  542.             Winsock2(sendid).Close
  543.             Winsock2(sendid).RemoteHost = Proxy_IP
  544.             Winsock2(sendid).RemotePort = Proxy_DK
  545.             Winsock2(sendid).Connect
  546.         Else
  547.             Winsock2(sendid).Close
  548.             
  549.             If Farmqk = True Then
  550.                If Len(Myxiaoyou) = 0 Then
  551.                     Winsock2(sendid).RemoteHost = "happyfarm.xiaoyou.qq.com"
  552.                     nczl(sendid) = 0
  553.                     
  554.                     Debug.Print "开始获取QQ校友名字"
  555.                ElseIf Len(Myqzone) = 0 Then
  556.                     Winsock2(sendid).RemoteHost = "happyfarm.qzone.qq.com"
  557.                     nczl(sendid) = 1
  558.                     
  559.                     Debug.Print "开始获取QQ空间名字"
  560.                Else
  561.                     gxmyi = gxmyi + 1
  562.                     
  563.                     If gxmyi > 10 Then
  564.                         gxmyi = 0
  565.                         Winsock2(sendid).RemoteHost = "happyfarm.qzone.qq.com"
  566.                         nczl(sendid) = 1
  567.                     Else
  568.                         Winsock2(sendid).RemoteHost = "happyfarm.xiaoyou.qq.com"
  569.                         nczl(sendid) = 0
  570.                     End If
  571.                End If
  572.             Else
  573.                Winsock2(sendid).RemoteHost = "happyfarm.qzone.qq.com"
  574.                nczl(sendid) = 1
  575.             End If
  576.             Winsock2(sendid).RemotePort = 80
  577.             Winsock2(sendid).Connect
  578.         End If
  579.     End If
  580. End Sub
  581. '↓ ↓ ↓ 获取农场信息↓ ↓ ↓  ======================
  582. Private Sub Winsock2_Connect(Index As Integer)
  583.     On Error Resume Next
  584.     Dim strCommand As String
  585.     Dim posttem As String
  586.     Dim proxytemp As String
  587.     Randomize Timer
  588.     If Proxy = 1 Then  '使用代理
  589.     
  590.         If myi = Index Or hqid(Index) = Myuid Then
  591.             If nczl(sendid) = 1 Then
  592.                proxytemp = "http://happyfarm.qzone.qq.com"
  593.             Else
  594.                proxytemp = "http://happyfarm.xiaoyou.qq.com"
  595.             End If
  596.         Else
  597.             If nczl(sendid) = 1 Then
  598.                proxytemp = "http://nc.qzone.qq.com"
  599.             Else
  600.                proxytemp = "http://nc.xiaoyou.qq.com"
  601.             End If
  602.         End If
  603.     
  604.     End If
  605.     If myi = Index Or hqid(Index) = Myuid Then
  606.         posttem = "farmKey=" & Farmkey_cx & "&farmTime=" & Time_Cx
  607.         strCommand = "POST " & proxytemp & "/api.php?mod=user&act=run HTTP/1.1" & vbCrLf
  608.     Else
  609.         strCommand = "GET " & proxytemp & "/cgi-bin/cgi_farm_index?mod=user&act=run" & yzmcode & "&ownerId=" & hqid(Index) & " HTTP/1.1" & vbCrLf
  610.     End If
  611.     strCommand = strCommand + "Accept: */*" + vbCrLf
  612.     strCommand = strCommand + "Accept-Language: zh-cn" + vbCrLf
  613.     strCommand = strCommand + "Accept-Encoding: gzip, deflate" + vbCrLf
  614.     If Proxy = 1 And Len(Basic) > 0 Then strCommand = strCommand & "Proxy-Authorization: Basic " & Basic & vbCrLf
  615.     If myi = Index Or hqid(Index) = Myuid Then
  616.         If nczl(sendid) = 1 Then
  617.            strCommand = strCommand & "Host: happyfarm.qzone.qq.com" & vbCrLf
  618.         Else
  619.            strCommand = strCommand & "Host: happyfarm.xiaoyou.qq.com" & vbCrLf
  620.         End If
  621.     Else
  622.         If nczl(sendid) = 1 Then
  623.            strCommand = strCommand & "Host: nc.qzone.qq.com" & vbCrLf
  624.         Else
  625.            strCommand = strCommand & "Host: nc.xiaoyou.qq.com" & vbCrLf
  626.         End If
  627.     End If
  628.     
  629.     If myi = Index Or hqid(Index) = Myuid Then
  630.       strCommand = strCommand & "Content-Type: application/x-www-form-urlencoded" & vbCrLf
  631.     End If
  632.     strCommand = strCommand & "Referer: http://appimg.qq.com/happyfarm/module/Main_v_" & flashbb & ".swf" & vbCrLf
  633.     strCommand = strCommand & "x-flash-version: " & flash & vbCrLf
  634.     strCommand = strCommand & "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" & vbCrLf
  635.     strCommand = strCommand & "Connection: close" & vbCrLf
  636.     If myi = Index Or hqid(Index) = Myuid Then
  637.       strCommand = strCommand & "Content-Length: " & Len(posttem) & vbCrLf
  638.     End If
  639.     strCommand = strCommand & "Cookie: " & FarmCookies & vbCrLf
  640. '    strCommand = strCommand & "Cookie: uin=" & login_uid & "; skey=" & login_skey & "; pst=" & pst - 5 & ";" & vbCrLf
  641.     strCommand = strCommand & vbCrLf
  642.     If myi = Index Or hqid(Index) = Myuid Then
  643.       strCommand = strCommand & posttem
  644.     End If
  645.     Winsock2(Index).SendData strCommand
  646.     
  647.     yzmcode = "" '清空验证码
  648. End Sub
  649. Private Sub Winsock2_DataArrival(Index As Integer, ByVal bytesTotal As Long)
  650.     On Error Resume Next
  651.     ReDim str(bytesTotal - 1) As Byte
  652.     Winsock2(Index).GetData str, vbArray + vbByte
  653.     hqtemp(Index) = hqtemp(Index) & UTF8_Decode(str)
  654. End Sub
  655. Private Sub Winsock2_Close(Index As Integer)   '更新农场信息
  656.     On Error Resume Next
  657.     Winsock2(Index).Close
  658.     Dim fanwei As String, tem1 As String, tem2 As String, sum As Integer, tem3 As String
  659.     Dim tudi() As String, hyname As String, dog As String, gl As Integer, tem_exp As Long, xz As Boolean
  660.     Dim rc As Integer, rzl As Integer, b As Integer
  661.     Dim pst_temp As Long
  662.     Dim gx As Boolean
  663.     
  664.     If Len(hqtemp(Index)) > 0 Then
  665.         '记录QQ服务器时间
  666.         If InStr(hqtemp(Index), "Set-Cookie: pst=") > 0 Then
  667.             tem1 = Split(hqtemp(Index), "Set-Cookie: pst=")(1)
  668.             pst_temp = Val(Split(tem1, ";")(0))
  669.             If pst_temp > 0 Then pst = pst_temp
  670.             
  671.             pst_temp = Time_C - pst_temp
  672.             If pst_temp > 0 Then shicha = pst_temp
  673.             Call shichaini(shicha)  '更新时差
  674.             
  675.             gx = True
  676.         End If
  677.         
  678.         If InStr(hqtemp(Index), """time""") > 0 Then
  679.             pst_temp = Val(split_m(2, hqtemp(Index), "time"))
  680.             
  681.             Debug.Print pst_temp
  682.             If pst_temp > 0 Then pst = pst_temp
  683.             
  684.             pst_temp = Time_C - pst_temp
  685.             If pst_temp > 0 Then shicha = pst_temp
  686.             Call shichaini(shicha)  '更新时差
  687.             
  688.             gx = True
  689.         End If
  690.         
  691.         If gxshicha = False Then
  692.            If gx = True Then
  693.               Dim temp As String
  694.               temp = Val(DateDiff("s", DateSerial(1970, 1, 1), Format(FromUnixTime(Time_Cx, 8), "yyyy-M-d 23:59:59")) + 1)
  695.               If Len(temp) = 10 Then
  696.                  If gxTime <> Val(temp) Then
  697.                     Label45.Caption = 0
  698.                     WritePrivateProfileString MyQQ, "BmCs", "0", App.Path & "Config.ini"
  699.                  End If
  700.                  gxTime = Val(temp)
  701.                  WritePrivateProfileString MyQQ, "BmTime", temp, App.Path & "Config.ini"
  702.                  gxshicha = True
  703.               End If
  704.            End If
  705.         End If
  706.         If InStr(hqtemp(Index), "请重新登录") > 0 Or InStr(hqtemp(Index), "u8BF7u91CDu65B0u767Bu5F55") > 0 Then    '登录超时
  707.             diaoxiani = diaoxiani + 1
  708.             '        If diaoxiani = 1 And InStr(bbname, "Beta") > 0 Then Call jilu("调试", MyQQ, "获取农场时出现超时!")
  709.             If diaoxiani >= 5 And login = True And jcwork = False Then
  710.                 hqtemp(Index) = ""
  711.                 jctemp = ""
  712.                 jcwork = True
  713.                 Timer18.Interval = 5000
  714.                 Timer18.Enabled = True
  715.                 If Proxy = 1 Then  '使用代理
  716.                     Winsock7.Close
  717.                     Winsock7.RemoteHost = Proxy_IP
  718.                     Winsock7.RemotePort = Proxy_DK
  719.                     Winsock7.Connect
  720.                 Else
  721.                     Winsock7.Close
  722.                     Winsock7.RemoteHost = "xiaoyou.qq.com"
  723.                     Winsock7.RemotePort = 80
  724.                     Winsock7.Connect
  725.                 End If
  726.                 diaoxiani = 0
  727.                 Exit Sub
  728.             End If
  729.         Else
  730.             diaoxiani = 0
  731.         End If
  732.         
  733.         If InStr(hqtemp(Index), ":""validateCode") > 0 Then    '需要输入验证码
  734.             
  735.             yzmlx.lx = -1
  736.             yzmlx.uID = hqid(Index)
  737.             yzmlx.rzl = nczl(Index)
  738.             Call xyyzm  '弹出验证码
  739.         
  740.             Debug.Print "请输入验证码" & " 次数:" & yzmcsi
  741.             Exit Sub
  742.         End If
  743.         
  744.         tem1 = Split(hqtemp(Index), "farmlandStatus"":[")(1)
  745.         fanwei = Split(tem1, "],""items"":")(0)  '获取范围
  746.         tudi = Split(fanwei, "},{")
  747.         For i = 0 To UBound(tudi())
  748.             Dim a As Integer, q As Long, K As Integer, m As Integer, l As Integer, touqu As Boolean, buzu As Boolean
  749.             a = split_m(1, tudi(i), "a") '种类
  750.             If a > 0 Then
  751.                 q = split_m(1, tudi(i), "q")
  752.                 If q > 0 Then
  753.                     q = q + zhonglei(a, 1) '播种时间
  754.                 End If
  755.                 K = split_m(1, tudi(i), "k") '产量
  756.                 l = split_m(1, tudi(i), "l") '最低产量
  757.                 m = split_m(1, tudi(i), "m") '当前剩下
  758.                 b = split_m(1, tudi(i), "b") '作物状态
  759.                 
  760.                 Dim tqtemp As String
  761.                 tqtemp = split_m(1, tudi(i), "n")
  762. '                Debug.Print tqtemp
  763.                 If InStr(tqtemp, Myuid & ":") > 0 Or (K < 0 Or m < 0 Or l < 0) Then
  764.                     touqu = 1
  765.                 Else
  766.                     touqu = 0
  767.                 End If
  768.                 If l > 0 And l = m Then
  769.                     buzu = 1
  770.                 Else
  771.                     buzu = 0
  772.                 End If
  773.             Else  '空地
  774.                 q = 0 '播种时间
  775.                 K = 0 '产量
  776.                 l = 0 '最低产量
  777.                 m = 0 '当前剩下
  778.                 touqu = 0
  779.                 buzu = 0
  780.             End If
  781.             dog = split_m(2, hqtemp(Index), "isHungry")  '检查是否有狗狗
  782.             If dog = "0" Then
  783.                 gl = 1
  784.             Else
  785.                 gl = 0
  786.             End If
  787.             tem_exp = split_m(1, hqtemp(Index), "exp")
  788.             If myi = Index Then
  789.             
  790.                 
  791.                 Dim tem_uId As Long, tem_money As Long
  792.                 Dim tem_name As String
  793.                 tem_uId = split_m(1, hqtemp(Index), "uId")
  794.                 tem_name = vbUnEscape(split_m(3, hqtemp(Index), "userName"))
  795.                 tem_money = split_m(1, hqtemp(Index), "money")
  796.                 myi = -1
  797.                 
  798.                 fzsxsb = 0 '清空防止刷新个人农场失败参数
  799.   
  800.                 If Len(tem_name) = 0 And InStr(hqtemp(Index), "userName"":null") > 0 Then
  801.                    tem_name = "农场用户"
  802.                 End If
  803.                 
  804.                 If tem_uId > 0 Then
  805.                     Myuid = tem_uId
  806.                     hyname = tem_name
  807.                     
  808.                     If Farmqk = True Then
  809.                         If nczl(Index) = 0 Then
  810.                            Myxiaoyou = tem_name
  811.                            If Len(Myqzone) = 0 Then
  812.                               Rqzonei = Rqzonei + 1
  813.                               If Rqzonei <= 10 Then Call update_MyFrom
  814.                            End If
  815.                         Else
  816.                            Myqzone = tem_name
  817.                         End If
  818.                     Else
  819.                        Myxiaoyou = tem_name
  820.                        Myqzone = tem_name
  821.                     End If
  822.                     Myexp = tem_exp             '我的经验
  823.                     Mymoney = tem_money         '我的金钱
  824.                     hqid(Index) = tem_uId
  825.                     Winsock2(Index).Tag = tem_uId
  826.                     If Len(Myxiaoyou) = 0 Then Myxiaoyou = "我的农场"
  827.                 End If
  828.                 
  829.                 If lqlw = False Then
  830.                     If (split_m(1, hqtemp(Index), "yellowlevel") > 0 And split_m(2, hqtemp(Index), "yellowstatus") > 0) Or InStr(bbname, "Beta") > 0 Then
  831.                         templqlw = ""
  832.                         If Proxy = 1 Then  '使用代理
  833.                             Winsock10.Close
  834.                             Winsock10.RemoteHost = Proxy_IP
  835.                             Winsock10.RemotePort = Proxy_DK
  836.                             Winsock10.Connect
  837.                         Else
  838.                             Winsock10.Close
  839.                             If Farmqk = True Then
  840.                                Winsock10.RemoteHost = "happyfarm.xiaoyou.qq.com"
  841.                             Else
  842.                                Winsock10.RemoteHost = "happyfarm.qzone.qq.com"
  843.                             End If
  844.                             Winsock10.RemotePort = 80
  845.                             Winsock10.Connect
  846.                         End If
  847.                     Else
  848.                         lqlw = True
  849.                     End If
  850.                 End If
  851.             End If
  852.             Set rs = New ADODB.Recordset
  853.             rs.CursorLocation = adUseServer
  854.             rs.Open "SELECT  * FROM friend where userId=" & hqid(Index), conn, 1, 3
  855.             rzl = rs.Fields("zl")
  856.             If rs.RecordCount > 0 Then
  857.                 hyname = vbUnEscape(rs.Fields("userName"))
  858.                 xz = rs.Fields("xz")
  859.                 With rs
  860.                 .Update
  861.                 !time = Now()
  862.                 If Farmqk = True Then
  863.                     If nczl(Index) = 0 Then
  864.                        If Myuid = hqid(Index) And Myuid > 0 Then !userName = vbEscape(Myxiaoyou)
  865.                     End If
  866.                 Else
  867.                    If Myuid = hqid(Index) And Myuid > 0 Then !userName = vbEscape(Myxiaoyou)
  868.                 End If
  869.                 
  870.                 If Myuid = hqid(Index) And Myuid > 0 Then !money = Mymoney
  871.                 If tem_exp > 0 Then
  872.                     !exp = tem_exp
  873.                 End If
  874.                 .Update
  875.                 End With
  876.             ElseIf Myuid = hqid(Index) And Myuid > 0 Then
  877.                 Set rs1 = New ADODB.Recordset
  878.                 rs1.CursorLocation = adUseServer
  879.                 rs1.Open "SELECT  * FROM friend where userId=" & Myuid, conn, 1, 3
  880.                 rc = rs1.RecordCount
  881.                 If rc = 0 Then
  882.                     If Len(Myxiaoyou) = 0 Then Myxiaoyou = vbEscape("我的农场")
  883.                     xz = True
  884.                     With rs
  885.                     .AddNew
  886.                     !userId = Myuid
  887.                     If Farmqk = True Then
  888.                         If nczl(Index) = 0 Then
  889.                            !userName = Myxiaoyou
  890.                         End If
  891.                     Else
  892.                        !userName = Myxiaoyou
  893.                     End If
  894.                     !exp = Myexp
  895.                     !money = Mymoney
  896.                     !time = Now()
  897.                     .Update
  898.                     End With
  899.                     Call jiazai("exp", True) '加载数据
  900.                 End If
  901.                 rs1.Close  '关闭数据库
  902.                 Set rs1 = Nothing
  903.             End If
  904.             rs.Close  '关闭数据库
  905.             Set rs = Nothing
  906.             Set rs = New ADODB.Recordset
  907.             rs.CursorLocation = adUseServer
  908.             rs.Open "SELECT  * FROM Farm where userId=" & hqid(Index) & " and Location=" & i + 1, conn, 1, 3
  909.             If rs.RecordCount > 0 Then
  910.                 With rs
  911.                 .Update
  912.                 !kind = Abs(a)
  913.                 !K = Abs(K)
  914.                 !l = Abs(l)
  915.                 !m = Abs(m)
  916.                 !q = Abs(q)
  917.                 !touqu = touqu
  918.                 !buzu = buzu
  919.                 !MTime = Time_C()
  920.                 !gl = gl
  921.                 !xz = xz
  922.                 !zl = rzl
  923.                 .Update
  924.                 End With
  925.             Else
  926.                 With rs
  927.                 .AddNew
  928.                 !userId = hqid(Index)
  929.                 !Location = i + 1
  930.                 !kind = Abs(a)
  931.                 !K = Abs(K)
  932.                 !l = Abs(l)
  933.                 !m = Abs(m)
  934.                 !q = Abs(q)
  935.                 !touqu = touqu
  936.                 !buzu = buzu
  937.                 !MTime = Time_C()
  938.                 !gl = gl
  939.                 !xz = xz
  940.                 !zl = rzl
  941.                 .Update
  942.                 End With
  943.             End If
  944.             rs.Close  '关闭数据库
  945.             Set rs = Nothing
  946.             If (XPButton21.Caption = "停止工作" Or gzxxing = True) And xz = True Then
  947.                 tem3 = split_m(2, tudi(i), "p")
  948.                 If hqid(Index) <> Myuid And zdtq = 1 And ((fqgg = 1 And gl = 0) Or fqgg = 0) Then
  949.                     If (K > 0 And m > l) And touqu = False Then  '等待偷取的列表
  950.                         If InStr(touqulb, "/" & hqid(Index) & "|" & i & "|") = 0 Then
  951.                             touqulb = touqulb & "/" & hqid(Index) & "|" & i & "|" & hyname & "//" & rzl & "||"
  952.                         End If
  953.                     End If
  954.                 End If
  955.                 If zdsg = 1 And hqid(Index) = Myuid Then
  956.                     If l > 0 Then                               '等待收获的列表
  957.                         If InStr(shouhuolb, "/" & hqid(Index) & "|" & i & "|") = 0 Then
  958.                            shouhuolb = shouhuolb & "/" & hqid(Index) & "|" & i & "|" & hyname & "//" & rzl & "||"
  959.                         End If
  960.                     End If
  961.                 End If
  962.                 If (zdsc = 1 Or zdbsc = 1) And Abs(m) = 0 Then
  963.                     Dim yxsc As Boolean
  964.     
  965.                     If hqid(Index) = Myuid Then
  966.     
  967.                         If zdsc = 1 Then
  968.                             yxsc = True
  969.                         End If
  970.     
  971.                     ElseIf zdbsc = 1 And (xzbz = 0 Or (xzbz = 1 And bzsx = False)) Then
  972.                         yxsc = True
  973.                     End If
  974.     
  975.                     If yxsc = True Then
  976.                         Dim G As String
  977.                         G = split_m(1, tudi(i), "g")
  978.                         
  979.                         If Len(G) = 1 And Val(G) > 0 Then         '等待除虫的列表
  980.     
  981.                             If InStr(chuchonglb, "/" & hqid(Index) & "|" & i & "|") = 0 Then
  982.                                 chuchonglb = chuchonglb & "/" & hqid(Index) & "|" & i & "|" & hyname & "//" & rzl & "||"
  983.                             End If
  984.     
  985.                         End If
  986.     
  987.                     End If
  988.     
  989.                 End If
  990.                 If (zdcc = 1 Or zdbcc = 1) And Abs(m) = 0 Then
  991.                     Dim yxcc As Boolean
  992.     
  993.                     If hqid(Index) = Myuid Then
  994.     
  995.                         If zdcc = 1 Then
  996.                             yxcc = True
  997.                         End If
  998.     
  999.                     ElseIf zdbcc = 1 And (xzbz = 0 Or (xzbz = 1 And bzsx = False)) Then
  1000.                         yxcc = True
  1001.                     End If
  1002.     
  1003.                     If yxcc = True Then
  1004.                         Dim f As String
  1005.                         f = split_m(1, tudi(i), "f")
  1006.                         
  1007.                         If Len(f) = 1 And Val(f) > 0 Then         '等待锄草的列表
  1008.     
  1009.                             If InStr(chucaolb, "/" & hqid(Index) & "|" & i & "|") = 0 Then
  1010.                                 chucaolb = chucaolb & "/" & hqid(Index) & "|" & i & "|" & hyname & "//" & rzl & "||"
  1011.                             End If
  1012.     
  1013.                         End If
  1014.     
  1015.                     End If
  1016.     
  1017.                 End If
  1018.                 If (zdjs = 1 Or zdbjs = 1) And Abs(m) = 0 Then
  1019.                     Dim yxjs As Boolean
  1020.     
  1021.                     If hqid(Index) = Myuid Then
  1022.     
  1023.                         If zdjs = 1 Then
  1024.                             yxjs = True
  1025.                         End If
  1026.     
  1027.                     ElseIf zdbjs = 1 And (xzbz = 0 Or (xzbz = 1 And bzsx = False)) Then
  1028.                         yxjs = True
  1029.                     End If
  1030.     
  1031.                     If yxjs = True Then
  1032.                     
  1033.                         Dim h As String
  1034.                         h = split_m(1, tudi(i), "h")
  1035.                         
  1036.                         If Len(h) = 1 And Val(h) = 0 Then             '等待浇水的列表
  1037.                             If InStr(jiaoshuilb, "/" & hqid(Index) & "|" & i & "|") = 0 Then
  1038.                                 jiaoshuilb = jiaoshuilb & "/" & hqid(Index) & "|" & i & "|" & hyname & "//" & rzl & "||"
  1039.                             End If
  1040.     
  1041.                         End If
  1042.     
  1043.                     End If
  1044.     
  1045.                 End If
  1046.                 If zdbz = 1 And hqid(Index) = Myuid Then
  1047.     
  1048.                     If hqid(Index) = Myuid And a > 0 And b = 7 Then              '等待翻地的列表
  1049.     
  1050.                         If InStr(fandilb, "/" & hqid(Index) & "|" & i & "|") = 0 Then
  1051.                             fandilb = fandilb & "/" & hqid(Index) & "|" & i & "|" & hyname & "//" & rzl & "||"
  1052.                         End If
  1053.     
  1054.                     End If
  1055.     
  1056.                     If hqid(Index) = Myuid And a = 0 And q = 0 And sexp = False Then               '等待播种的列表
  1057.     
  1058.                         If InStr(bozhonglb, "/" & hqid(Index) & "|" & i & "|") = 0 Then
  1059.                             bozhonglb = bozhonglb & "/" & hqid(Index) & "|" & i & "|" & hyname & "//" & rzl & "||"
  1060.                         End If
  1061.     
  1062.                         Debug.Print "加入播种列表"
  1063.                     End If
  1064.     
  1065.                 End If
  1066.             End If
  1067.         Next i
  1068.     hqtemp(Index) = ""
  1069.     If Winsock2(Index).Tag = Myuid Then
  1070.         Call Timer3_Timer
  1071.     End If
  1072.     If Winsock2(Index).Tag = hqid(Index) Then
  1073.         sxdl = 0
  1074.         Winsock2(Index).Tag = ""
  1075.         If listfarmid = hqid(Index) Then
  1076.             level = dengji(tem_exp)
  1077.             tem1 = tem_exp - ((level - 1) * level) * 100 - (level) * 200
  1078.             tem2 = (level + 1) * 200
  1079.             For II = 1 To 4
  1080.                 If Len(tem1) < 4 Then tem1 = " " & tem1
  1081.             Next II
  1082.             Call vsListView1.SubItemSet(listfarmid, 2, level, 0)
  1083.             Call vsListView1.SubItemSet(listfarmid, 3, tem1 & " / " & tem2, 0)
  1084.             Call Timer4_Timer
  1085.         End If
  1086.     End If
  1087. End If
  1088. End Sub
  1089. Private Sub Winsock10_Connect()  '自动领取礼物
  1090.     On Error Resume Next
  1091.     Dim strCommand As String
  1092.     Dim posttem As String
  1093.     Dim proxytemp As String
  1094.     Randomize Timer
  1095.     If Proxy = 1 Then  '使用代理
  1096.         If Farmqk = True Then
  1097.            proxytemp = "http://happyfarm.xiaoyou.qq.com"
  1098.         Else
  1099.            proxytemp = "http://happyfarm.qzone.qq.com"
  1100.         End If
  1101.     End If
  1102.     posttem = "farmKey=" & Farmkey_cx & "&farmTime=" & Time_Cx
  1103.     strCommand = "POST " & proxytemp & "/api.php?mod=Feast&act=getPackage HTTP/1.1" & vbCrLf
  1104.     strCommand = strCommand + "Accept: */*" + vbCrLf
  1105.     strCommand = strCommand + "Accept-Language: zh-cn" + vbCrLf
  1106.     strCommand = strCommand + "Accept-Encoding: gzip, deflate" + vbCrLf
  1107.     If Proxy = 1 And Len(Basic) > 0 Then strCommand = strCommand & "Proxy-Authorization: Basic " & Basic & vbCrLf
  1108.     If Farmqk = True Then
  1109.        strCommand = strCommand & "Host: happyfarm.xiaoyou.qq.com" & vbCrLf
  1110.     Else
  1111.        strCommand = strCommand & "Host: happyfarm.qzone.qq.com" & vbCrLf
  1112.     End If
  1113.     strCommand = strCommand & "Content-Type: application/x-www-form-urlencoded" & vbCrLf
  1114.     strCommand = strCommand & "Referer: http://appimg.qq.com/happyfarm/module/Main_v_" & flashbb & ".swf" & vbCrLf
  1115.     strCommand = strCommand & "x-flash-version: " & flash & vbCrLf
  1116.     strCommand = strCommand & "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" & vbCrLf
  1117.     strCommand = strCommand & "Connection: close" & vbCrLf
  1118.     strCommand = strCommand & "Content-Length: " & Len(posttem) & vbCrLf
  1119.     strCommand = strCommand & "Cookie: " & FarmCookies & vbCrLf
  1120. '    strCommand = strCommand & "Cookie: uin=" & login_uid & "; skey=" & login_skey & "; pst=" & pst - 5 & ";" & vbCrLf
  1121.     strCommand = strCommand & vbCrLf
  1122.     strCommand = strCommand & posttem
  1123.     Winsock10.SendData strCommand
  1124. End Sub
  1125. Private Sub Winsock10_DataArrival(ByVal bytesTotal As Long)
  1126.     On Error Resume Next
  1127.     ReDim str(bytesTotal - 1) As Byte
  1128.     Winsock10.GetData str, vbArray + vbByte
  1129.     templqlw = templqlw & UTF8_Decode(str)
  1130. End Sub
  1131. Private Sub Winsock10_Close()
  1132.     On Error Resume Next
  1133.     Winsock10.Close
  1134.     If Len(templqlw) > 0 Then
  1135.         If InStr(templqlw, "direction") > 0 Then
  1136.            Call jilu("黄钻", MyQQ, "领取礼包:成功领取黄钻每日礼包!")
  1137.         End If
  1138.         lqlw = True
  1139.     End If
  1140.     templqlw = ""
  1141. End Sub
  1142. '====================== ↑↑↑ 获取农场信息 ↑↑↑
  1143. Private Sub Winsock7_Connect()
  1144.     On Error Resume Next
  1145.     Dim strCommand As String
  1146.     Dim proxytemp As String
  1147.     Randomize Timer
  1148.     If Proxy = 1 Then  '使用代理
  1149.         proxytemp = "http://xiaoyou.qq.com"
  1150.     End If
  1151.     strCommand = "GET " & proxytemp & "/index.php?mod=home HTTP/1.1" & vbCrLf
  1152.     strCommand = strCommand + "Accept: */*" + vbCrLf
  1153.     strCommand = strCommand + "Accept-Language: zh-cn" + vbCrLf
  1154.     strCommand = strCommand + "Accept-Encoding: gzip, deflate" + vbCrLf
  1155.     If Proxy = 1 And Len(Basic) > 0 Then strCommand = strCommand & "Proxy-Authorization: Basic " & Basic & vbCrLf
  1156.     strCommand = strCommand & "Host: xiaoyou.qq.com" & vbCrLf
  1157.     strCommand = strCommand & "Referer: http://xiaoyou.qq.com/index.php?mod=useredit&act=baseinfoedit" & vbCrLf
  1158.     strCommand = strCommand & "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" & vbCrLf
  1159.     strCommand = strCommand & "Connection: Keep-Alive" & vbCrLf
  1160.     strCommand = strCommand & "Cookie: " & FarmCookies & vbCrLf
  1161. '    strCommand = strCommand & "Cookie: uin=" & login_uid & "; skey=" & login_skey & "; pst=" & pst - 5 & ";" & vbCrLf
  1162.     strCommand = strCommand & vbCrLf
  1163.     Winsock7.SendData strCommand
  1164. End Sub
  1165. Private Sub Winsock7_DataArrival(ByVal bytesTotal As Long)
  1166.     On Error Resume Next
  1167.     ReDim str(bytesTotal - 1) As Byte
  1168.     Winsock7.GetData str, vbArray + vbByte
  1169.     jctemp = jctemp & UTF8_Decode(str)
  1170.     If InStr(jctemp, "好友日志</a>") > 0 Then
  1171.         Timer18.Enabled = False
  1172.         jcwork = False
  1173.         Call jilu("系统", MyQQ, "农场可能被临时限制,故休息" & xzsj & "分钟后自动重试!")
  1174.         XPButton21.Caption = "解除休息"
  1175.         XPButton21.ForeColor = &HFF&
  1176.         dengdai = True
  1177.         ddi = 0
  1178.         jctemp = ""
  1179.         Winsock7.Close
  1180.     ElseIf InStr(jctemp, "location: /index.html?ref=http") > 0 Then
  1181.         Timer18.Enabled = False
  1182.         jcwork = False
  1183.         Call jilu("系统", MyQQ, "登录失效,请重新登录,有可能是服务器维护或异地登录导致!")
  1184.         Call wdl
  1185.         MsgBox "登录失效,请重新登录,有可能是服务器维护或异地登录导致!", 48, "提醒"
  1186.         If Form1.Visible = False Then
  1187.             FormTop Me.hwnd, True
  1188.             FormTop Me.hwnd, False
  1189.             Form1.Show
  1190.         End If
  1191.         jctemp = ""
  1192.         Winsock7.Close
  1193.     End If
  1194. End Sub
  1195. '加载好友名单↓ ↓ ↓  ======================
  1196. Private Sub Timer1_Timer()   '加载好友名单
  1197.     On Error Resume Next
  1198.     Dim sum As Integer
  1199.     Dim tempname As String
  1200.     If login = False Or shicha = 0 Then Exit Sub
  1201.     If jiazaiing = False And vsListView1.Count < 1 And Len(Text1.Text) = 0 Then
  1202.         With vsListView1
  1203.         Call .Clear  '清空
  1204.         Call .ItemAdd(vsListView1.Count, "正在", 0, 0)
  1205.         Call .SubItemSet(vsListView1.Count - 1, 1, "加载中...", 0)
  1206.         .ItemChecked(0) = True
  1207.         End With
  1208.         If tbhy = False Then Label2.Caption = "加载中..."
  1209.         If tbhy = False Then Label10.Caption = "加载中..."
  1210.         jiazaiing = True
  1211.         Timer1.Interval = 1000
  1212.     End If
  1213.     If shicha > 0 And zxjiazai = False Then
  1214.         If sdsx = False Then
  1215.             Set rs = New ADODB.Recordset
  1216.             rs.CursorLocation = adUseServer
  1217.             rs.Open "SELECT  * FROM friend", conn, 1, 1
  1218.             sum = rs.RecordCount
  1219.             tempname = rs.Fields("userName")
  1220.             If InStr(tempname, "u") = 0 Then sdsx = True
  1221.             rs.Close  '关闭数据库
  1222.             Set rs = Nothing
  1223.         End If
  1224.         
  1225.         If Farmqk = False Then sxlblx = 1
  1226.         If (sdsx = True And Farmqk = True) Or (sum = 0 And Farmqk = True) Or (tbhy = True And Farmqk = True) Then
  1227.             zxjiazai = True
  1228.             Timer1.Enabled = False
  1229.             Timer1.Interval = 8000
  1230.             Timer1.Enabled = True
  1231.             login_temp = ""
  1232.             
  1233.             If sxlblx = 1 Then
  1234.                 If qzonets = False Then
  1235.                    qzonets = True
  1236.                    Call jilu("系统", MyQQ, "正在更新《QQ空间》好友...")
  1237.                 End If
  1238.             Else
  1239.                 If xiaoyouts = False Then
  1240.                    xiaoyouts = True
  1241.                    Call jilu("系统", MyQQ, "正在更新《QQ校友》好友...")
  1242.                 End If
  1243.             End If
  1244.             
  1245.             If Proxy = 1 Then  '使用代理
  1246.                 Winsock1.Close
  1247.                 Winsock1.RemoteHost = Proxy_IP
  1248.                 Winsock1.RemotePort = Proxy_DK
  1249.                 Winsock1.Connect
  1250.             Else
  1251.                 Winsock1.Close
  1252.                 If sxlblx = 1 Then
  1253.                    Winsock1.RemoteHost = "happyfarm.qzone.qq.com"
  1254.                    If qzonets = False Then
  1255.                       qzonets = True
  1256.                       Call jilu("系统", MyQQ, "正在更新《QQ空间》好友...")
  1257.                    End If
  1258.                 Else
  1259.                    Winsock1.RemoteHost = "happyfarm.xiaoyou.qq.com"
  1260.                    If xiaoyouts = False Then
  1261.                       xiaoyouts = True
  1262.                       Call jilu("系统", MyQQ, "正在更新《QQ校友》好友...")
  1263.                    End If
  1264.                 End If
  1265.                 Winsock1.RemotePort = 80
  1266.                 Winsock1.Connect
  1267.             End If
  1268.         Else
  1269.             sxlblx = 1
  1270.             
  1271.             If sdsx = False Then
  1272.                 Set rs = New ADODB.Recordset
  1273.                 rs.CursorLocation = adUseServer
  1274.                 rs.Open "SELECT  * FROM friend where zl = 1", conn, 1, 1
  1275.                 sum = rs.RecordCount
  1276.                 rs.Close  '关闭数据库
  1277.                 Set rs = Nothing
  1278.             End If
  1279.             
  1280. '            Debug.Print "正在加载QQ空间好友!"
  1281.             If sum = 0 Or sdsx = True Then
  1282.                 zxjiazai = True
  1283.                 Timer1.Enabled = False
  1284.                 Timer1.Interval = 8000
  1285.                 Timer1.Enabled = True
  1286.                 login_temp = ""
  1287.                 If qzonets = False Then
  1288.                    qzonets = True
  1289.                    Call jilu("系统", MyQQ, "正在更新《QQ空间》好友名单...")
  1290.                 End If
  1291.                 If Proxy = 1 Then  '使用代理
  1292.                     Winsock1.Close
  1293.                     Winsock1.RemoteHost = Proxy_IP
  1294.                     Winsock1.RemotePort = Proxy_DK
  1295.                     Winsock1.Connect
  1296.                 Else
  1297.                     Winsock1.Close
  1298.                     Winsock1.RemoteHost = "happyfarm.qzone.qq.com"
  1299.                     Winsock1.RemotePort = 80
  1300.                     Winsock1.Connect
  1301.                 End If
  1302.             Else
  1303.                 Timer1.Enabled = False
  1304.                 Call jiazai("exp", True) '加载数据
  1305.                 jiazaiing = False
  1306.                 zxjiazai = True
  1307.                 Call Timer4_Timer
  1308.             End If
  1309.         End If
  1310.     End If
  1311. End Sub
  1312. Private Sub Winsock1_Connect()
  1313.     On Error Resume Next
  1314.     Dim strCommand As String
  1315.     Dim posttem As String
  1316.     Dim proxytemp As String
  1317.     Randomize Timer
  1318.     If Proxy = 1 Then  '使用代理
  1319.         If sxlblx = 1 Then
  1320.            proxytemp = "http://happyfarm.qzone.qq.com"
  1321.         Else
  1322.            proxytemp = "http://happyfarm.xiaoyou.qq.com"
  1323.         End If
  1324.     End If
  1325.     posttem = "refresh=true&farmTime=" & Time_Cx & "&farmKey=" & Farmkey_cx & yzmcode
  1326.     strCommand = "POST " & proxytemp & "/api.php?mod=friend HTTP/1.1" & vbCrLf
  1327.     strCommand = strCommand + "Accept: */*" + vbCrLf
  1328.     strCommand = strCommand + "Accept-Language: zh-cn" + vbCrLf
  1329.     strCommand = strCommand + "Accept-Encoding: gzip, deflate" + vbCrLf
  1330.     If Proxy = 1 And Len(Basic) > 0 Then strCommand = strCommand & "Proxy-Authorization: Basic " & Basic & vbCrLf
  1331.     If sxlblx = 1 Then
  1332.        strCommand = strCommand & "Host: happyfarm.qzone.qq.com" & vbCrLf
  1333.     Else
  1334.        strCommand = strCommand & "Host: happyfarm.xiaoyou.qq.com" & vbCrLf
  1335.     End If
  1336.     strCommand = strCommand & "Content-Type: application/x-www-form-urlencoded" & vbCrLf
  1337.     strCommand = strCommand & "x-flash-version: " & flash & vbCrLf
  1338.     strCommand = strCommand & "Referer: http://appimg.qq.com/happyfarm/module/Main_v_" & flashbb & ".swf" & vbCrLf
  1339.     strCommand = strCommand & "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" & vbCrLf
  1340.     strCommand = strCommand & "Connection: close" & vbCrLf
  1341.     strCommand = strCommand & "Content-Length: " & Len(posttem) & vbCrLf
  1342.     strCommand = strCommand & "Cookie: " & FarmCookies & vbCrLf
  1343. '    strCommand = strCommand & "Cookie: uin=" & login_uid & "; skey=" & login_skey & "; pst=" & pst - 5 & ";" & vbCrLf
  1344.     strCommand = strCommand & vbCrLf
  1345.     strCommand = strCommand & posttem
  1346.     Winsock1.SendData strCommand
  1347.     
  1348.     yzmcode = "" '清空验证码
  1349. End Sub
  1350. Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  1351.     On Error Resume Next
  1352.     ReDim str(bytesTotal - 1) As Byte
  1353.     Winsock1.GetData str, vbArray + vbByte
  1354.     login_temp = login_temp & UTF8_Decode(str)
  1355. End Sub
  1356. Private Sub Winsock1_Close()   '更新好友队列
  1357.     On Error Resume Next
  1358.     Dim temp() As String, sum As Integer
  1359.     Dim level As Long, tem1 As String, tem2 As String, rd As Integer
  1360.     Dim temp1() As String
  1361.     Dim userId As Long, userName As String, exp As Long, money As Long
  1362.     Dim rc As Integer, rzl As Integer
  1363.     Dim pass As Boolean
  1364.     Randomize Timer
  1365.     Winsock1.Close
  1366.     If Len(login_temp) > 0 Then
  1367.         If InStr(login_temp, "请重新登录") > 0 Or InStr(login_temp, "u8BF7u91CDu65B0u767Bu5F55") > 0 Then    '登录超时
  1368.             diaoxiani = diaoxiani + 1
  1369.             '        If diaoxiani = 1 And InStr(bbname, "Beta") > 0 Then Call jilu("调试", MyQQ, "获取好友列表出现超时!")
  1370.             If diaoxiani >= 5 And login = True And jcwork = False Then
  1371.                 login_temp = ""
  1372.                 jctemp = ""
  1373.                 jcwork = True
  1374.                 Timer18.Interval = 5000
  1375.                 Timer18.Enabled = True
  1376.                 If Proxy = 1 Then  '使用代理
  1377.                     Winsock7.Close
  1378.                     Winsock7.RemoteHost = Proxy_IP
  1379.                     Winsock7.RemotePort = Proxy_DK
  1380.                     Winsock7.Connect
  1381.                 Else
  1382.                     Winsock7.Close
  1383.                     Winsock7.RemoteHost = "xiaoyou.qq.com"
  1384.                     Winsock7.RemotePort = 80
  1385.                     Winsock7.Connect
  1386.                 End If
  1387.                 diaoxiani = 0
  1388.                 Exit Sub
  1389.             End If
  1390.         Else
  1391.             diaoxiani = 0
  1392.         End If
  1393.         
  1394.         If InStr(login_temp, ":""validateCode") > 0 Then    '需要输入验证码
  1395.             
  1396.             If sxlblx = 1 Then
  1397.                yzmlx.lx = 5
  1398.             Else
  1399.                yzmlx.lx = 6
  1400.             End If
  1401.             
  1402.             Call xyyzm  '弹出验证码
  1403.         
  1404.             Debug.Print "请输入验证码" & " 次数:" & yzmcsi
  1405.             Exit Sub
  1406.         End If
  1407.         If InStr(login_temp, "}]") > 0 Then
  1408.             Winsock1.Close
  1409.             If InStr(login_temp, "Set-Cookie: pst=") > 0 Then
  1410.                 Dim shicha1 As Long
  1411.                 tem1 = Split(login_temp, "Set-Cookie: pst=")(1)
  1412.                 shicha1 = Val(Split(tem1, ";")(0))
  1413.                 If shicha1 > 0 Then pst = shicha1
  1414.                 shicha1 = DateDiff("s", DateSerial(1970, 1, 1), Now()) - shicha1
  1415.                 If shicha1 > 0 Then shicha = shicha1
  1416.             End If
  1417.             If InStr(login_temp, "},") = 0 And InStr(login_temp, "}]") > 0 Then
  1418.                 temp = Split(login_temp, "}]")
  1419.                 sum = UBound(temp())
  1420.                 pass = True
  1421.             ElseIf InStr(login_temp, "},") > 0 Then
  1422.                 login_temp = Replace(login_temp, """,""", ",""")
  1423.                 login_temp = Replace(login_temp, """:""", ":""")
  1424.                 login_temp = Split(login_temp, "}]")(0)
  1425.                 temp = Split(login_temp, "},")
  1426.                 sum = UBound(temp())
  1427.                 pass = True
  1428.             End If
  1429.             
  1430.             Debug.Print sum
  1431.             If pass = True Then
  1432.                 '         Set rs = New ADODB.Recordset
  1433.                 '         rs.CursorLocation = adUseServer
  1434.                 '         rs.Open "delete  * FROM friend", conn, 1, 3
  1435.                 '         Set rs = Nothing
  1436.                 If tbhy = True Then
  1437.                     Randomize Timer
  1438.                     rd = Int(Rnd * 2000)
  1439.                 End If
  1440.                 If sxlblx = 1 Then
  1441.                 
  1442.                     For i = 0 To sum
  1443.                         temp1 = Split(temp(i), ",""")
  1444.     
  1445.                         If UBound(temp1()) >= 6 Then
  1446.                             userId = Split(temp1(0), "userId"":")(1)
  1447.                             userName = Split(temp1(1), "userName:""")(1)
  1448.                             exp = Split(temp1(5), "exp"":")(1)
  1449.                             money = Split(temp1(6), "money"":")(1)
  1450.     
  1451.                             If i = 0 Then
  1452.                                 Timer4.Enabled = False
  1453.                                 Timer4.Interval = 100
  1454.                                 Timer4.Enabled = True
  1455.                             End If
  1456.     
  1457.                             If userId > 0 Then
  1458.                                 rzl = 0
  1459.                                 rc = 0
  1460.                                 Set rs1 = New ADODB.Recordset
  1461.                                 rs1.CursorLocation = adUseServer
  1462.                                 rs1.Open "SELECT  * FROM friend where userId=" & userId, conn, 1, 3
  1463.                                 rc = rs1.RecordCount
  1464.                                 rzl = rs1.Fields("zl")
  1465.          
  1466.                                 If rc > 0 And rzl = 1 Then
  1467.                                    If rs1.Fields("zl") = 1 Then
  1468.                                         With rs1
  1469.                                         .Update
  1470.                                         If Len(userName) > 0 Then !userName = userName
  1471.                                         !exp = exp
  1472.                                         !money = money
  1473.                                         If tbhy = True Then !bj = rd
  1474.                                         .Update
  1475.                                         End With
  1476.                                     End If
  1477.                                 ElseIf rc = 0 Then
  1478.                                     If Len(userName) = 0 Then userName = vbEscape("农场玩家")
  1479.                                     With rs1
  1480.                                     .AddNew
  1481.                                     !userId = userId
  1482.                                     !userName = userName
  1483.                                     !exp = exp
  1484.                                     !money = money
  1485.                                     If tbhy = True Then !bj = rd
  1486.                                     !zl = 1
  1487.                                     .Update
  1488.                                     End With
  1489.                                 End If
  1490.     
  1491.                                 rs1.Close  '关闭数据库
  1492.                                 Set rs1 = Nothing
  1493.                             End If
  1494.     
  1495.                         End If
  1496.     
  1497.                     Next i
  1498.                     
  1499.                     If tbhy = True Then
  1500.                         Debug.Print "同步中:" & rd
  1501.                         Set rs1 = New ADODB.Recordset
  1502.                         rs1.CursorLocation = adUseServer
  1503.                         rs1.Open "SELECT  * FROM friend where zl = 1 and bj <> " & rd, conn, 1, 3
  1504.                         rc = rs1.RecordCount
  1505.     
  1506.                         If rc > 0 Then
  1507.     
  1508.                             While Not rs1.EOF
  1509.                                 Set rs2 = New ADODB.Recordset
  1510.                                 rs2.CursorLocation = adUseServer
  1511.                                 rs2.Open "delete  * FROM Farm where userId=" & rs1.Fields("userid"), conn, 1, 3
  1512.                                 rs2.Close
  1513.                                 Set rs2 = Nothing
  1514.                                 rs1.MoveNext
  1515.                             Wend
  1516.     
  1517.                             Set rs2 = New ADODB.Recordset
  1518.                             rs2.CursorLocation = adUseServer
  1519.                             rs2.Open "delete  * FROM friend where bj <> " & rd, conn, 1, 3
  1520.                             rs2.Close
  1521.                             Set rs2 = Nothing
  1522.                         End If
  1523.     
  1524.                         rs1.Close
  1525.                         Set rs1 = Nothing
  1526.                         
  1527.                         If Farmqk = False Then
  1528.     
  1529.                             Set rs1 = New ADODB.Recordset
  1530.                             rs1.CursorLocation = adUseServer
  1531.                             rs1.Open "SELECT  * FROM friend where userId = " & Myuid, conn, 1, 3
  1532.         
  1533.                             If rs1.RecordCount > 1 Then
  1534.                                 Set rs2 = New ADODB.Recordset
  1535.                                 rs2.CursorLocation = adUseServer
  1536.                                 rs2.Open "delete  * FROM friend where userId = " & Myuid, conn, 1, 3
  1537.                                 rs2.Update
  1538.                                 rs2.Close
  1539.                                 Set rs2 = Nothing
  1540.                             End If
  1541.         
  1542.                             rs1.Close
  1543.                             Set rs1 = Nothing
  1544.                             
  1545.                             Set rs3 = New ADODB.Recordset
  1546.                             rs3.CursorLocation = adUseServer
  1547.                             rs3.Open "SELECT  * FROM friend where userId = " & Myuid, conn, 1, 3
  1548.                             
  1549.                             rc = rs3.RecordCount
  1550.                             
  1551.                             If rc = 0 Then
  1552.                                 If Len(Myxiaoyou) = 0 Then Myxiaoyou = "农场玩家"
  1553.                                 With rs3
  1554.                                 .Update
  1555.                                 .AddNew
  1556.                                 !userId = Myuid
  1557.                                 !userName = vbEscape(Myxiaoyou)
  1558.                                 !exp = Myexp
  1559.                                 !money = Mymoney
  1560.                                 !time = Now()
  1561.                                 .Update
  1562.                                 End With
  1563.                             End If
  1564.         
  1565.                             rs3.Close
  1566.                             Set rs3 = Nothing
  1567.                         
  1568.                         End If
  1569.                     End If
  1570.     
  1571.     
  1572.                     Call jiazai("exp", True) '加载数据
  1573.                     jiazaiing = False
  1574.                     sdsx = False
  1575.                     tbhy = False
  1576.                     Call jilu("系统", MyQQ, "《QQ空间》好友名单,更新完毕!")
  1577.                     
  1578.                     
  1579.                     If Farmqk = True Then
  1580.                        Call jilu("系统", MyQQ, "空间和校友重复名单已自动筛选过滤完成!")
  1581.                     End If
  1582.                     
  1583.                     gxsbi = 0
  1584.                 Else
  1585.     
  1586.                     For i = 0 To sum
  1587.                         temp1 = Split(temp(i), ",""")
  1588.     
  1589.                         If UBound(temp1()) >= 6 Then
  1590.                             userId = Split(temp1(0), "userId"":")(1)
  1591.                             userName = Split(temp1(1), "userName:""")(1)
  1592.                             exp = Split(temp1(5), "exp"":")(1)
  1593.                             money = Split(temp1(6), "money"":")(1)
  1594.     
  1595.                             If i = 0 Then
  1596.                                 Timer4.Enabled = False
  1597.                                 Timer4.Interval = 100
  1598.                                 Timer4.Enabled = True
  1599.                             End If
  1600.     
  1601.                             If userId > 0 Then
  1602.                                 Set rs1 = New ADODB.Recordset
  1603.                                 rs1.CursorLocation = adUseServer
  1604.                                 rs1.Open "SELECT  * FROM friend where userId=" & userId, conn, 1, 3
  1605.                                 
  1606.                                 If rs1.RecordCount > 0 Then
  1607.                                     With rs1
  1608.                                     .Update
  1609.                                     If Len(userName) > 0 Then !userName = userName
  1610.                                     !exp = exp
  1611.                                     !money = money
  1612.                                     If tbhy = True Then !bj = rd
  1613.                                     .Update
  1614.                                     End With
  1615.                                 Else
  1616.                                     If Len(userName) = 0 Then userName = vbEscape("农场玩家")
  1617.                                     With rs1
  1618.                                     .AddNew
  1619.                                     !userId = userId
  1620.                                     !userName = userName
  1621.                                     !exp = exp
  1622.                                     !money = money
  1623.                                     If tbhy = True Then !bj = rd
  1624.                                     .Update
  1625.                                     End With
  1626.                                 End If
  1627.     
  1628.                                 rs1.Close  '关闭数据库
  1629.                                 Set rs1 = Nothing
  1630.                             End If
  1631.     
  1632.                         End If
  1633.     
  1634.                     Next i
  1635.     
  1636.                     If tbhy = True Then
  1637.                         Debug.Print "同步中:" & rd
  1638.                         Set rs1 = New ADODB.Recordset
  1639.                         rs1.CursorLocation = adUseServer
  1640.                         rs1.Open "SELECT  * FROM friend where bj <> " & rd, conn, 1, 3
  1641.                         rc = rs1.RecordCount
  1642.     
  1643.                         If rc > 0 Then
  1644.     
  1645.                             While Not rs1.EOF
  1646.                                 Set rs2 = New ADODB.Recordset
  1647.                                 rs2.CursorLocation = adUseServer
  1648.                                 rs2.Open "delete  * FROM Farm where userId=" & rs1.Fields("userid"), conn, 1, 3
  1649.                                 rs2.Close
  1650.                                 Set rs2 = Nothing
  1651.                                 rs1.MoveNext
  1652.                             Wend
  1653.     
  1654.                             Set rs2 = New ADODB.Recordset
  1655.                             rs2.CursorLocation = adUseServer
  1656.                             rs2.Open "delete  * FROM friend where bj <> " & rd, conn, 1, 3
  1657.                             rs2.Close
  1658.                             Set rs2 = Nothing
  1659.                         End If
  1660.     
  1661.                         
  1662.                         rs1.Close
  1663.                         Set rs1 = Nothing
  1664.                         Set rs1 = New ADODB.Recordset
  1665.                         rs1.CursorLocation = adUseServer
  1666.                         rs1.Open "SELECT  * FROM friend where userId = " & Myuid, conn, 1, 3
  1667.     
  1668.                         If rs1.RecordCount > 1 Then
  1669.                             Set rs2 = New ADODB.Recordset
  1670.                             rs2.CursorLocation = adUseServer
  1671.                             rs2.Open "delete  * FROM friend where userId = " & Myuid, conn, 1, 3
  1672.                             rs2.Update
  1673.                             rs2.Close
  1674.                             Set rs2 = Nothing
  1675.                         End If
  1676.     
  1677.                         rs1.Close
  1678.                         Set rs1 = Nothing
  1679.                         Set rs3 = New ADODB.Recordset
  1680.                         rs3.CursorLocation = adUseServer
  1681.                         rs3.Open "SELECT  * FROM friend where userId = " & Myuid, conn, 1, 3
  1682.                         
  1683.                         rc = rs3.RecordCount
  1684.                         
  1685.                         If rc = 0 Then
  1686.                             If Len(Myxiaoyou) = 0 Then Myxiaoyou = "农场玩家"
  1687.                             With rs3
  1688.                             .Update
  1689.                             .AddNew
  1690.                             !userId = Myuid
  1691.                             !userName = vbEscape(Myxiaoyou)
  1692.                             !exp = Myexp
  1693.                             !money = Mymoney
  1694.                             !time = Now()
  1695.                             .Update
  1696.                             End With
  1697.                         End If
  1698.     
  1699.                         rs3.Close
  1700.                         Set rs3 = Nothing
  1701.                         
  1702.                         If Farmqk = False Then
  1703.                            sdsx = False
  1704.                            tbhy = False
  1705.                         End If
  1706.                         
  1707.                     End If
  1708.     
  1709.                     
  1710.                     Call jiazai("exp", True) '加载数据
  1711.                     jiazaiing = False
  1712.                     
  1713.                     If Farmqk = True Then
  1714.                         sxlblx = 1
  1715.                         zxjiazai = False
  1716.                         Timer1.Enabled = False
  1717.                         Timer1.Interval = 100
  1718.                         Timer1.Enabled = True
  1719.                     End If
  1720.                     
  1721.                     gxsbi = 0
  1722.                     
  1723.                     Call jilu("系统", MyQQ, "《QQ校友》好友名单,更新完毕!")
  1724.                     
  1725.                 
  1726.                 End If
  1727.             Else
  1728.                 gxsbi = gxsbi + 1
  1729.                 
  1730.                 If gxsbi >= 10 Then
  1731.                    If sxlblx = 1 Then
  1732.                       If sdsx = False Then Call jilu("系统", MyQQ, "《QQ空间》好友,更新失败,可能是服务器繁忙或你还没有开通!")
  1733.                    Else
  1734.                       If sdsx = False Then Call jilu("系统", MyQQ, "《QQ校友》好友,更新失败,可能是服务器繁忙或你被临时限制!")
  1735.                    End If
  1736.                    If Farmqk = False Then
  1737.                        sdsx = False
  1738.                        tbhy = False
  1739.                    End If
  1740.                    Call jiazai("exp", True) '加载数据
  1741.                    jiazaiing = False
  1742.                    gxsbi = 0
  1743.                 Else
  1744.                    zxjiazai = False  '重新加载
  1745.                 End If
  1746.                 Debug.Print "测试1:加载失败了吗?"
  1747.             End If
  1748.         ElseIf InStr(login_temp, "[]") > 0 Then
  1749.             If sxlblx = 1 Then
  1750.                Call jiazai("exp", True) '加载数据
  1751.                jiazaiing = False
  1752.                sdsx = False
  1753.                tbhy = False
  1754.                gxsbi = 0
  1755.                Call jilu("系统", MyQQ, "《QQ空间》好友名单,更新完毕!")
  1756.             Else
  1757.                sxlblx = 1
  1758.                zxjiazai = False
  1759.                Timer1.Enabled = False
  1760.                Timer1.Interval = 100
  1761.                Timer1.Enabled = True
  1762.                gxsbi = 0
  1763.                Call jilu("系统", MyQQ, "《QQ校友》好友名单,更新完毕!")
  1764.             End If
  1765.         Else
  1766.             gxsbi = gxsbi + 1
  1767.             
  1768.             If gxsbi >= 10 Then
  1769.                If sxlblx = 1 Then
  1770.                   If sdsx = False Then Call jilu("系统", MyQQ, "《QQ空间》好友,更新失败,可能是服务器繁忙或你还没有开通!")
  1771.                Else
  1772.                   If sdsx = False Then Call jilu("系统", MyQQ, "《QQ校友》好友,更新失败,可能是服务器繁忙或你被临时限制!")
  1773.                End If
  1774.                If Farmqk = False Then
  1775.                    sdsx = False
  1776.                    tbhy = False
  1777.                End If
  1778.                Call jiazai("exp", True) '加载数据
  1779.                jiazaiing = False
  1780.                gxsbi = 0
  1781.             Else
  1782.                zxjiazai = False  '重新加载
  1783.             End If
  1784.             Debug.Print "测试2:加载失败了吗?"
  1785.         End If
  1786.         login_temp = ""
  1787.     End If
  1788. End Sub
  1789. Private Sub vsListView1_ColumnClick(Column As Integer)   '排序
  1790.     On Error Resume Next
  1791.     If login = True Then
  1792.         If Column = 4 Or Column = 3 Then
  1793.             If exppx = False Then
  1794.                 exppx = True
  1795.             Else
  1796.                 exppx = False
  1797.             End If
  1798.             Call jiazai("exp", exppx) '加载经验降序
  1799.         ElseIf Column = 5 Then
  1800.             If moneypx = False Then
  1801.                 moneypx = True
  1802.             Else
  1803.                 moneypx = False
  1804.             End If
  1805.             Call jiazai("money", moneypx) '加载金钱降序
  1806.         End If
  1807.     End If
  1808. End Sub
  1809. Private Sub vsListView1_ItemClick(Item As Integer)  '按方向键
  1810.     On Error Resume Next
  1811.     If Item >= 0 Then
  1812.         If dianji <> Item Then
  1813.             dianji = Item
  1814.             Call Timer4_Timer
  1815.         End If
  1816.         shangcitime = Time_C  '记录上次操作时间
  1817.     End If
  1818. End Sub
  1819. Private Sub Timer4_Timer()  '显示好友信息
  1820.     On Error Resume Next
  1821.     Dim K As Integer
  1822.     Dim xiangtong As Boolean
  1823.     Dim rc As Integer
  1824.     If login = False Or XPButton21.Caption <> "停止工作" Then Exit Sub
  1825.     If sfbs = 1 Then
  1826.         Timer4.Interval = bs2
  1827.     Else
  1828.         Timer4.Interval = 10000
  1829.     End If
  1830.     Timer4.Enabled = False
  1831.     Timer4.Enabled = True
  1832.     listfarmid = Val(vsListView1.SubItemText(dianji, 5))        '好友ID
  1833.     listfarmzl = Val(vsListView1.SubItemText(dianji, 7))        '好友种类
  1834.     Label10.Caption = vsListView1.SubItemText(dianji, 1)        '名称
  1835.     Label12.Caption = Trim(vsListView1.SubItemText(dianji, 2))  '等级
  1836.     Label14.Caption = Val(vsListView1.SubItemText(dianji, 4))   '金钱
  1837.     Label16.Caption = Trim(vsListView1.SubItemText(dianji, 3))  '经验
  1838.     '显示农场信息
  1839.     Set rs = New ADODB.Recordset
  1840.     rs.CursorLocation = adUseServer
  1841.     rs.Open "SELECT  * FROM Farm where userid=" & listfarmid & " order by Location", conn, 1, 1
  1842.     rc = rs.RecordCount
  1843.     If rc = 0 Then
  1844.         If sxdl <> listfarmid Then
  1845.             List1.Clear
  1846.             Timer10.Interval = 200
  1847.             Timer10.Enabled = False
  1848.             Timer10.Enabled = True
  1849.             List1.AddItem "正在加载中..."
  1850.         End If
  1851.     Else
  1852.         If rs.RecordCount <> List1.ListCount Then
  1853.             List1.Clear
  1854.         ElseIf List1.ListCount > 0 Then
  1855.             xiangtong = True
  1856.         End If
  1857.         If Time_C - rs.Fields("MTime") >= 30 And NowListID <> (dianji + 1) Then
  1858.             Timer10.Interval = 500
  1859.             Timer10.Enabled = False
  1860.             Timer10.Enabled = True
  1861.         Else
  1862.             Timer10.Enabled = False
  1863.         End If
  1864.         
  1865.         NowListID = dianji + 1
  1866.         While Not rs.EOF
  1867.             K = K + 1
  1868.             Dim kk As String
  1869.             Dim mm As String
  1870.             kk = Replace(Format(rs.Fields("k"), "00"), "00", " 0")
  1871.             mm = Replace(Format(rs.Fields("m"), "00"), "00", "0 ")
  1872.             If kk > 0 Then
  1873.                 If rs.Fields("m") = rs.Fields("l") Then
  1874.                     If xiangtong = True Then
  1875.                         List1.List(K - 1) = K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")" & " 所剩无几"
  1876.                     Else
  1877.                         List1.AddItem K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")" & " 所剩无几"
  1878.                     End If
  1879.                 Else
  1880.                     If rs.Fields("touqu") = True Then
  1881.                         If xiangtong = True Then
  1882.                             List1.List(K - 1) = K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")" & " 已偷过"
  1883.                         Else
  1884.                             List1.AddItem K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")" & " 已偷过"
  1885.                         End If
  1886.                     Else
  1887.                         If xiangtong = True Then
  1888.                             List1.List(K - 1) = K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")" & " 已经成熟"
  1889.                         Else
  1890.                             List1.AddItem K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")" & " 已经成熟"
  1891.                         End If
  1892.                     End If
  1893.                 End If
  1894.             Else
  1895.                 If rs.Fields("Kind") = 0 Then
  1896.                     If xiangtong = True Then
  1897.                         List1.List(K - 1) = K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")"
  1898.                     Else
  1899.                         List1.AddItem K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")"
  1900.                     End If
  1901.                 Else
  1902.                     If xiangtong = True Then
  1903.                         List1.List(K - 1) = K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")" & " " & time_m(rs.Fields("q"))
  1904.                     Else
  1905.                         List1.AddItem K & "、" & zhonglei(rs.Fields("Kind"), 0) & "(" & kk & "/" & mm & ")" & " " & time_m(rs.Fields("q"))
  1906.                     End If
  1907.                 End If
  1908.             End If
  1909.             rs.MoveNext
  1910.             'DoEvents
  1911.         Wend
  1912.     End If
  1913.     rs.Close  '关闭数据库
  1914.     Set rs = Nothing
  1915. End Sub
  1916. Private Sub Timer6_Timer()
  1917.     On Error Resume Next
  1918.     If login = True And dengdai = False And XPButton21.Caption = "停止工作" And yzmqk = False Then
  1919.         Dim temp As String, tem1 As String, tempuid As Long, tempid As Integer, tempname As String
  1920.         Dim jzcz As Boolean, rzl As Integer
  1921.         If shicha = 0 Then Exit Sub
  1922.         If Time_C - login_time <= 4 Then Exit Sub
  1923. '        If qzxx = 1 Then   '强制休息
  1924. '
  1925. '            If czi > blxxrs And czsj = 0 Then
  1926. '                czsj = time_c()
  1927. '            End If
  1928. '
  1929. '            If czsj > 0 And time_c - czsj >= xxsj * 60 Then
  1930. '                czsj = 0
  1931. '                czi = 0
  1932. '            ElseIf czsj > 0 Then
  1933. '                jzcz = True
  1934. '            End If
  1935. '
  1936. '        End If
  1937.         If xzcz = 1 Then    '限制次数
  1938.             If sccz = 0 Then
  1939.                 sccz = Time_C()
  1940.             End If
  1941.             If Time_C - sccz <= 60 And ljcz >= xzcs Then
  1942.                 jzcz = True
  1943.             ElseIf Time_C - sccz > 60 Then
  1944.                 sccz = Time_C()
  1945.                 ljcz = 0
  1946.             End If
  1947.         End If
  1948.         If jzcz = False Then
  1949.             If Len(touqulb) > 0 Then  '自动偷取
  1950.                 temp = Split(touqulb, "//")(0)
  1951.                 tempuid = Val(Replace(Split(temp, "|")(0), "/", ""))
  1952.                 tempid = Val(Split(temp, "|")(1))
  1953.                 tempname = Split(temp, "|")(2)
  1954.                 rzl = Split(Split(touqulb, "//")(1), "||")(0)
  1955.                 If tempuid > 0 Then
  1956.                     ljcz = ljcz + 1   '本分钟累计操作次数
  1957. '                    czi = czi + 1 '累计操作次数
  1958.                     touqulb = Replace(touqulb, temp & "//" & rzl & "||", "")
  1959.                     If InStr(deletelist, "" & tempuid & "") = 0 Then
  1960.                        Call SendHttp(2, tempuid, tempid, tempname, "1", rzl)
  1961.                        Debug.Print "开始偷取" & tempuid & "  " & rzl & "  " & tempid
  1962.                     End If
  1963.                 End If
  1964.             End If
  1965.             If Len(chuchonglb) > 0 Then  '自动除虫
  1966.                 temp = Split(chuchonglb, "//")(0)
  1967.                 tempuid = Val(Replace(Split(temp, "|")(0), "/", ""))
  1968.                 tempid = Val(Split(temp, "|")(1))
  1969.                 tempname = Split(temp, "|")(2)
  1970.                 rzl = Split(Split(chuchonglb, "//")(1), "||")(0)
  1971.                 If tempuid > 0 Then
  1972.                     chuchonglb = Replace(chuchonglb, temp & "//" & rzl & "||", "")
  1973. '                    czi = czi + 1 '累计操作次数
  1974.                     ljcz = ljcz + 1   '本分钟累计操作次数
  1975.                     If tempuid = Myuid Then
  1976.                         Call SendHttp(3, tempuid, tempid, tempname, "0", rzl)
  1977.                     Else
  1978.                         Call SendHttp(3, tempuid, tempid, tempname, "1", rzl)
  1979.                     End If
  1980.                 End If
  1981.             End If
  1982.             If Len(chucaolb) > 0 Then  '自动锄草
  1983.                 temp = Split(chucaolb, "//")(0)
  1984.                 tempuid = Val(Replace(Split(temp, "|")(0), "/", ""))
  1985.                 tempid = Val(Split(temp, "|")(1))
  1986.                 tempname = Split(temp, "|")(2)
  1987.                 rzl = Split(Split(chucaolb, "//")(1), "||")(0)
  1988.                 If tempuid > 0 Then
  1989.                     chucaolb = Replace(chucaolb, temp & "//" & rzl & "||", "")
  1990. '                    czi = czi + 1 '累计操作次数
  1991.                     ljcz = ljcz + 1   '本分钟累计操作次数
  1992.                     If tempuid = Myuid Then
  1993.                         Call SendHttp(4, tempuid, tempid, tempname, "0", rzl)
  1994.                     Else
  1995.                         Call SendHttp(4, tempuid, tempid, tempname, "1", rzl)
  1996.                     End If
  1997.                 End If
  1998.             End If
  1999.             If Len(jiaoshuilb) > 0 Then  '自动浇水
  2000.                 temp = Split(jiaoshuilb, "//")(0)
  2001.                 tempuid = Val(Replace(Split(temp, "|")(0), "/", ""))
  2002.                 tempid = Val(Split(temp, "|")(1))
  2003.                 tempname = Split(temp, "|")(2)
  2004.                 rzl = Split(Split(jiaoshuilb, "//")(1), "||")(0)
  2005.                 If tempuid > 0 Then
  2006.                     jiaoshuilb = Replace(jiaoshuilb, temp & "//" & rzl & "||", "")
  2007. '                    czi = czi + 1    '累计操作次数
  2008.                     ljcz = ljcz + 1   '本分钟累计操作次数
  2009.                     If tempuid = Myuid Then
  2010.                         Call SendHttp(5, tempuid, tempid, tempname, "0", rzl)
  2011.                     Else
  2012.                         Call SendHttp(5, tempuid, tempid, tempname, "1", rzl)
  2013.                     End If
  2014.                 End If
  2015.             End If
  2016.             If Len(sxlb) > 0 Then  '自动刷新
  2017.                Dim T() As String
  2018.                Dim TempTime As Long
  2019.                
  2020.                T = Split(sxlb, ",")
  2021.                
  2022.                For i = 0 To UBound(T()) - 1
  2023.                    TempTime = Val(Split(Split(T(i), "\")(0), "//")(1))
  2024.                    If Time_C - TempTime >= 5 Then
  2025.                       temp = Split(sxlb, "//")(0)
  2026.                       tempuid = Val(Replace(temp, "/", ""))
  2027.                       rzl = Split(Split(sxlb, "\")(1), "||")(0)
  2028.         
  2029.                       If Val(tempuid) > 0 Then
  2030.                          sxlb = Replace(sxlb, temp & "//" & TempTime & "\" & rzl & "||,", "")
  2031.                          If InStr(sxlb, "/" & tempuid & "//") = 0 Then
  2032.                             sxdl = tempuid
  2033.                             Call update_From(rzl)
  2034.                             If tempuid = Myuid Then
  2035.                                fzsxsb = Time_C '防止个人农场刷新失败
  2036.                             End If
  2037.                          End If
  2038.                          Exit For
  2039.                       End If
  2040.                    End If
  2041.                Next i
  2042.             
  2043.             End If
  2044.         End If
  2045. '        If bzsx = True Then  '清空帮助上限
  2046. '
  2047. '            If DateDiff("n", Now, DateAdd("d", 1, Year(Now) & "-" & Month(Now) & "-" & Day(Now) & " 00:15:00")) = 1440 Then
  2048. '                bzsx = False
  2049. '                lqlw = False
  2050. '            End If
  2051. '
  2052. '        End If
  2053.     End If
  2054. End Sub
  2055. Private Sub Timer7_Timer() '循环列出成熟列表
  2056.     On Error Resume Next
  2057.     Dim rzl As Integer
  2058.     If login = True And dengdai = False And haoyoui > 1 And (zdtq = 1 Or zdsg = 1) And (XPButton21.Caption = "停止工作" Or gzxxing = True) And yzmqk = False Then
  2059.         If XPButton21.Caption = "停止工作" Then
  2060.             Dim g1 As String, g2 As String
  2061.             If fqgg = 1 Then
  2062.                 g1 = " and gl = 0"
  2063.                 g2 = " and (gl = 0 or userid=" & Myuid & ")"
  2064.             End If
  2065.             Set rs = New ADODB.Recordset
  2066.             rs.CursorLocation = adUseServer
  2067.             If zdtq = 1 And zdsg = 1 Then
  2068.                 rs.Open "SELECT  Top 15  * FROM Farm where Kind > 0 and " & Time_Cx & " - q  >= 0 and " & Time_Cx & " - q  <= 1800 and xz = True and touqu = 0 and buzu = 0 " & g2 & " order by Kind desc", conn, 1, 1
  2069.             ElseIf zdtq = 0 And zdsg = 1 Then
  2070.                 rs.Open "SELECT  Top 15  * FROM Farm where Kind > 0 and " & Time_Cx & " - q  >= 0 and touqu = 0 and buzu = 0 and userid=" & Myuid & " order by Kind desc", conn, 1, 1
  2071.             ElseIf zdtq = 1 And zdsg = 0 Then
  2072.                 rs.Open "SELECT  Top 15  * FROM Farm where Kind > 0 and " & Time_Cx & " - q  >= 0 and " & Time_Cx & " - q  <= 1800 and xz = True and touqu = 0 and buzu = 0 and userid <> " & Myuid & g1 & " order by Kind desc", conn, 1, 1
  2073.             End If
  2074.             If rs.RecordCount > 0 Then
  2075.                 While Not rs.EOF
  2076.                     rzl = rs.Fields("zl")
  2077.                     If InStr(sxlb, "/" & rs.Fields("userid") & "//") = 0 And InStr(touqulb, "/" & rs.Fields("userid") & "|") = 0 And InStr(shouhuolb, "/" & rs.Fields("userid") & "|") = 0 And InStr(deletelist, "" & rs.Fields("userid") & "") = 0 Then
  2078. '                        sxlb = sxlb & "/" & rs.Fields("userid") & "//" & rzl & "||"
  2079.                         sxlb = sxlb & "/" & rs.Fields("userid") & "//" & Time_C - 6 & "\" & rzl & "||,"
  2080.                         Debug.Print "成熟列表:" & rs.Fields("userid") & " " & rs.Fields("Location")
  2081.                         Debug.Print sxlb
  2082.                         Debug.Print rs.Fields("q")
  2083.                     End If
  2084.                     rs.MoveNext
  2085.                     DoEvents
  2086.                 Wend
  2087.             End If
  2088.             rs.Close  '关闭数据库
  2089.             Set rs = Nothing
  2090.         ElseIf gzxxing = True Then
  2091.             Set rs = New ADODB.Recordset
  2092.             rs.CursorLocation = adUseServer
  2093.             rs.Open "SELECT * FROM Farm where " & Time_Cx & " - q  >= 0 and touqu = 0 and buzu = 0 and userid=" & Myuid & " order by Kind desc", conn, 1, 1
  2094.             If rs.RecordCount > 0 Then
  2095.                 If InStr(shouhuolb, "/" & Myuid & "|") = 0 Then
  2096.                     sxdl = Myuid
  2097.                     rzl = rs.Fields("zl")
  2098.                     Call update_From(rzl)
  2099.                 End If
  2100.             End If
  2101.             rs.Close  '关闭数据库
  2102.             Set rs = Nothing
  2103.         End If
  2104.     End If
  2105. End Sub
  2106. Private Sub xiemdb(lx As Integer, uID As Long, id As Integer) '写入数据库
  2107.     On Error Resume Next
  2108.     If lx = 1 Then
  2109.         Set rs = New ADODB.Recordset
  2110.         rs.CursorLocation = adUseServer
  2111.         rs.Open "SELECT  * FROM Farm where userId=" & uID & " and Location=" & id, conn, 1, 3
  2112.         If rs.RecordCount > 0 Then
  2113.             With rs
  2114.             .Update
  2115.             !touqu = 1
  2116.             .Update
  2117.             End With
  2118.         End If
  2119.         rs.Close
  2120.         Set rs = Nothing
  2121.     ElseIf lx = 2 Then
  2122.         Set rs = New ADODB.Recordset
  2123.         rs.CursorLocation = adUseServer
  2124.         rs.Open "delete  * FROM Farm where userId=" & uID, conn, 1, 3
  2125.         rs.Close
  2126.         Set rs = Nothing
  2127.         Set rs = New ADODB.Recordset
  2128.         rs.CursorLocation = adUseServer
  2129.         rs.Open "delete  * FROM friend  where userId=" & uID, conn, 1, 3
  2130.         rs.Close
  2131.         Set rs = Nothing
  2132.         Debug.Print "删除成功:" & uID
  2133.         Call jiazai("exp", True)  '重载数据
  2134.         If InStr(deletelist, "" & uID & "") = 0 Then
  2135.            deletelist = deletelist & "" & uID & ""
  2136.         End If
  2137.     End If
  2138. End Sub
  2139. '以下是托盘的源代码
  2140. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, y As Single)
  2141.     On Error Resume Next
  2142.     Dim Result As Long
  2143.     Dim cEvent As Single
  2144.     cEvent = X / Screen.TwipsPerPixelX
  2145.     Select Case cEvent
  2146.     Case LeftDbClick    '左键双击
  2147.     
  2148.         If yzmqk = True Then
  2149.            yzm.Visible = False
  2150.            Form1.WindowState = 0
  2151.            FormTop Me.hwnd, True
  2152.            FormTop Me.hwnd, False
  2153.            Form1.Show
  2154.            Call xyyzm  '弹出验证码
  2155.         Else
  2156.            Form1.WindowState = 0
  2157.            FormTop Me.hwnd, True
  2158.            FormTop Me.hwnd, False
  2159.            Form1.Show
  2160.         End If
  2161.         SetProcessWorkingSetSize GetCurrentProcess(), -1&, -1&
  2162.         If vsListView2.Visible = True Then
  2163.             Timer20.Enabled = False
  2164.             Timer20.Interval = 100
  2165.             Timer20.Enabled = True
  2166.         End If
  2167.     Case RightDown
  2168.         If Form1.Visible = True Then
  2169.             Main.xsjm.Caption = "隐藏界面"
  2170.         Else
  2171.             Main.xsjm.Caption = "显示界面"
  2172.         End If
  2173.         If XPButton21.Caption = "开始工作" Then
  2174.             Main.tzgz.Caption = "开始工作"
  2175.         Else
  2176.             Main.tzgz.Caption = "停止工作"
  2177.         End If
  2178.         ' 显示菜单
  2179.         Me.PopupMenu Main.yjcd
  2180.     End Select
  2181. End Sub
  2182. Private Sub Form_Resize()
  2183.     On Error Resume Next
  2184.     If Me.WindowState = vbMinimized Then
  2185.         If XPButton21.Caption = "开始工作" And login = True And dengdai = False Then
  2186.             If MsgBox("伴侣目前还没有开始工作,是否现在开启?", 32 Or vbYesNo, "开始确认") = vbYes Then
  2187.                 XPButton21.Caption = "停止工作"
  2188.             End If
  2189.         End If
  2190.         Me.Visible = False
  2191.         If MyQQ > 0 Then
  2192.             TrayTip Form1, "登录用户:" & Myxiaoyou & "(" & MyQQ & ")" & vbCrLf & "-----------------------------" & vbCrLf & "更多源码下载:http://www.h876.com"
  2193.             TrayBalloon Form1, "登录用户:" & Myxiaoyou & "(" & MyQQ & ")" & vbCrLf & "-----------------------------" & vbCrLf & "当前版本:" & bbid & " " & bbname & " " & bbrq & "" & vbCrLf & "-----------------------------" & vbCrLf & "使用交流:http://www.h876.com", "QQ伴侣", NIIF_INFO
  2194.         Else
  2195.             TrayTip Form1, "登录用户:未登录(******)" & vbCrLf & "-----------------------------" & vbCrLf & "更多源码下载:http://www.h876.com"
  2196.             TrayBalloon Form1, "当前版本:" & bbid & " " & bbname & " " & bbrq & "" & vbCrLf & "-----------------------------" & vbCrLf & "使用交流:http://www.h876.com", "QQ伴侣", NIIF_INFO
  2197.         End If
  2198.     End If
  2199. End Sub
  2200. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  2201.     On Error Resume Next
  2202.     If tssj = False And UnloadMode <> 2 Then
  2203.         If MsgBox("确定要退出软件吗?", 32 Or vbYesNo, "退出确认") = vbNo Then
  2204.             Cancel = True
  2205.             Exit Sub
  2206.         End If
  2207.     End If
  2208.     
  2209.     If Label34.Caption <> "农场扫描" And Label34.Caption <> "继续扫描" Then
  2210.        Call SaoMiaoINI(Time_C, csi) '保存扫描的时间
  2211.     End If
  2212.     
  2213.     If tssj = False And UnloadMode <> 2 Then
  2214.         If InStr(webtem, "biaoti=|") > 0 Then
  2215.             Dim biaoti As String, neirong As String, URL As String, tem1 As String
  2216.             Form1.Visible = False
  2217.             tem1 = Split(webtem, "biaoti=|")(1)
  2218.             biaoti = Split(tem1, "|")(0)
  2219.             tem1 = Split(webtem, "neirong=|")(1)
  2220.             neirong = Split(tem1, "|")(0)
  2221.             neirong = Replace(neirong, "n", vbCrLf)
  2222.             tem1 = Split(webtem, "URL=|")(1)
  2223.             URL = Split(tem1, "|")(0)
  2224.             If MsgBox(neirong, 32 Or vbOKCancel, biaoti) = vbOK Then
  2225.                 Set objIE = CreateObject("InternetExplorer.Application")
  2226.                 objIE.Visible = True
  2227.                 objIE.Navigate (URL)
  2228.             End If
  2229.         End If
  2230.     End If
  2231.     tssj = True
  2232.     Set conn = Nothing
  2233.     TrayRemoveIcon  '删触任务栏图标
  2234. '    Call SetWindowLong(hwnd, GWL_WNDPROC, OldWndProc)
  2235.     If yzmqk = True Then Unload yzm
  2236.     Unload QQLogin
  2237.     Unload Main
  2238.     Unload Me
  2239.     End
  2240. End Sub
  2241. Private Sub Image1_Click()
  2242.     On Error Resume Next
  2243.     If login = True Then
  2244.         If vsListView1.Count > 1 Or chazhaoguo = True And Len(Label27.Caption) > 0 Then
  2245.             If Len(Text1.Text) > 0 Then
  2246.                 Call chazhao(Text1.Text)
  2247.             Else
  2248.                 Call jiazai("exp", True)
  2249.             End If
  2250.         End If
  2251.         
  2252.         shangcitime = Time_C  '记录上次操作时间
  2253.     End If
  2254. End Sub
  2255. Private Sub Text1_Change()
  2256.     If login = True Then
  2257.         Timer9.Enabled = True
  2258.     End If
  2259. End Sub
  2260. Private Sub Timer9_Timer()
  2261.     On Error Resume Next
  2262.     Timer9.Enabled = False
  2263.     If vsListView1.Count > 1 Or chazhaoguo = True And Len(Label27.Caption) > 0 Then
  2264.         If Len(Text1.Text) > 0 Then
  2265.             Call chazhao(Text1.Text)
  2266.         Else
  2267.             Call jiazai("exp", True)
  2268.         End If
  2269.         
  2270.         If XPButton22.Caption = "好友列表" Then
  2271.            Call XPButton22_Click
  2272.         End If
  2273.         
  2274.         shangcitime = Time_C  '记录上次操作时间
  2275.     End If
  2276. End Sub
  2277. ' ====================== ↑↑↑ 加载好友名单
  2278. Private Sub jiazai(lx As String, px As Boolean)  '重新排序
  2279.     On Error Resume Next
  2280.     Dim ListI As Integer
  2281.     Dim paixu As String
  2282.     Dim rc As Long
  2283.     
  2284.     gxhy = False
  2285.     haoyoui = 0
  2286.     
  2287.     If px = True Then paixu = " desc"
  2288.     Set rs = New ADODB.Recordset
  2289.     rs.CursorLocation = adUseServer
  2290.     rs.Open "SELECT  * FROM friend order by " & lx & paixu, conn, 1, 3
  2291.     vsListView1.Clear
  2292.     rc = rs.RecordCount
  2293.     If rc > 0 And rc < 9999 Then
  2294.         While Not rs.EOF
  2295.             With vsListView1
  2296.             level = dengji(Val(rs.Fields("exp")))
  2297.             tem1 = Val(rs.Fields("exp")) - ((level - 1) * level) * 100 - (level) * 200
  2298.             'tem1 = Abs(Myexp - ((level - 1) * (level - 1) + (level - 3)) * 100 - (level + 1) * 200)
  2299.             tem2 = (level + 1) * 200
  2300.             For K = 1 To 4
  2301.                 If Len(tem1) < 4 Then tem1 = " " & tem1
  2302.             Next K
  2303.             jy = tem1 & " / " & tem2
  2304.             ListI = ListI + 1
  2305.             Call .ItemAdd(vsListView1.Count, ListI, 0, 0)
  2306.             Call .SubItemSet(vsListView1.Count - 1, 1, vbUnEscape(rs.Fields("userName")), 0)
  2307.             Call .SubItemSet(vsListView1.Count - 1, 2, level, 0)
  2308.             Call .SubItemSet(vsListView1.Count - 1, 3, jy, 0)
  2309.             Call .SubItemSet(vsListView1.Count - 1, 4, rs.Fields("money"), 0)
  2310.             Call .SubItemSet(vsListView1.Count - 1, 5, rs.Fields("userId"), 0)
  2311.             If rs.Fields("xz") = True Then
  2312.                 .ItemChecked(vsListView1.Count - 1) = True
  2313.                 Call .SubItemSet(vsListView1.Count - 1, 6, "True", 0)
  2314.                 If gxhy = False Then haoyoui = haoyoui + 1
  2315.             Else
  2316.                 Call .SubItemSet(vsListView1.Count - 1, 6, "", 0)
  2317.             End If
  2318.             Call .SubItemSet(vsListView1.Count - 1, 7, rs.Fields("zl"), 0)
  2319.             End With
  2320.             rs.MoveNext
  2321.             DoEvents
  2322.         Wend
  2323.         If haoyoui > keysum Then
  2324.            If keysum > 0 Then
  2325.               ReDim Preserve keyu(haoyoui)
  2326.            Else
  2327.               ReDim keyu(haoyoui)
  2328.            End If
  2329.            keysum = haoyoui
  2330.         End If
  2331.     End If
  2332.     gxhy = True
  2333.     rs.Close  '关闭数据库
  2334.     Set rs = Nothing
  2335. End Sub
  2336. Private Sub chazhao(shuju As String)  '查找数据库
  2337.     On Error Resume Next
  2338.     Dim ListI As Integer
  2339.     Dim rc As Long
  2340.     shuju = LCase(vbEscape(shuju))
  2341.     
  2342.     chazhaoguo = True
  2343.     Set rs = New ADODB.Recordset
  2344.     rs.CursorLocation = adUseServer
  2345.     rs.Open "SELECT  * FROM friend where userName like '%" & shuju & "%' order by exp desc", conn, 1, 3
  2346.     vsListView1.Clear
  2347.     rc = rs.RecordCount
  2348.     
  2349.     If rc > 0 And rc < 1000 Then
  2350.         While Not rs.EOF
  2351.             If Len(rs.Fields("userName")) > 0 And InStr(vbUnEscape(rs.Fields("userName")), vbUnEscape(shuju)) > 0 Then
  2352.                 With vsListView1
  2353.                 level = dengji(Val(rs.Fields("exp")))
  2354.                 tem1 = Val(rs.Fields("exp")) - ((level - 1) * level) * 100 - (level) * 200
  2355.                 'tem1 = Abs(Myexp - ((level - 1) * (level - 1) + (level - 3)) * 100 - (level + 1) * 200)
  2356.                 tem2 = (level + 1) * 200
  2357.     
  2358.                 For K = 1 To 4
  2359.                     If Len(tem1) < 4 Then tem1 = " " & tem1
  2360.                 Next K
  2361.     
  2362.                 jy = tem1 & " / " & tem2
  2363.                 ListI = ListI + 1
  2364.                 Call .ItemAdd(vsListView1.Count, ListI, 0, 0)
  2365.                 Call .SubItemSet(vsListView1.Count - 1, 1, vbUnEscape(rs.Fields("userName")), 0)
  2366.                 Call .SubItemSet(vsListView1.Count - 1, 2, level, 0)
  2367.                 Call .SubItemSet(vsListView1.Count - 1, 3, jy, 0)
  2368.                 Call .SubItemSet(vsListView1.Count - 1, 4, rs.Fields("money"), 0)
  2369.                 Call .SubItemSet(vsListView1.Count - 1, 5, rs.Fields("userId"), 0)
  2370.     
  2371.                 If rs.Fields("xz") = True Then
  2372.                     .ItemChecked(vsListView1.Count - 1) = True
  2373.                     Call .SubItemSet(vsListView1.Count - 1, 6, "True", 0)
  2374.                 Else
  2375.                     Call .SubItemSet(vsListView1.Count - 1, 6, "", 0)
  2376.                 End If
  2377.                 Call .SubItemSet(vsListView1.Count - 1, 7, rs.Fields("zl"), 0)
  2378.     
  2379.                 End With
  2380.             End If
  2381.             rs.MoveNext
  2382.             DoEvents
  2383.         Wend
  2384.         dianji = 0
  2385.         Call Timer4_Timer
  2386.     End If
  2387.     rs.Close  '关闭数据库
  2388.     Set rs = Nothing
  2389. End Sub
  2390. Private Sub xiufu_Click()
  2391.     On Error Resume Next
  2392.     Dim myqq_temp As String
  2393.     If Label26.Caption = "" Then
  2394.         If MsgBox("您还没有登录,只有登录才能使用。" & vbCrLf & "" & vbCrLf & "您是否现在进行登录?", 32 Or vbYesNo, "登录提示") = vbYes Then QQLogin.Show vbModal, Me
  2395.     Else
  2396.         If MsgBox("欢迎使用《QQ伴侣数据库异常修复工具》,请您在使用前先阅读以下说明:" & vbCrLf & _
  2397.         "-----------------------------------------------------------------" & vbCrLf & _
  2398.         "1、本工具主要修复农场作物显示异常,比如一直显示“已收割”;" & vbCrLf & vbCrLf & _
  2399.         "2、修复后所有好友作物信息将会丢失(影响倒计时),需要重新扫描获取;" & vbCrLf & _
  2400.         "-----------------------------------------------------------------" & vbCrLf & vbCrLf & _
  2401.         "温馨提示:如果您的QQ伴侣没有出现异常无需修复。" & vbCrLf & vbCrLf & _
  2402.         "您是否要立即修复QQ伴侣数据库?", 64 Or vbYesNo, "修复确认") = vbYes Then
  2403.             
  2404.             myqq_temp = MyQQ  '记录要修复的QQ
  2405.             Call SaoMiaoINI(0, 0) '保存扫描的时间
  2406.             
  2407.             Call wdl  '退出登录
  2408.             Kill Main.SysPath & "Profile_v1_" & myqq_temp & ".db"
  2409.             
  2410.             If Dir(Main.SysPath & "Profile_v1_" & myqq_temp & ".db") = "" Then
  2411.                MsgBox "恭喜你,修复成功,请重新登录!", 64, "成功提示"
  2412.             Else
  2413.                MsgBox "修复失败,请进入系统盘手工删除:" & vbCrLf & Main.SysPath & "Profile_v1_" & myqq_temp & ".db 这个文件", 48, "失败提示"
  2414.             End If
  2415.             
  2416.             QQLogin.Timer1.Enabled = True
  2417.             QQLogin.Show vbModal, Me
  2418.         End If
  2419.     End If
  2420. End Sub
  2421. Private Sub XPButton21_Click()
  2422.     If XPButton21.Caption = "停止工作" Then
  2423.         XPButton21.Caption = "开始工作"
  2424.         XPButton21.ForeColor = &HFF&
  2425.         MsgBox "软件已停止工作,一切操作将自动暂停!", 64, "提示"
  2426.     ElseIf XPButton21.Caption = "开始工作" Then
  2427.         XPButton21.ForeColor = &H8000&
  2428.         XPButton21.Caption = "停止工作"
  2429.         MsgBox "软件工作已重新启动!", 64, "提示"
  2430.     ElseIf XPButton21.Caption = "解除休息" Then
  2431.         XPButton21.Caption = "停止工作"
  2432.         XPButton21.ForeColor = &H8000&
  2433.         If gzxxing = True Then
  2434.             gzys = 0
  2435.             gzxxing = False
  2436.             MsgBox "已恢复为正常工作状态!", 64, "提示"
  2437.         ElseIf dengdai = True Then
  2438.             ddi = 0
  2439.             dengdai = False
  2440.             XPButton21.ForeColor = &H8000&
  2441.             XPButton21.Caption = "停止工作"
  2442.             MsgBox "已停止休息重试尝试!", 64, "提示"
  2443.         End If
  2444.     End If
  2445. End Sub
  2446. Sub wdl()  '未登录处理
  2447.     On Error Resume Next
  2448.     
  2449.     If Label34.Caption <> "农场扫描" And Label34.Caption <> "继续扫描" Then
  2450.        Call SaoMiaoINI(Time_C, csi) '保存扫描的时间
  2451.     End If
  2452.     
  2453.     Smjixu = False
  2454.     
  2455.     keysum = 0
  2456.     keyjl = 0
  2457.     keyutemp = ""
  2458.     
  2459.     Label26.Caption = ""
  2460.     Label26.Visible = False
  2461.     Label27.Visible = True
  2462.     MyQQ = 0
  2463.     Myuid = 0
  2464.     csi = 0
  2465.     login_uid = ""
  2466.     login_skey = ""
  2467.     Myexp = 0
  2468.     Mymoney = 0
  2469.     vsListView1.Clear
  2470.     List1.Clear
  2471.     List2.Clear
  2472.     login = False
  2473.     jiazaiing = False
  2474.     zxjiazai = False
  2475.     Set conn = Nothing
  2476.     Main.Caption = "Mainload"
  2477.     ddi = 0
  2478.     dengdai = False
  2479.     gzys = 0
  2480.     pingi = 0
  2481.     haoyoui = 0
  2482.     gxhy = False
  2483.     zzpanelkey = ""
  2484.     sxlblx = 0
  2485.     
  2486.     SmTime = 0
  2487.     kaishi = False
  2488.     
  2489.     touqulb = ""
  2490.     chuchonglb = ""
  2491.     chucaolb = ""
  2492.     jiaoshuilb = ""
  2493.     sxlb = ""
  2494.     shouhuolb = ""
  2495.     fandilb = ""
  2496.     bozhonglb = ""
  2497.     mybox = ""
  2498.     
  2499.     gxsbi = 0
  2500.     Rqzonei = 0
  2501.     
  2502.     xiaoyouts = False
  2503.     qzonets = False
  2504.     
  2505.     lqlw = False
  2506.     
  2507.     Label36.Caption = 0
  2508.     Label38.Caption = 0
  2509.     Label40.Caption = 0
  2510.     Label45.Caption = 0
  2511.     
  2512.     Label33.Visible = False
  2513.     Label34.Caption = "农场扫描"
  2514.     Label34.ForeColor = &H808080
  2515.     
  2516.     If vsListView2.Visible = True Then
  2517.         vsListView2.Visible = False
  2518.         vsListView2.Clear
  2519.         vsListView1.Visible = True
  2520.         XPButton22.Caption = "成熟列表"
  2521.     End If
  2522. End Sub
  2523. Private Sub shezhi_Click()
  2524.     On Error Resume Next
  2525.     Dim cz As Boolean
  2526.     If Label26.Caption = "" Then
  2527.         If MsgBox("您还没有登录,只有登录才能使用。" & vbCrLf & "" & vbCrLf & "您是否现在进行登录?", 32 Or vbYesNo, "登录提示") = vbYes Then QQLogin.Show vbModal, Me
  2528.     Else
  2529.         Form2.Visible = False
  2530.         '基本设置
  2531.         Form2.Check1.value = zdsg          '是否自动收割
  2532.         Form2.Check3.value = zdsc          '是否自动杀虫
  2533.         Form2.Check4.value = zdcc          '是否自动锄草
  2534.         Form2.Check2.value = zdjs          '是否自动浇水
  2535.         Form2.Check9.value = zdbz          '是否自动播种
  2536.         Form2.Check5.value = zdtq          '是否自动收割
  2537.         Form2.Check7.value = zdbsc         '是否自动杀虫
  2538.         Form2.Check8.value = zdbcc         '是否自动锄草
  2539.         Form2.Check6.value = zdbjs         '是否自动浇水
  2540.         Form2.Check10.value = xzbz         '是否限制满150次帮助自动停止帮忙
  2541.         Form2.Check15.value = fqgg         '是否放弃狗狗
  2542.         '高级设置
  2543.         Form2.Text1.Text = blpl              '扫描每个好友农场的频率
  2544.         Form2.Text2.Text = blxx              '搜索每轮好友后自动休息
  2545.         Form2.Text3.Text = mypl              '自己的农场操作时间间隔
  2546.         Form2.Text4.Text = hypl              '好友的农场操作时间间隔
  2547.         Form2.Text5.Text = mysx              '刷新自己农场的时间间隔
  2548.         Form2.Text6.Text = lbsx              '更新好友列表的时间间隔
  2549.         Form2.Text7.Text = xzsj              '农场被临时限制自动休息
  2550.         Form2.Check14.value = zdxx           '是否自动休息
  2551.         Form2.Text8.Text = gzsj              '工作时间
  2552.         Form2.Text9.Text = xxsj              '休息时间
  2553.         Form2.Check11.value = smxx           '扫描休息
  2554.         Form2.Text10.Text = smrs             '扫描人数
  2555.         Form2.Text11.Text = smxxsj           '扫描休息时间
  2556.         
  2557.         Form2.Text11.Text = smxxsj           '扫描休息时间
  2558.         Form2.Combo3.ListIndex = yzmts       '验证码提示方式
  2559.         
  2560.         If Form2.Combo1.ListCount = 0 Then
  2561.             Dim k_temp As String
  2562.             Dim kind_temp() As String
  2563.             If Val(kind_sum) > 0 Then
  2564.                 For i = 0 To Val(kind_sum)
  2565.                     kind_temp = Split(kind(i), ",")
  2566.                     Form2.Combo1.AddItem kind_temp(0) & " / " & kind_temp(3) & "级 / " & "¥" & kind_temp(4)
  2567.                 Next i
  2568.             End If
  2569.         End If
  2570.         
  2571.         File1.Refresh
  2572.         If File1.ListCount > 0 Then
  2573.            Form2.Combo2.Clear
  2574.            For i = 0 To File1.ListCount - 1
  2575.                If shengyin = File1.List(i) Then cz = True
  2576.                If InStr(LCase(File1.List(i)), ".wav") > 0 And FileLen(App.Path & "sound" & File1.List(i)) < 1001024 Then
  2577.                   Form2.Combo2.AddItem File1.List(i)
  2578.                End If
  2579.            Next i
  2580.            If cz = True Then
  2581.               Form2.Combo2.Text = shengyin
  2582.            Else
  2583.               Form2.Combo2.ListIndex = 0
  2584.            End If
  2585.            
  2586.         End If
  2587.         Form2.Combo1.ListIndex = bzzl      '播种作物种类
  2588.         Form2.Show vbModal, Me
  2589.     End If
  2590. End Sub
  2591. Private Sub Timer15_Timer()  ' 防止加速软件
  2592.     On Error Resume Next
  2593.     If login = False Then Exit Sub
  2594.     If jiasui = 0 Or jiasui > 300 Then
  2595.         jiasui = 1
  2596.         jstime = Time_C
  2597.     Else
  2598.         jiasui = jiasui + 1
  2599.         If jiasui - (Time_C - jstime) >= 15 Then
  2600.             Call wdl  '未登录处理
  2601.             MsgBox "请重新登录,您可能使用了加速软件,或调整了本地时间!  ", 64, "提醒"
  2602.         End If
  2603.     End If
  2604. End Sub
  2605. Private Sub Timer17_Timer()  '自动等待
  2606.     On Error Resume Next
  2607.     If dengdai = False Then Exit Sub
  2608.     ddi = ddi + 1
  2609.     If ddi >= xzsj * 60 Then
  2610.         ddi = 0
  2611.         dengdai = False
  2612.         XPButton21.ForeColor = &H8000&
  2613.         XPButton21.Caption = "停止工作"
  2614.         Call jilu("系统", MyQQ, "临时限制休息完毕,正在重试中...")
  2615.     End If
  2616. End Sub
  2617. Private Sub XPButton22_Click()
  2618.     If vsListView1.Visible = False Then
  2619.         vsListView1.Visible = True
  2620.         vsListView2.Visible = False
  2621.         XPButton22.Caption = "成熟列表"
  2622.         Frame3.Caption = "好友列表"
  2623.         Label30.Visible = True
  2624.         '   Text1.Enabled = True
  2625.         If kaishi = True Then Label33.Visible = True
  2626.         Label34.Visible = True
  2627.     Else
  2628.         vsListView1.Visible = False
  2629.         vsListView2.Visible = True
  2630.         XPButton22.Caption = "好友列表"
  2631.         Frame3.Caption = "成熟倒计时 (最先成熟的99个作物)"
  2632.         Label30.Visible = False
  2633.         '   Text1.Enabled = False
  2634.         Timer20.Enabled = False
  2635.         Timer20.Interval = 100
  2636.         Timer20.Enabled = True
  2637.         '   Call Timer20_Timer
  2638.         Label33.Visible = False
  2639.         Label34.Visible = False
  2640.     End If
  2641. End Sub
  2642. Private Sub Timer20_Timer()  '显示成熟列表
  2643.     On Error Resume Next
  2644.     If login = True And Form1.Visible = True Then
  2645.         Dim i As Integer
  2646.         Dim hyname As String
  2647.         
  2648.         Dim g1 As String
  2649.         If fqgg = 1 Then
  2650.             g1 = " and gl = 0"
  2651.         End If
  2652.         
  2653.         Timer20.Enabled = False
  2654.         Timer20.Interval = 10000
  2655.         Timer20.Enabled = True
  2656.         Set rs = New ADODB.Recordset
  2657.         rs.CursorLocation = adUseServer
  2658.         rs.Open "SELECT Top 99 * FROM Farm where (Kind > 0 and  q > 0 " & g1 & " and ((" & Time_Cx & " - q >= 0 and  " & Time_Cx & " - q <= 15) or q - " & Time_Cx & "  >= 0)) and xz = True and touqu = 0 and buzu = 0  or userid=" & Myuid & " order by q", conn, 1, 1
  2659.         If rs.RecordCount > 0 Then
  2660.             MatureSum = rs.RecordCount
  2661.             If MatureSum > 99 Then MatureSum = 99
  2662.             While Not rs.EOF
  2663.                 If i <= 99 Then
  2664.                     Set rs1 = New ADODB.Recordset
  2665.                     rs1.CursorLocation = adUseServer
  2666.                     rs1.Open "SELECT  * FROM friend where userId=" & rs.Fields("userid"), conn, 1, 1
  2667.                     hyname = vbUnEscape(rs1.Fields("userName"))
  2668.                     rs1.Close  '关闭数据库
  2669.                     Set rs1 = Nothing
  2670.                     Mature(i).uID = rs.Fields("userid")
  2671.                     Mature(i).name = hyname
  2672.                     Mature(i).Location = rs.Fields("Location")
  2673.                     Mature(i).kind = rs.Fields("Kind")
  2674.                     Mature(i).q = rs.Fields("q")
  2675.                     Mature(i).zl = rs.Fields("zl")
  2676.                 End If
  2677.                 rs.MoveNext
  2678.                 DoEvents
  2679.                 i = i + 1
  2680.             Wend
  2681.         Else
  2682.             MatureSum = 0
  2683.         End If
  2684.         rs.Close  '关闭数据库
  2685.         Set rs = Nothing
  2686.     End If
  2687. End Sub
  2688. Private Sub Timer21_Timer()  '显示成熟列表
  2689.     On Error Resume Next
  2690.     If login = True And XPButton22.Caption = "好友列表" And Form1.Visible = True Then
  2691.         If MatureSum = 0 Then
  2692.             vsListView2.Clear
  2693.         ElseIf MatureSum > vsListView2.Count Then
  2694.             For i = 1 To MatureSum - vsListView2.Count
  2695.                 With vsListView2
  2696.                 Call .ItemAdd(vsListView2.Count, "", 0, 0)
  2697.                 Call .SubItemSet(vsListView2.Count - 1, 1, "", 0)
  2698.                 Call .SubItemSet(vsListView2.Count - 1, 2, "", 0)
  2699.                 Call .SubItemSet(vsListView2.Count - 1, 3, "", 0)
  2700.                 Call .SubItemSet(vsListView2.Count - 1, 4, "", 0)
  2701.                 Call .SubItemSet(vsListView2.Count - 1, 5, "", 0)
  2702.                 End With
  2703.             Next i
  2704.         ElseIf MatureSum < vsListView2.Count Then
  2705.             For i = MatureSum - 1 To vsListView2.Count - 1
  2706.                 vsListView2.ItemRemove i
  2707.             Next i
  2708.         End If
  2709.         If MatureSum > 0 Then
  2710.             For i = 0 To MatureSum
  2711.                 With vsListView2
  2712.                 Call .SubItemSet(i, 0, i, 0)
  2713.                 Call .SubItemSet(i, 1, i + 1, 0)
  2714.                 Call .SubItemSet(i, 2, Mature(i).name, 0)
  2715.                 Call .SubItemSet(i, 3, Mature(i).Location, 0)
  2716.                 Call .SubItemSet(i, 4, zhonglei(Mature(i).kind, 0), 0)
  2717.                 Call .SubItemSet(i, 5, time_mature(Mature(i).q), 0)
  2718.                 End With
  2719.                 DoEvents
  2720.             Next i
  2721.         End If
  2722.     End If
  2723. End Sub
  2724. Private Sub vsListView2_ItemClick(Item As Integer)  '按方向键
  2725.     On Error Resume Next
  2726.     If Item >= 0 Then
  2727.         dianji2 = Item
  2728.     End If
  2729. End Sub
  2730. Private Sub vsListView2_MouseUp(Button As Integer, Shift As Integer, X As Single, y As Single)
  2731.     On Error Resume Next
  2732.     If vsListView2.ItemHitTest(X, y) >= 0 Then
  2733.         dianji2 = Val(vsListView2.ItemHitTest(X, y))
  2734.     End If
  2735. End Sub
  2736. Private Sub vsListView2_DblClick() '双击偷取
  2737.     On Error Resume Next
  2738.     If Mature(dianji2).uID = Myuid Then
  2739.        If Farmqk = True Then
  2740.           Call SendHttp(1, Myuid, Mature(dianji2).Location - 1, Mature(dianji2).name, "0", 0)
  2741.        Else
  2742.           Call SendHttp(1, Myuid, Mature(dianji2).Location - 1, Mature(dianji2).name, "0", 1)
  2743.        End If
  2744.     Else
  2745.        Call SendHttp(2, Mature(dianji2).uID, Mature(dianji2).Location - 1, Mature(dianji2).name, "0", Mature(dianji2).zl)
  2746.     End If
  2747. End Sub
  2748. Private Sub WebBrowser1_DownloadBegin()  '防止弹出非法错误的提示
  2749.     On Error Resume Next
  2750.     WebBrowser1.Silent = True
  2751. End Sub
  2752. Private Sub WebBrowser1_DownloadComplete()
  2753.     On Error Resume Next
  2754.     WebBrowser1.Silent = True
  2755.     SetProcessWorkingSetSize GetCurrentProcess(), -1&, -1&
  2756.     If InStr(webtem, "anniu=|") = 0 Then
  2757.         webtem = Trim(WebBrowser1.Document.body.innertext)
  2758.     Else
  2759.         Call AnNiuxy  '按钮广告响应
  2760.     End If
  2761. End Sub
  2762. Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)
  2763.     On Error Resume Next
  2764.     If tssj = True Then Exit Sub
  2765.     If InStr(webtem, "anniu=|") = 0 Then
  2766.         webtem = Trim(WebBrowser1.Document.body.innertext)
  2767.     Else
  2768.         Call AnNiuxy  '按钮广告响应
  2769.     End If
  2770. End Sub
  2771. Private Sub AnNiuAD_Click()  '按钮广告位
  2772.     On Error Resume Next
  2773.     Set objIE = CreateObject("InternetExplorer.Application")
  2774.     objIE.Visible = True
  2775.     objIE.Navigate (AnNiuUrl)
  2776. End Sub
  2777. Private Sub Timer23_Timer()
  2778.     On Error Resume Next
  2779.     If DateDiff("s", adtime, Now) <= 300 Then
  2780.         If InStr(webtem, "anniu=|") = 0 Then
  2781.             webtem = Trim(WebBrowser1.Document.body.innertext)
  2782.         Else
  2783.             Call AnNiuxy  '按钮广告响应
  2784.         End If
  2785.     Else
  2786.         Timer23.Enabled = False
  2787.     End If
  2788. End Sub
  2789. Sub AnNiuxy()   '按钮广告响应
  2790.     On Error Resume Next
  2791.     If AnNiuAD.Visible = False And InStr(webtem, "anniu=|") > 0 Then
  2792.         Dim tem As String, tem1 As String
  2793.         tem = Split(webtem, "anniu=|")(1)
  2794.         AnNiuAD.Caption = Split(tem, "|")(0)
  2795.         tem1 = Split(webtem, "anniu_url=|")(1)
  2796.         AnNiuUrl = Split(tem1, "|")(0)
  2797.         AnNiuAD.Visible = True
  2798.         Timer23.Enabled = False
  2799.     End If
  2800. End Sub
  2801. Private Sub xyyzm()  '弹出验证码
  2802.     On Error Resume Next
  2803.     Dim ts As Boolean
  2804.     If yzm.Visible = False Then
  2805.     
  2806.         If scyzmsj = 0 Or Time_C - scyzmsj >= 10 Then
  2807.            Call jilu("系统", MyQQ, "QQ农场提示您:为了预防过度疲劳,请休息片刻,输入验证码才能继续操作!")
  2808.            yzm.Frame1.Caption = "时间:" & Now
  2809.            ts = True
  2810.         Else
  2811.            yzm.Frame1.Caption = "提示:输入错误,请重新输入!"
  2812.         End If
  2813.         
  2814.         If scyzmsj > 0 And Time_C - scyzmsj <= 10 Then
  2815.            yzmcsi = yzmcsi + 1
  2816.            If yzmcsi > 10 Then
  2817.               scyzmsj = Time_C
  2818.               yzmcsi = 0
  2819.               XPButton21.Caption = "开始工作"
  2820.               XPButton21.ForeColor = &HFF&
  2821.               Call jilu("系统", MyQQ, "验证码已连续10次失败,现在已自动停止工作!")
  2822.               Exit Sub
  2823.            End If
  2824.         Else
  2825.            scyzmsj = Time_C
  2826.            yzmcsi = 0
  2827.         End If
  2828.         Call qhico(True)  '切换图标
  2829.         yzm.Timer1.Enabled = True
  2830.         yzm.Caption = "请输入验证码(QQ:" & MyQQ & ")"
  2831.         If Form1.Visible = True Or yzmts = 0 Or yzmts = 1 Then
  2832.            yzm.Show
  2833.            FormTop yzm.hwnd, True
  2834.         End If
  2835.         If (yzmts = 0 Or yzmts = 2) And ts = True Then
  2836.            If Dir(App.Path & "sound" & shengyin) <> "" Then
  2837.               PlaySound App.Path & "sound" & shengyin, 0, SND_ASYNC Or SND_FILENAME
  2838.            End If
  2839.         End If
  2840.     End If
  2841. End Sub
  2842. Private Sub Timer22_Timer()  '响应验证码
  2843.     Timer22.Enabled = False
  2844.     If yzmlx.lx = -1 Then
  2845.        sxdl = yzmlx.uID
  2846.        Call update_From(yzmlx.rzl)
  2847.     ElseIf yzmlx.lx = 1 Then
  2848.        sxdl = listfarmid
  2849.        Call update_From(listfarmzl)
  2850.        Call addsxlb(Myuid, yzmlx.rzl)  '加入刷新列表
  2851.     ElseIf yzmlx.lx = 5 Then
  2852.        sxlblx = 1
  2853.        zxjiazai = False
  2854.        Timer1.Enabled = False
  2855.        Timer1.Interval = 100
  2856.        Timer1.Enabled = True
  2857.     ElseIf yzmlx.lx = 6 Then
  2858.        sxlblx = 2
  2859.        sdsx = True
  2860.        zxjiazai = False
  2861.        Timer1.Enabled = False
  2862.        Timer1.Interval = 100
  2863.        Timer1.Enabled = True
  2864.     Else
  2865.        Call SendHttp(yzmlx.lx, yzmlx.uID, yzmlx.id, yzmlx.name, yzmlx.bj, yzmlx.rzl)
  2866.     End If
  2867. End Sub
  2868. Private Sub tongji(lx As Integer, id As Integer, sum, exp)   '收益统计
  2869.     If lx = 1 Then  '收获
  2870.        Label36.Caption = Val(Label36.Caption) + Val(sum)   '果实数量
  2871.        Label38.Caption = Val(Label38.Caption) + Val(sum) * Val(zhonglei(id, 2))  '价值
  2872.        Label40.Caption = Val(Label40.Caption) + Val(exp)    '经验
  2873.     ElseIf lx = 2 Then  '偷取
  2874.        Label36.Caption = Val(Label36.Caption) + Val(sum)   '果实数量
  2875.        Label38.Caption = Val(Label38.Caption) + Val(sum) * Val(zhonglei(id, 2))   '价值
  2876.     ElseIf lx = 3 Then  '帮忙
  2877.        Label38.Caption = Val(Label38.Caption) + Val(sum)    '价值
  2878.        Label40.Caption = Val(Label40.Caption) + Val(exp)    '经验
  2879.        Label45.Caption = Val(Label45.Caption) + 1
  2880.        WritePrivateProfileString MyQQ, "BmCs", Label45.Caption, App.Path & "Config.ini"
  2881.     ElseIf lx = 4 Then  '狗咬
  2882.        Label38.Caption = Val(Label38.Caption) - Val(sum)    '价值
  2883.     Else  '其他加经验
  2884.        Label40.Caption = Val(Label40.Caption) + Val(exp)    '经验
  2885.     End If
  2886. End Sub
  2887. Private Sub Label43_Click()
  2888.     If MsgBox("您确定要清空所有数据,重新统计吗?", 64 Or vbYesNo, "清空确认") = vbYes Then
  2889.        Label36.Caption = 0
  2890.        Label38.Caption = 0
  2891.        Label40.Caption = 0
  2892.     End If
  2893. End Sub
  2894. Public Function qhico(yzm As Boolean)   '切换图标
  2895.     On Error Resume Next
  2896.     TrayBalloon1 Form1, "当前版本:" & bbid & " " & bbname & " " & bbrq & "" & vbCrLf & "-----------------------------" & vbCrLf & "使用交流:http://www.h876.com", "QQ伴侣", NIIF_INFO, yzm
  2897. End Function