天龙八部.Ent
上传用户:hr2818
上传日期:2013-12-07
资源大小:2k
文件大小:7k
源码类别:

外挂编程

开发平台:

VBScript

  1. [ScriptOption]
  2. Description=天龙八步
  3. BeginHotkey= 36
  4. BeginHotkeyMod= 0
  5. EndHotKey= 35
  6. EndHotKeyMod= 0
  7. Enable=  1
  8. RunOnce= 0
  9. Type= 1
  10. Number= 1
  11. ScriptFormat= 0
  12. [Comment]
  13. 【脚本功能】:
  14. 该脚本是天龙八步测试脚本,请自己测试
  15. 游戏必须是800*600的窗口模式
  16. 游戏快捷键:1放普通攻击,2、3、4放技能攻击,
  17. 5放红,F9放宠物食物。
  18. 先用鼠标右键选中一个怪,然后按下启动脚本热键
  19. [InitVar]
  20. [VBSScriptCode]
  21. [Main]
  22. '该脚本是天龙八步测试脚本,请自己测试
  23. '游戏必须是800*600的窗口模式
  24. '游戏快捷键:1放普通攻击,2、3、4放技能攻击,
  25. '5放红,F9放宠物食物。
  26. '先用鼠标右键选中一个怪,然后按下启动脚本热键
  27. Dim Attack,CTime,X,Y
  28. Dim HWND,X0,Y0,X1,Y1,X2,Y2,PX1,PY1,PX2,PY2
  29. Dim CT,CTPick,AttackS
  30. Dim HPColor,MonColor,BT,CMDHPColor,FullHP
  31. Dim IsAttack
  32. Sub Main()    '脚本主程序,请在此下写入主程序代码
  33.     HWindow.GEtClientRect X0,Y0,X1,Y1
  34.     HPColor = GetPixelColor(X0+99,Y0+31)    '获得人物的血条颜色
  35.     FullHP = GetPixelColor(X0+180,Y0+31)
  36.     MonColor = GetPixelColor(X0+223,Y0+31)   '怪满血为344,31
  37.     CMDHPColor = GetPixelColor(X0+94,Y0+70)
  38.     BT=GetTime
  39.     Do While 1=1
  40.         AttackMon
  41.         Pick
  42.         If GetTime - BT > 2000 Then
  43.             Change
  44.             BT=GetTime
  45.         End If
  46.         SitDown
  47.         'CEat
  48.         AddBlood
  49.     Loop
  50.     
  51. End Sub '脚本主程序结束
  52. Sub AttackMon() '攻击怪物函数
  53.     Dim cc,kk,tm
  54.     cc=0
  55.     AddBlood
  56.     Delay 100
  57.     X1=-1
  58.     FindBlockColor X0+300,Y0+100,X0+700,Y0+500,7,1,&HDD,0.96,0.70,X1,Y1
  59.     If x1> 0 Then
  60.         Delay 100
  61.         FindBlockColor X1-40,Y1-30,X1+40,Y1+30,1,3,&HDD,0.96,0.70,X2,Y2   '606060
  62.         If X1>0 And X2>0 And ABS(Y1-Y2)<12 And ABS(X1-X2)<50 Then
  63.             Kill
  64.             Exit Sub
  65.         End If
  66.     End If
  67.     Delay 100
  68.     'FindCenterBlockColor X0+40,Y0+30,X+790,Y0+570,4,2,&HF1F1,1,0.580,X1,Y1
  69.     FindCenterBlockHSL X0+80,Y0+80,X0+720,Y0+500,4,2,40,240,100,1,1,40,X1,Y1
  70.     'Dprint "p" & y1
  71.     If x1>0 Then
  72.         Delay 100
  73.         'FindCenterBlockColor X0+40,Y0+30,X+790,Y0+570,1,4,&HF1F1,1,0.50,X2,Y2   '606060
  74.         FindCenterBlockHSL X1-40,Y1-30,X1+40,Y1+30,1,4,40,240,100,1,1,40,X2,Y2
  75.         
  76.         If X1>0 And X2>0 And ABS(Y1-Y2)<20 And ABS(X1-X2)<50 Then
  77.             Kill
  78.             Exit Sub
  79.         End If
  80.     End If
  81. End Sub
  82. Sub Kill()
  83.     Dim IsKill
  84.     IsKill = 0
  85.     AttackS = 0
  86.     For I= 1 To 6
  87.         Select Case I
  88.             Case 1
  89.             MoveTo X1+25,Y1+35
  90.             Delay 150
  91.             If GetCursorShape() = 36929980 Then
  92.                 IsKill = 1
  93.                 Exit For
  94.             End If
  95.             Case 2
  96.             MoveTo X1-25,Y1+35
  97.             Delay 150
  98.             If GetCursorShape() = 36929980 Then
  99.                 IsKill = 1
  100.                 Exit For
  101.             End If
  102.             Case 3
  103.             MoveTo X1+30,Y1+35
  104.             Delay 150
  105.             If GetCursorShape() = 36929980 Then
  106.                 IsKill = 1
  107.                 Exit For
  108.             End If
  109.             
  110.             Case 4
  111.             MoveTo X1-30,Y1+35
  112.             Delay 150
  113.             If GetCursorShape() = 36929980 Then
  114.                 IsKill = 1
  115.                 Exit For
  116.             End If
  117.             Case 5
  118.             MoveTo X1+10,Y1+35
  119.             Delay 150
  120.             If GetCursorShape() = 36929980 Then
  121.                 IsKill = 1
  122.                 Exit For
  123.             End If
  124.             Case 6
  125.             MoveTo X1-10,Y1+35
  126.             Delay 150
  127.             If GetCursorShape() = 36929980 Then
  128.                 IsKill = 1
  129.                 Exit For
  130.             End If
  131.             
  132.         End Select
  133.     Next
  134.     
  135.     If IsKill = 1 Then
  136.         AttackS = 1
  137.         
  138.         LeftClick 4
  139.         tm= GetTime
  140.         Do While IsColor(X0+223,Y0+31,MonColor,1) <> 1 And GetTime -tm <1000
  141.             Delay 10
  142.         Loop
  143.         tm = GetTime
  144.         Do While IsColor(X0+223,Y0+31,MonColor,1) = 1 And GetTime - tm <20000
  145.             'AddBlood
  146.             KeyPressH "F1",1        '技能攻击,练技能用
  147.             Delay 100
  148.             KeyPressH "F2",1        '普通攻击
  149.             Delay 100
  150.         Loop
  151.         Delay 1000
  152.         KeyPressH "F1",3
  153.         Change
  154.     End If
  155.     
  156. End Sub
  157. Sub AddBlood()
  158.     If IsColor(X0+99,Y0+31,HPColor,1) <> 1 Then
  159.         KeyPressH "F6",3
  160.         Delay 100
  161.     End If
  162. End Sub
  163. Sub Change()                 '改变方向
  164.     MoveTo 300+X0,250+Y0
  165.     Delay 50
  166.     RightDown
  167.     RightDown
  168.     MoveR 1,0
  169.     Delay 50
  170.     MoveTo 430+X0,250+Y0
  171.     Delay 200
  172.     RightUp
  173.     MoveTo 723+X0,105+Y0
  174.     LeftClick 1
  175. End Sub
  176. Sub SitDown()
  177.     If IsColor(X0+99,Y0+31,HPColor,1) <> 1 Then
  178.         Do While IsColor(X0+180,Y0+31,FullHP,1) <> 1
  179.             KeyPress "F8",1                '坐下
  180.             Delay 100
  181.         Loop
  182.     End If
  183. End Sub
  184. Sub CEat()
  185.     If IsColor(X0+94,Y0+70,CMDHPColor,1) <> 1 Then
  186.         KeyPress "F9",1
  187.     End If
  188. End Sub
  189. Sub Pick()
  190.     Dim ZTS,TCD
  191.     TCD = 0
  192.     If AttackS = 0 Then Exit Sub
  193.     ZTS = GetTime
  194.     X2=0
  195.     Do While GetTime - ZTS <1000 And X2<=0 '搜索是否有包裹
  196.         FindBlockHSL X0+300,Y0+200,X0+500,Y0+400,3,3,40,240,210,10,1,100,X2,Y2
  197.         Delay 30
  198.     Loop
  199.     
  200.     If X2 > 0 Then
  201.         For I=1 To 5
  202.             Select Case I
  203.                 Case 1
  204.                 MoveTo X2,Y2
  205.                 Delay 300
  206.                 If GetCursorShape = 963600 Then
  207.                     TCD = 1
  208.                     Exit For
  209.                 End If
  210.                 Case 2
  211.                 MoveTo X2-20,Y2-20
  212.                 Delay 300
  213.                 If GetCursorShape = 963600 Then
  214.                     TCD = 1
  215.                     Exit For
  216.                 End If
  217.                 Case 3
  218.                 MoveTo X2-20,Y2
  219.                 Delay 300
  220.                 If GetCursorShape = 963600 Then
  221.                     TCD = 1
  222.                     Exit For
  223.                 End If
  224.                 Case 4
  225.                 MoveTo X2+20,Y2
  226.                 Delay 300
  227.                 If GetCursorShape = 963600 Then
  228.                     TCD = 1
  229.                     Exit For
  230.                 End If
  231.                 Case 5
  232.                 MoveTo X2+20,Y2+20
  233.                 Delay 300
  234.                 If GetCursorShape = 963600 Then
  235.                     TCD = 1
  236.                     Exit For
  237.                 End If
  238.             End Select
  239.         Next
  240.         
  241.         If TCD = 1 Then
  242.             LeftClick 2
  243.             Delay 100
  244.             tz = GetTime
  245.             X2=0
  246.             Do While GetTime - tz < 3000 And X2<=0    '判断包裹是否打开
  247.                 FindBlockHSL X0+200,Y0+150,X0+600,Y0+400,8,1,1,182,82,4,10,10,X2,Y2
  248.                 Delay 200
  249.             Loop
  250.             If X2>0 Then
  251.                 Dprint X2
  252.                 MoveTo X2+60,Y2+30
  253.                 LeftClick 2
  254.                 Delay 1000
  255.                 Do While X2>0
  256.                     FindBlockHSL X0+200,Y0+150,X0+600,Y0+400,8,1,1,182,82,4,10,10,X2,Y2
  257.                     If X2>0 Then
  258.                         MoveTo X2+160,Y2+10
  259.                         LeftClick 1
  260.                         Delay 500
  261.                     End If
  262.                 Loop
  263.             End If
  264.         End If
  265.     End If
  266. End Sub
  267. [MainEnd]
  268. [VBSLib]