Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 10.26 KB | None | 0 0
  1. #include <Date.au3>
  2. #include "GWCAConstants.au3"
  3.  
  4. Opt("TrayOnEventMode", 1)
  5. Opt("TrayMenuMode", 1)
  6.  
  7. Global $name = IniRead("Sets.dat", "Name", "Name", "")
  8.  
  9. Global $sGW = "Guild Wars - " & $name
  10.  
  11. Global $bRunning = False
  12.  
  13. Global $MAP_TOPK = 814
  14. Global $GItems = 0
  15. Global $Runs = 0
  16. Global $TotalGolds = 0
  17. Global $oldGold = 0
  18.  
  19. $settingsitem = TrayCreateMenu("Settings")
  20. $nameitem = TrayCreateItem("Name", $settingsitem)
  21. TrayCreateItem("")
  22. $startitem = TrayCreateItem("Start")
  23. TrayCreateItem("")
  24. $exititem = TrayCreateItem("Exit")
  25.  
  26. TrayItemSetOnEvent($nameitem, "SpecialEvent")
  27. TrayItemSetOnEvent($startitem, "SpecialEvent")
  28. TrayItemSetOnEvent($exititem, "SpecialEvent")
  29. TraySetState()
  30.  
  31. Func SpecialEvent()
  32.     Switch @TRAY_ID
  33.         Case $exititem
  34.             Exit
  35.         Case $startitem
  36.             $bRunning = Not $bRunning
  37.         Case $nameitem
  38.             $name = InputBox("Char Name", "How is your char called?", $name)
  39.             $sGW = "GameRevision.com - " & $name & " - Guild Wars"
  40.             IniWrite("Sets.dat", "Name", "Name", $name)
  41.     EndSwitch
  42. EndFunc
  43.  
  44. While 1
  45.     Sleep(100)
  46.     If $bRunning Then BotLoop()
  47. WEnd
  48.  
  49.  
  50. Func BotLoop()
  51.  
  52.     sleep(100)
  53.  
  54.  
  55.     ;//Out
  56.     #Region Out
  57.     $R1 = Random(1,3,1)
  58.  
  59.     If $R1 = 1 Then
  60.         MoveTo(1917.22, 2646.55)
  61.     ElseIf $R1 = 2 Then
  62.         MoveTo(1869.77, 2840.69)
  63.     ElseIf $R1 = 3 Then
  64.         MoveTo(1701.58, 2920.88)
  65.     EndIf
  66.  
  67.     $R2 = Random(1,3,1)
  68.  
  69.     If $R2 = 1 Then
  70.         MoveTo(1920.76, 3443.92)
  71.     ElseIf $R2 = 2 Then
  72.         MoveTo(2032.59, 3581.50)
  73.     ElseIf $R2 = 3 Then
  74.         MoveTo(2174.57, 3725.66)
  75.     EndIf
  76.  
  77.     MoveTo(2259.15, 4502.03)
  78.  
  79.     WaitForLoad()
  80.     #EndRegion Out
  81.  
  82.     sleep(100)
  83.  
  84.     ;//Pull
  85.     #Region Pull
  86.     MoveTo(2625.49, -3702.98)
  87.     MoveTo(1348.72, -3478.53)
  88.  
  89.     Cmd($CA_UseSkill,1,-2)
  90.     Cmd($CA_UseSkill,2,-2)
  91.  
  92.     sleep(random(1250,1500))
  93.  
  94.     Cmd($CA_UseSkill,3,-2)
  95.  
  96.     sleep(random(1250,1500))
  97.  
  98.     MoveTo(771, -2899)
  99.  
  100.     Do
  101.         Sleep(50)
  102.         $cbType = "int"
  103.         $agentid = CmdCB($CA_GETNEARESTAGENTBYPLAYERNUMBER, 2191) ;dryder
  104.         Sleep(50)
  105.         $cbType = "float"
  106.         $distance = CmdCB($CA_GetMyDistanceToAgent, $agentid[0])
  107.     Until $distance[0] <= 1050
  108.  
  109.     Cmd($CA_ChangeTarget, 13)
  110.  
  111.     Cmd($CA_UseSkill,8, -1)
  112.  
  113.     sleep(random(1000,1250))
  114.  
  115.     If Not MoveTo(674.37, -1868.69) Then Return
  116.     If Not MoveTo(1466, -3003) Then Return
  117.  
  118.     Do
  119.         sleep(100)
  120.         CmdCB($CA_SkillRecharge,2)
  121.  
  122.     Until $cbVar[0] = 0
  123.  
  124.  
  125.     Cmd($CA_UseSkill,1,-2)
  126.     Cmd($CA_UseSkill,2,-2)
  127.  
  128.     sleep(random(1000,1250))
  129.  
  130.     If Not MoveTo(1427.41, -2323.66) Then Return
  131.     If Not MoveTo(1061.76, -2198.85) Then Return
  132.     If Not MoveTo(674.37, -1868.69) Then Return
  133.  
  134.     If Not MoveTo(340.08, -2385.47) Then Return
  135.     If Not MoveTo(-224.92, -2248.58) Then Return
  136.  
  137.     sleep(random(500,650))
  138.     #EndRegion Pull
  139.  
  140.     sleep(100)
  141.  
  142.     ;//Fight
  143.     #Region Fight
  144.     Cmd($CA_UseSkill,6,-2)
  145.  
  146.     sleep(random(2000,2250))
  147.  
  148.     Cmd($CA_UseSkill,7,-1)
  149.  
  150.     sleep(random(4000,4500))
  151.  
  152.     Cmd($CA_UseSkill,4,-1)
  153.  
  154.     sleep(random(4000,4250))
  155.  
  156.     Cmd($CA_UseSkill,5,-1)
  157.  
  158.     sleep(random(500,1000))
  159.  
  160.     Do
  161.         sleep(100)
  162.         CmdCB($CA_SkillRecharge,2)
  163.  
  164.     Until $cbVar[0] = 0
  165.  
  166.  
  167.     Cmd($CA_UseSkill,1,-2)
  168.     Cmd($CA_UseSkill,2,-2)
  169.  
  170.     sleep(random(1500,2000))
  171.  
  172.     Cmd($CA_UseSkill,3,-2)
  173.  
  174.     sleep(random(500,1000))
  175.  
  176.     Do
  177.         sleep(100)
  178.         CmdCB($CA_SkillRecharge,2)
  179.  
  180.     Until $cbVar[0] = 0
  181.  
  182.  
  183.     Cmd($CA_UseSkill,1,-2)
  184.     Cmd($CA_UseSkill,2,-2)
  185.  
  186.     Sleep(random(1250,1500))
  187.  
  188.     Do
  189.         sleep(100)
  190.         CmdCB($CA_SkillRecharge,7)
  191.  
  192.     Until $cbVar[0] = 0
  193.  
  194.     Cmd($CA_UseSkill,6,-2)
  195.  
  196.     sleep(random(1500,2000))
  197.  
  198.     Cmd($CA_UseSkill,7,-1)
  199.  
  200.     sleep(random(3500,4000))
  201.  
  202.  
  203.     Do
  204.         sleep(100)
  205.         CmdCB($CA_SkillRecharge,4)
  206.  
  207.     Until $cbVar[0] = 0
  208.  
  209.     Cmd($CA_UseSkill,4,-1)
  210.  
  211.     sleep(random(3500,4000))
  212.  
  213.     Do
  214.         sleep(100)
  215.         CmdCB($CA_SkillRecharge,5)
  216.  
  217.     Until $cbVar[0] = 0
  218.  
  219.     Cmd($CA_UseSkill,5,-1)
  220.  
  221.     sleep(random(500,1000))
  222.  
  223.     Do
  224.         sleep(100)
  225.         CmdCB($CA_SkillRecharge,2)
  226.  
  227.     Until $cbVar[0] = 0
  228.  
  229.  
  230.     Cmd($CA_UseSkill,1,-2)
  231.     Cmd($CA_UseSkill,2,-2)
  232.  
  233.     sleep(random(1250,1500))
  234.  
  235.     Do
  236.         sleep(100)
  237.         CmdCB($CA_SkillRecharge,5)
  238.  
  239.     Until $cbVar[0] = 0
  240.  
  241.     Cmd($CA_UseSkill,5,-1)
  242.  
  243.     sleep(random(1000,1250))
  244.  
  245.     Do
  246.         sleep(100)
  247.         CmdCB($CA_SkillRecharge,3)
  248.  
  249.     Until $cbVar[0] = 0
  250.  
  251.     Cmd($CA_UseSkill,3,-2)
  252.  
  253.     sleep(random(1000,1250))
  254.  
  255.     Do
  256.         sleep(100)
  257.         CmdCB($CA_SkillRecharge,2)
  258.  
  259.     Until $cbVar[0] = 0
  260.  
  261.  
  262.     Cmd($CA_UseSkill,1,-2)
  263.     Cmd($CA_UseSkill,2,-2)
  264.  
  265.     sleep(random(1500,2000))
  266.  
  267.  
  268.     Do
  269.         sleep(100)
  270.         CmdCB($CA_SkillRecharge,4)
  271.  
  272.     Until $cbVar[0] = 0
  273.  
  274.     Cmd($CA_UseSkill,4,-1)
  275.  
  276.     sleep(random(4000,4250))
  277.  
  278.     Cmd($CA_UseSkill,5,-1)
  279.  
  280.     sleep(random(6000,8000))
  281.  
  282.     PickupItems(-1, 1400)
  283.  
  284.     Sleep(Random(4000,5000))
  285.  
  286.     Cmd($CA_ZoneMap, $MAP_TOPK)
  287.  
  288.     WaitForLoad()
  289.  
  290.     sleep(random(1500,2000))
  291.     #EndRegion Fight
  292.  
  293.  
  294.     sleep(100)
  295.  
  296.     ;//CheckMerch&Merch
  297.     $cbType = "int"
  298.     CmdCB($CA_GetBagSize,$BAG_Bag1)
  299.     If $cbVar[1] <> 0 Then
  300.  
  301.         ;//Merch
  302.         #Region Merch
  303.         MoveTo(1730.35, -9.15)
  304.  
  305.         sleep(random(250,500))
  306.  
  307.         MoveTo(778.69, -385.15)
  308.  
  309.         sleep(random(250,500))
  310.  
  311.         MoveTo(-284.17, 227.70)
  312.  
  313.         sleep(random(1500,2000))
  314.  
  315.         GoNearestNPCToCoords(-417.31, 327.78)
  316.  
  317.         sleep(random(2000,3000))
  318.  
  319.             Cmd($CA_BuyItem,4,100)
  320.  
  321.             For $i = 1 To 20 Step 1
  322.  
  323.  
  324.                 $bIdentItem = True
  325.                     GetItemInfo($BAG_BACKPACK, $i)
  326.                     If $cbVar[0] = $RARITY_GOLD Then
  327.                         $bIdentItem = False
  328.                     EndIf
  329.  
  330.  
  331.                 If $bIdentItem Then Cmd($CA_IDENTIFYITEM, $BAG_BACKPACK, $i)
  332.  
  333.                 Sleep(500)
  334.             Next
  335.  
  336.             For $i = 1 To 5 Step 1
  337.  
  338.                 $bIdentItem = True
  339.                     GetItemInfo($BAG_BELTPOUCH, $i)
  340.                     If $cbVar[0] = $RARITY_GOLD Then
  341.                         $bIdentItem = False
  342.                     EndIf
  343.  
  344.  
  345.                 If $bIdentItem Then Cmd($CA_IDENTIFYITEM, $BAG_BELTPOUCH, $i)
  346.  
  347.                 Sleep(500)
  348.             Next
  349.  
  350.             For $i = 1 To 10 Step 1
  351.  
  352.                 $bIdentItem = True
  353.                     GetItemInfo($BAG_BAG1, $i)
  354.                     If $cbVar[0] = $RARITY_GOLD Then
  355.                         $bIdentItem = False
  356.                     EndIf
  357.  
  358.  
  359.                 If $bIdentItem Then Cmd($CA_IDENTIFYITEM, $BAG_BAG1, $i)
  360.  
  361.                 Sleep(500)
  362.             Next
  363.  
  364.             get_gitems()
  365.             sleep(250)
  366.             golds()
  367.             sleep(500)
  368.  
  369.  
  370.         For $i = 1 To 20
  371.  
  372.              $i_id=getitemid($BAG_Backpack,$i)
  373.              if $i_id[0] <> 0 then
  374.                 Cmd($CA_SELLITEMBYID,$i_id[0])
  375.                 Sleep(Random(200,220))
  376.              EndIf
  377.         Next
  378.  
  379.         For $i = 1 To 20
  380.  
  381.              $i_id=getitemid($BAG_Backpack,$i)
  382.              if $i_id[0] <> 0 then
  383.                 Cmd($CA_SELLITEMBYID,$i_id[0])
  384.                 Sleep(Random(200,220))
  385.              EndIf
  386.         Next
  387.  
  388.         For $i = 1 To 5
  389.  
  390.              $i_id=getitemid($BAG_BeltPouch,$i)
  391.              if $i_id[0] <> 0 then
  392.                 Cmd($CA_SELLITEMBYID,$i_id[0])
  393.                 Sleep(Random(200,220))
  394.              EndIf
  395.         Next
  396.  
  397.         For $i = 1 To 5
  398.  
  399.              $i_id=getitemid($BAG_BeltPouch,$i)
  400.              if $i_id[0] <> 0 then
  401.                 Cmd($CA_SELLITEMBYID,$i_id[0])
  402.                 Sleep(Random(200,220))
  403.              EndIf
  404.         Next
  405.  
  406.  
  407.         For $i = 1 To 10
  408.  
  409.              $i_id=getitemid($BAG_Bag1,$i)
  410.              if $i_id[0] <> 0 then
  411.                 Cmd($CA_SELLITEMBYID,$i_id[0])
  412.                 Sleep(Random(200,220))
  413.              EndIf
  414.         Next
  415.  
  416.         For $i = 1 To 10
  417.  
  418.              $i_id=getitemid($BAG_Bag1,$i)
  419.              if $i_id[0] <> 0 then
  420.                 Cmd($CA_SELLITEMBYID,$i_id[0])
  421.                 Sleep(Random(200,220))
  422.              EndIf
  423.         Next
  424.  
  425.         sleep(random(1000,1250))
  426.  
  427.     #EndRegion Merch
  428.     EndIf
  429.     sleep(100)
  430.  
  431. EndFunc
  432.  
  433. func chest_reg($ngitems)
  434.    if $ngitems > 0 and $ngitems < 21 Then
  435.       return 8
  436.    elseif $ngitems > 20 and $ngitems < 41 Then
  437.       return 9
  438.    elseif $ngitems > 40 and $ngitems < 61 Then
  439.       return 10
  440.    elseif $ngitems > 60 and $ngitems < 81 Then
  441.       return 11
  442.    elseif $ngitems > 80 Then
  443.       exit
  444.    endif
  445. endfunc
  446.  
  447. Func golds()
  448.  
  449.    $ocbty=$cbtype
  450.  
  451.    $cbType="hex"
  452.  
  453.  
  454.     For $slot=1 to 35 step 1
  455.       If $slot < 21 Then
  456.             $i_info=GetItemInfo(1,$slot)
  457.             If $i_info[0] = $RARITY_GOLD Then
  458.                $GItems += 1
  459.                $c_reg=chest_reg($GItems)
  460.                MoveItem(1,$slot, $c_reg, 0)
  461.                $TotalGolds += 1
  462.                Sleep(Random(150,200))
  463.             EndIf
  464.       EndIf
  465.       If $slot > 20 And $slot < 26 Then
  466.             $i_info=GetItemInfo(2,($slot-20))
  467.             If $i_info[0] = $RARITY_GOLD Then
  468.                $GItems += 1
  469.                $c_reg=chest_reg($GItems)
  470.                MoveItem(2,($slot-20), $c_reg, 0)
  471.                $TotalGolds += 1
  472.                Sleep(Random(150,200))
  473.             EndIf
  474.       EndIf
  475.       If $slot > 25 and $slot < 36 then
  476.             $i_info=GetItemInfo(3,($slot-25))
  477.             If $i_info[0] = $RARITY_GOLD Then
  478.                $GItems += 1
  479.                $c_reg=chest_reg($GItems)
  480.                MoveItem(3,($slot-25), $c_reg, 0)
  481.                $TotalGolds += 1
  482.                Sleep(Random(150,200))
  483.             EndIf
  484.       EndIf
  485.       Sleep(Random(20,30))
  486.     Next
  487.     $cbtype=$ocbty
  488.  
  489. Endfunc
  490.  
  491. Func get_gitems()
  492.  
  493.     $cbtype="int"
  494.     $GItems=0
  495.     For $reg=8 to 11 step 1
  496.       for $slot=1 to 20 step 1
  497.          $i_id=getitemid($reg,$slot)
  498.          if $i_id[0] <> 0 then $GItems+=1
  499.          Sleep(Random(20,30))
  500.       Next
  501.     Next
  502.     Return $GItems
  503.  
  504. EndFunc
  505.  
  506. Func GoNearestNPCToCoords($x, $y)
  507.  
  508.     MoveTo($x, $y)
  509.     $guy = GetNearestNPCToCoords($x, $y)
  510.     $cbType = "float"
  511.     Do
  512.         RndSleep(250)
  513.         Cmd($CA_GoNPC, $guy)
  514.         RndSleep(250)
  515.         $a = CmdCB($CA_GetCoords, $guy)
  516.         CmdCB($CA_GetCoords, -2)
  517.     Until ComputeDistanceEx($cbVar[0], $cbVar[1], $a[0], $a[1]) < 250
  518.     RndSleep(500)
  519.  
  520. EndFunc
  521.  
  522. Func WaitForLoad()
  523.     Cmd($CA_InitMapLoad)
  524.     $cbType = "int"
  525.     $dTimer = TimerInit()
  526.     RndSleep(250)
  527.     Do
  528.         RndSleep(250)
  529.         CmdCB($CA_MapIsLoaded)
  530.     Until $cbVar[0] = True Or TimerDiff($dTimer) > 10000
  531.     RndSleep(1000)
  532. EndFunc
  533.  
  534. Func MoveTo($x, $y, $random = 50)
  535.  
  536.     Local $iBlocked = 0
  537.  
  538.     $cbType = "int"
  539.     CmdCB($CA_GETMAPLOADING)
  540.     $loadstate = $cbVar[0]
  541.  
  542.     MoveEx($x, $y, $random)
  543.  
  544.     $cbType = "float"
  545.     CmdCB($CA_GETCOORDS, -2)
  546.  
  547.     $notstucked = True
  548.  
  549.  
  550.     Do
  551.         Sleep(1500)
  552.         $oldCoords = $cbVar
  553.         $cbType = "int"
  554.         CmdCB($CA_GETDEAD)
  555.         If $cbVar[0] = 1 Then
  556.             $notstucked = False
  557.             ExitLoop
  558.         EndIf
  559.         $Oldloadstate = $loadstate
  560.         CmdCB($CA_GETMAPLOADING)
  561.         $loadstate = $cbVar[0]
  562.         $cbType = "float"
  563.         CmdCB($CA_GETCOORDS, -2)
  564.         If $oldCoords[0] = $cbVar[0] AND $oldCoords[1] = $cbVar[1] Then
  565.             $iBlocked += 1
  566.  
  567.             If $iBlocked > 4 Then
  568.                 $notstucked = False
  569.                 ExitLoop
  570.             EndIf
  571.  
  572.         EndIf
  573.     Until ComputeDistance($cbVar[0], $cbVar[1], $x, $y) < 250 Or $loadstate <> $Oldloadstate
  574.  
  575.     If Not $notstucked Then
  576.         Cmd($CA_ZoneMap, $MAP_TOPK)
  577.         WaitForLoad()
  578.     EndIf
  579.  
  580.     Return $notstucked
  581.  
  582. EndFunc
  583.  
  584.  
  585. Func ComputeDistance($x1, $y1, $x2, $y2)
  586.     Return Sqrt(($y2 - $y1)^2 + ($x2 - $x1)^2)
  587. EndFunc
  588.  
  589. Func RndSleep($x)
  590.     Sleep(Random($x * 0.95, $x * 1.05))
  591. EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement