按键精灵吧 关注:499,346贴子:1,005,278
  • 28回复贴,共1

退出脚本后会卡死的原因

只看楼主收藏回复

我的按键精灵运行时候好好的,一旦终止脚本就会卡机,轻的过一会儿好,重的就直接死机。


IP属地:河南1楼2014-05-31 11:37回复
    附脚本如下:
    Set dm = createobject("dm.dmsoft")
    dm.setpath "E:\damo2"
    dm.setdict 0, "mu3.txt"
    hwnd = dm.getmousepointwindow()
    dm_ret = dm.BindWindow(hwnd, "normal", "dx", "dx", 0)
    Delay 200
    s = dm.Ocr(19,3,41,17, "ffffff-000000", 1.0)
    t = dm.Ocr(41,2,66,19, "ffffff-000000", 1.0)
    x1 = s + 1
    x2 = s - 1
    y1 = t + 1
    y2 = t - 1
    yidong = 0
    anjian = 50
    Rem a
    If yidong - 40 > 0 Then
    yidong = 0
    Goto w
    End If
    dm_ret = dm.findstr(0, 0, 2000, 2000, "雅|宝|石|祝|再|生|守|国|创", "ffcc19-000000", 1.0, intx, inty)
    If intx > 0 Then
    dm.RightUp
    Delay 100
    dm.moveto intx + yidong, inty + 30
    Delay 100
    dm_ret = dm.findstr(0, 0, 2000, 2000, "雅|宝|石|祝|再|生|守|国|创", "ffcc19-000000", 1.0, intx2, inty2)
    daxiao = inty - inty2
    If daxiao = 0 Then
    yidong = yidong + 10
    dm.leftclick
    Delay 50
    Goto a
    Else
    Delay 150
    dm.leftdown
    Delay 80
    dm.leftup
    Delay 1800
    yidong = yidong + 10
    Goto a
    End If
    Else
    Goto b
    End If
    Rem b
    If yidong - 60 > 0 Then
    yidong = 0
    Goto w
    End If
    dm_ret = dm.findstr(0, 0, 2000, 500, "烂|的|智", "b2b2b2-000000", 1.0, intx, inty)
    If intx > 0 Then
    dm.RightUp
    Delay 100
    dm.moveto intx + yidong, inty + 30
    Delay 100
    dm_ret = dm.findstr(0, 0, 2000, 500, "烂|的|智", "b2b2b2-000000", "ffcc19-000000", 1.0, intx2, inty2)
    daxiao = inty - inty2
    If daxiao = 0 Then
    yidong = yidong + 10
    dm.leftclick
    Delay 50
    Goto b
    Else
    Delay 150
    dm.leftdown
    Delay 80
    dm.leftup
    Delay 1800
    yidong = yidong + 10
    Goto b
    End If
    Else
    Goto c
    End If
    //套装
    Rem c
    If yidong - 100 > 0 Then
    yidong = 0
    Goto w
    End If
    dm_ret = dm.findstr(0, 0, 2000, 500, "帕|希|露|汉|斯|亚|特|阿|莱|的", "00ff00-000000", 1.0, intx, inty)
    If intx > 0 Then
    dm.RightUp
    Delay 100
    dm.moveto intx + yidong, inty + 30
    Delay 100
    dm_ret = dm.findstr(0, 0, 2000, 500, "帕|希|露|汉|斯|亚|特|阿|莱|的", "00ff00-000000", 1.0, intx2, inty2)
    daxiao = inty - inty2
    If daxiao = 0 Then
    yidong = yidong + 10
    dm.leftclick
    Delay 50
    Goto c
    Else
    Delay 150
    dm.leftdown
    Delay 80
    dm.leftup
    Delay 1800
    yidong = yidong + 10
    Goto c
    End If
    Else
    Goto d
    End If
    //卓越
    Rem d
    If yidong - 60 > 0 Then
    yidong = 0
    Goto w
    End If
    dm_ret = dm.findstr(0, 0, 2000, 500, "龙|骨|傲|天|死|神", "19ff7f-000000", 1.0, intx, inty)
    If intx > 0 Then
    dm.RightUp
    Delay 100
    dm.moveto intx + yidong, inty + 30
    Delay 100
    dm_ret = dm.findstr(0, 0, 2000, 500, "龙|骨|傲|天|死|神", "19ff7f-000000", 1.0, intx2, inty2)
    daxiao = inty - inty2
    If daxiao = 0 Then
    yidong = yidong + 10
    dm.leftclick
    Delay 50
    Goto d
    Else
    Delay 150
    dm.leftdown
    Delay 80
    dm.leftup
    Delay 1800
    yidong = yidong + 10
    Goto d
    End If
    Else
    Goto e
    End If
    //冰霜武器
    Rem e
    If yidong - 60 > 0 Then
    yidong = 0
    Goto w
    End If
    dm_ret = dm.findstr(0, 0, 2000, 500, "致|命|双|子|魔|狱", "b266ff-000000", 1.0, intx, inty)
    If intx > 0 Then
    dm.RightUp
    Delay 100
    dm.moveto intx + yidong, inty + 30
    Delay 100
    dm_ret = dm.findstr(0, 0, 2000, 500, "致|命|双|子|魔|狱", "b266ff-000000", 1.0, intx2, inty2)
    daxiao = inty - inty2
    If daxiao = 0 Then
    yidong = yidong + 10
    dm.leftclick
    Delay 50
    Goto e
    Else
    Delay 150
    dm.leftdown
    Delay 80
    dm.leftup
    Delay 1800
    yidong = yidong + 10
    Goto e
    End If
    Else
    Goto y
    End If
    Rem w
    dm_ret = dm.findstr(2,450,140,473, "装备栏满了", "6496ff-000000", 1.0, intx, inty)
    If intx > 0 Then
    Delay 100
    Call 扔装备
    Goto z
    Else
    Goto c
    End If
    Rem y
    s = dm.Ocr(19,3,41,17, "ffffff-000000", 1.0)
    t = dm.Ocr(41,2,66,19, "ffffff-000000", 1.0)
    Delay 100//需要安宁挂机的粘贴 call 安宁挂机
    If s - x1 > 0 Then
    dm.MoveTo 285, 209
    Delay 50
    dm.Leftdown
    Delay 200
    dm.leftup
    Delay 50
    ElseIf s - x2 < 0 Then
    Delay 50
    dm.MoveTo 446, 288
    Delay 80
    dm.Leftdown
    Delay 200
    dm.leftup
    Delay 50
    End if
    If t - y1 > 0 Then
    dm.MoveTo 343,296
    Delay 50
    dm.Leftdown
    Delay 200
    dm.leftup
    Delay 50
    ElseIf t - y2 < 0 Then
    Delay 50
    dm.MoveTo 452, 208
    Delay 80
    dm.Leftdown
    Delay 200
    dm.leftup
    Delay 50
    dm.moveto 400,240
    End if
    Rem z
    dm.keyup 164
    Delay 50
    //是否用换技能 Call 换闪电
    dm.rightdown
    Delay 100
    dm.moveto 406, 152
    Delay 600
    dm.moveto 470, 212
    Delay 200
    dm.moveto 406, 280
    Delay 300
    dm.moveto 346, 212
    Delay 300
    dm.keydown 164
    Goto c
    Sub 扔装备
    //打开背包
    dm.keydown 86
    Delay 200
    dm.keyup 86
    Delay 400
    //扔东西
    x = 595
    y = 310
    For 3
    dm.moveto x, y
    Delay 300
    Call reng
    x = x + 50
    Delay 200
    next
    x = 595
    y = 360
    For 3
    dm.moveto x, y
    Delay 300
    Call reng
    x = x + 50
    Delay 200
    Next
    x = 595
    y = 410
    For 3
    dm.moveto x, y
    Delay 300
    Call reng
    x = x + 50
    Delay 200
    next
    //关闭背包
    dm.keydown 86
    Delay 200
    dm.keyup 86
    Delay 400
    dm_ret = dm.findstr(603,20,684,47, "套装属性", "ffcc19-000000", 1.0, intx, inty)
    If intx > 0 Then
    Delay 300
    dm.keydown 86
    Delay 200
    dm.keyup 86
    Delay 400
    Else
    Goto y
    end if
    End Sub
    Sub reng
    Delay 100
    LeftDown 1
    LeftClick 1
    LeftUp 1
    Delay 300
    dm.moveto 315, 359
    Delay 200
    LeftDown 1
    LeftClick 1
    LeftUp 1
    Delay 100
    End Sub
    Sub 换闪电
    Delay 100
    dm.KeyPress anjian
    Delay 100
    anjian = anjian + 1
    If anjian - 53 = 0 Then
    anjian = 49
    End If
    End Sub
    Sub 安宁挂机
    If t - 100 > 0 and t - 120 < 0 Then
    EndScript
    dm.keypress 27
    Delay 100
    dm.keypress 27
    Delay 100
    End If
    End Sub
    dm_ret = dm.unbindwindow


    IP属地:河南2楼2014-05-31 11:39
    回复
      前面一部分不启用,现在不需要捡石头了!但没有删除怕以后再用,但第一遍过来就返回到了套装兰!


      IP属地:河南3楼2014-05-31 11:40
      回复
        解绑写在退出脚本命令下


        IP属地:河北来自Android客户端4楼2014-06-01 09:56
        收起回复
          可以来群学习 自己DIY欢迎各位友友同来学习交流,群号: 375706698


          IP属地:北京5楼2014-06-01 15:21
          回复
            4楼,改正后好点,但时间一旦长了就会卡死半天才能退出,不点退出脚本没事儿,时间短没事儿。
            谁帮忙给分析下!
            另:同样的脚本在笔记本运行没卡机现象!


            IP属地:河南6楼2014-06-03 12:42
            收起回复
              Set dm = createobject("dm.dmsoft")
              dm.setpath "E:\damo2"
              dm.setdict 0, "mu3.txt"
              hwnd = dm.getmousepointwindow()
              dm_ret = dm.BindWindow(hwnd, "normal", "dx", "dx", 0)
              Delay 200
              yidong = 0
              //套装
              Rem c
              If yidong - 100 > 0 Then
              yidong = -50
              End If
              dm_ret = dm.findstr(0, 0, 2000, 500, "传|说|亚|特|的|指|链|莱|安", "00ff00-000000", 1.0, intx, inty)
              If intx > 0 Then
              dm.RightUp
              Delay 100
              dm.moveto intx + yidong, inty + 30
              Delay 100
              dm_ret = dm.findstr(0, 0, 2000, 500, "传|说|亚|特|的|指|链|莱|安", "00ff00-000000", 1.0, intx2, inty2)
              daxiao = inty - inty2
              If daxiao = 0 Then
              yidong = yidong + 10
              dm.leftclick
              Delay 50
              Goto c
              Else
              Delay 150
              dm.leftdown
              Delay 80
              dm.leftup
              Delay 1800
              yidong = yidong + 10
              Goto c
              End If
              Else
              Goto d
              End If
              //卓越
              Rem d
              If yidong - 60 > 0 Then
              yidong = 0
              End If
              dm_ret = dm.findstr(0, 0, 2000, 500, "龙|骨|傲|天|死|神|圣|尊", "19ff7f-000000", 1.0, intx, inty)
              If intx > 0 Then
              dm.RightUp
              Delay 100
              dm.moveto intx + yidong, inty + 30
              Delay 100
              dm_ret = dm.findstr(0, 0, 2000, 500, "龙|骨|傲|天|死|神|圣|尊", "19ff7f-000000", 1.0, intx2, inty2)
              daxiao = inty - inty2
              If daxiao = 0 Then
              yidong = yidong + 10
              dm.leftclick
              Delay 50
              Goto d
              Else
              Delay 150
              dm.leftdown
              Delay 80
              dm.leftup
              Delay 1800
              yidong = yidong + 10
              Goto d
              End If
              Else
              Goto z
              End If
              Rem z
              dm.keyup 164
              Delay 50
              dm.rightdown
              Delay 400
              dm.keydown 164
              Goto c
              dm_ret = dm.unbindwindow


              IP属地:河南7楼2014-06-05 11:27
              收起回复
                是不是在脚本最后加这句
                Sub OnScriptExit()
                dm.UnBindWindow
                End Sub


                IP属地:河南8楼2014-06-06 17:35
                收起回复
                  还是不行啊,点退出后仍然会死机!


                  IP属地:河南9楼2014-06-07 15:23
                  回复
                    跟插件有关


                    IP属地:广西10楼2014-06-07 17:28
                    收起回复
                      尽量不要用goto,多用call吧


                      来自Android客户端11楼2014-06-07 18:10
                      回复
                        楼主大神,写的脚本强打


                        IP属地:浙江来自Android客户端12楼2014-06-07 22:07
                        收起回复