Advertisement
Guest User

Untitled

a guest
Mar 4th, 2013
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 4.30 KB | None | 0 0
  1. ; ----------------------------------------------------------------------------
  2. ;
  3. ; AutoIt Version: 3.1.0
  4. ;
  5. ; Script Function:
  6. ;   EVE Mining
  7. ;
  8. ; ----------------------------------------------------------------------------
  9.  
  10. ; Function to exit script
  11. Func EndScript()
  12.   $exit = MsgBox(4, "Macro Miner", "End Macro Miner?")
  13.   If $exit = 6 Then
  14.     Exit
  15.   EndIf
  16. EndFunc
  17.  
  18. ; Prompt the user to run the script using Yes/No prompt
  19. $run = MsgBox(4, "Macro Miner", "Do you want to run Macro Miner?")
  20.  
  21. ; Exit if "No"
  22. If $run = 7 Then
  23.     Exit
  24. EndIf
  25.  
  26. ; Initialization
  27.  
  28. HotKeySet("{PAUSE}", "EndScript")
  29. $evewins = WinList("EVE")
  30. $miner = 0
  31. $hauler = 0
  32. For $i = 1 To $evewins[0][0]
  33.   WinActivate($evewins[$i][1])
  34.   If $miner = 0 Then
  35.     If MsgBox(4, "Macro Miner", "Is this the miner?") = 6 Then
  36.       $miner = $evewins[$i][1]
  37.       WinMove($miner, "", 0, 0)
  38.       ContinueLoop
  39.     EndIf
  40.   EndIf
  41.   If $hauler = 0 Then
  42.     If MsgBox(4, "Macro Miner", "Is this the hauler?") = 6 Then
  43.       $hauler = $evewins[$i][1]
  44.       WinMove($hauler, "", 0, 0)
  45.       ContinueLoop
  46.     EndIf
  47.   EndIf
  48. Next
  49. If $miner = 0 OR $hauler = 0 Then
  50.   MsgBox(0, "Macro Miner", "I give up.")
  51.   Exit
  52. EndIf
  53.  
  54. ; Start Script
  55.  
  56. ; TO DO: refactor this with actions in loop
  57. WinActivate($miner)
  58. MouseClick("left", 657, 75) ; check for target. TODO: expand to larger range?
  59. PixelSearch(884, 149, 900, 165, 0xFF0000)
  60. If @Error Then ; no target
  61.   $target = 0
  62.   MouseClick("left", 855, 219) ; select closest asteroid
  63.   MouseClick("left", 770, 157) ; approach asteroid
  64.   MouseClick("left", 901, 157) ; target asteroid
  65.   Sleep(7000) ; wait to target
  66. EndIf
  67. $target = 1
  68. MouseClick("left", 606, 673) ; activate lasers
  69. MouseClick("left", 648, 673)
  70. MouseClick("left", 689, 673)
  71. $laserstart = TimerInit()
  72.  
  73. While 1
  74.   ; wait for lasers to finish cycle
  75.   While TimerDiff($laserstart) < 185000
  76.     Sleep(1000)
  77.   WEnd
  78.   $laserstart = TimerInit() ; assume lasers repeat
  79.  
  80.   WinActivate($miner)
  81.   MouseClick("left", 410, 391) ; jettison ore
  82.   Sleep(1000)
  83.   Send("^a")
  84.   MouseClick("right", 455, 495)
  85.   MouseClick("left", 530, 507)
  86.   MouseClick("right", 455, 470)
  87.   MouseClick("left", 496, 544)
  88.   Sleep(1000)
  89.  
  90.   WinActivate($hauler)
  91.   MouseClick("right", 818, 569) ; warp to miner
  92.   MouseClick("left", 880, 627)
  93.   Sleep(1000)
  94.  
  95.   WinActivate($miner)
  96.   MouseClick("left", 657, 75) ; check for target
  97.   PixelSearch(884, 149, 900, 165, 0xFF0000)
  98.   If @Error Then ; no target
  99.     $target = 0
  100.     MouseClick("left", 606, 673) ; clear repeating lasers
  101.     MouseClick("left", 648, 673)
  102.     MouseClick("left", 689, 673)
  103.     MouseClick("right", 718, 674)
  104.     MouseClick("left", 718, 674)
  105.     Sleep(1000)
  106.     MouseClick("left", 855, 219) ; select closest asteroid
  107.     MouseClick("left", 770, 157) ; approach asteroid
  108.     Sleep(1000)
  109.   EndIf
  110.  
  111.   Sleep(37000) ; wait to finish warp. TODO: verify that a can exists
  112.   WinActivate($hauler)
  113.   MouseClick("left", 860, 217) ; select closest can
  114.   Sleep(1000)
  115.   MouseClick("left", 770, 157) ; approach can
  116.   Sleep(16000) ; wait for hauler to close range
  117.  
  118.   If $target = 0 Then
  119.     WinActivate($miner)
  120.     ; TODO: verify "Lock Target" tooltip is small
  121.     Sleep(1000)
  122.     MouseClick("left", 901, 157) ; target asteroid
  123.     Sleep(5000) ; wait to target
  124.     ; TODO: verify lasers are in range
  125.     $target = 1
  126.     MouseClick("left", 606, 673) ; activate lasers
  127.     MouseClick("left", 648, 673)
  128.     MouseClick("left", 689, 673)
  129.     $laserstart = TimerInit()
  130.     sleep(1000)
  131.   EndIf
  132.  
  133.   WinActivate($hauler)
  134.   MouseClick("left", 860, 217) ; select closest can
  135.   ; TODO: verify "Open Cargo" tooltip is small
  136.   MouseClick("left", 834, 156) ; open can
  137.   Sleep(1000)
  138.   MouseClick("left", 226, 426) ; pick up all loot
  139.   Sleep(1000)
  140.   Send("^a")
  141.   MouseClickDrag("left", 221, 494, 490, 429)
  142.   ; TODO: open all white cans in range
  143.   Sleep(1000)
  144.   MouseClick("right", 123, 75) ; dock at station
  145.   Sleep(1000)
  146.   MouseClick("left", 161, 136)
  147.   Sleep(70000) ; wait to dock
  148.  
  149.   WinActivate($hauler) ; TODO: verify docking
  150.   MouseClick("left", 488, 429) ; drop all loot
  151.   Sleep(1000)
  152.   Send("^a")
  153.   MouseClickDrag("left", 518, 509, 484, 610)
  154.   MouseClick("left", 22, 768) ; undock
  155.  
  156.   ;Sleep(27000) ; wait to undock
  157.   ;WinActivate($hauler)
  158.   ;MouseClick("left", 560, 740); fly forward
  159.   ;Sleep(1000)
  160. WEnd
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement