Advertisement
Guest User

wizard dank cellar - fmflex

a guest
Jun 20th, 2012
370
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 10.74 KB | None | 0 0
  1. Opt('MouseCoordMode', 0)
  2. Opt('PixelCoordMode', 0)
  3. Opt('SendKeyDelay', 50); Default speed
  4. HotKeySet('{END}', 'Quit')
  5. HotKeySet('{F10}', 'Pause')
  6. Global $Paused
  7. Global $DebugOn = True
  8.  
  9. $Amethyst = 0xA56DF1
  10. $Ruby = 0xFA8078
  11. $Emerald = 0x51965B
  12. $Topaz = 0xFFFF59
  13. $Left = 64
  14. $Top = 42
  15. $Right = 720
  16. $Bottom = 519
  17. $Color = 0xFFFF00 ;rare color code
  18. $Color2 = 0x6969FF ;blue color code
  19. $Color3 = 0xBF642F ;legendary color code
  20. $Color4 = 0x00FF00 ;SET color
  21.  
  22. ;bot starts paused. press f10 to start.
  23. Pause()
  24.  
  25. WinActivate('Diablo III')
  26. While 1
  27.    If WinActive('Diablo III') Then
  28.       ;start
  29.      Send("{Space}") ; get rid of any pesky banner
  30.       Send("{Space}") ; get rid of any pesky banner
  31.      checkResume()
  32.       Sleep(Random(500,900))
  33.       Click(134, 255) ;resume
  34.      checkInGame()
  35.       Sleep(Random(500,2000)) ;load
  36.      openSpell()
  37.      $repair = PixelSearch(569,39,597,84,0xFFF000) ;searches top right screen for yellow of broken armor
  38.       If((Not @error ) Or (CheckInv() == 1)) Then
  39.          InvRepair()
  40.       Else
  41.        Send('e')
  42.        Sleep(40)
  43.        Teleport()
  44.        Sleep(40)
  45.        Send('a')
  46.        Sleep(40)
  47.        $yellow = PixelSearch(643, 109, 698, 163, 0xF5CD37, 10)
  48.        If Not @error Then
  49.          Move(66,435)
  50.          Move(134, 249)
  51.          Sleep(Random(1000,1200))
  52.          $blue = PixelSearch(430, 132, 602, 267, 0x5D80DB, 10)
  53.          If Not @error Then
  54.             DEBUG("Cave FOUNDED")
  55.             MouseClick("left", $blue[0], $blue[1])
  56.             Sleep(2000)
  57.          EndIf
  58.          Sleep(500)
  59.          Move(126, 494)
  60.          openSpell()
  61.          Move(219, 282) ;in pos
  62.          Click(349, 595) ;choose hydra
  63.          Click(220, 174) ;cast hydra
  64.          MouseClickDrag ( "right", Random(85,89), Random(169,173) , Random(258,262), Random(104,108), Random(9,12))
  65.          MouseClickDrag ( "right", Random(85,89), Random(169,173) , Random(258,262), Random(104,108), Random(9,12))
  66.          Shoot(161, 128)
  67.          Sleep(500)
  68.          Move(223, 113)
  69.          Sleep(500)
  70.          Move(291, 565)
  71.          Sleep(500)
  72.          Move(305, 227)
  73.          Sleep(500)
  74.          FindItem()
  75.          $death = PixelSearch(285, 491, 308, 508, 0x2C0100,2)
  76.          If @error Then
  77.             $repair = PixelSearch(569,39,597,84,0xFFF000) ;searches top right screen for yellow of broken armor
  78.             If((Not @error ) Or (CheckInv() == 1)) Then
  79.               InvRepair()
  80.             Else
  81.               Sleep(500)
  82.               Send("t")
  83.               Sleep(Random(8000,8500))
  84.               Send("{ESCAPE}") ;opens menu
  85.               Sleep(Random(1000,1200))
  86.               Click(407, 345) ;leave
  87.               Sleep(Random(2000,2200))
  88.             EndIf
  89.          Else
  90.             DEBUG("DEAD")
  91.             Sleep(Random(500,600))
  92.             Send("{ESCAPE}") ;opens menu
  93.             Sleep(Random(1000,1200))
  94.             Click(407, 345) ;leave
  95.             Sleep(Random(12000,13000))
  96.          EndIf
  97.        Else
  98.          $repair = PixelSearch(569,39,597,84,0xFFF000) ;searches top right screen for yellow of broken armor
  99.          If((Not @error ) Or (CheckInv() == 1)) Then
  100.               InvRepair()
  101.          Else
  102.             Move(338, 160)
  103.             Sleep(Random(500,600))
  104.             Send("{ESCAPE}") ;opens menu
  105.             Sleep(Random(1000,1200))
  106.             Click(407, 345) ;leave
  107.             Sleep(Random(12000,13000))
  108.          EndIf
  109.        EndIf
  110.      EndIf
  111.    EndIf
  112. WEnd
  113.  
  114. Func Move($x, $y)
  115.    
  116.    MouseClick('middle', Random($x - 3, $x + 3), Random($y - 3, $y + 3), 1, Random(0, 1))
  117.    Sleep(Random(1500,1800))
  118.  
  119. EndFunc   ;==>Move
  120.  
  121. Func checkResume()
  122.    Local $check = 0
  123.    If Random(1,50,1) ==20 Then
  124.      DEBUG("REST +-5min")
  125.      Sleep(Random (250000,350000))
  126.    EndIf
  127.    While $check == 0
  128.    $resume = PixelSearch(63, 255, 83, 269, 0x2C0100,10)
  129.      If Not @error Then
  130.        $check = 1
  131.        DEBUG("RESUME")
  132.      Else
  133.        Sleep(100)        
  134.      EndIf
  135.    WEnd
  136. EndFunc
  137. Func checkInGame()
  138.    Local $check = 0
  139.    While $check == 0
  140.    $inGame = PixelSearch(488, 591, 502, 610, 0x192864,10)
  141.      If Not @error Then
  142.        $check = 1
  143.        DEBUG("InGame")
  144.      Else
  145.        Sleep(100)        
  146.      EndIf
  147.    WEnd
  148. EndFunc
  149.  
  150. Func Shoot($x, $y)
  151.    MouseClick('right', $x, $y, Random(280,340))
  152.    Sleep(Random(100, 200))
  153. EndFunc   ;==>Shoot
  154.  
  155. Func Teleport()
  156.    MouseMove(59, 199)
  157.    _Send('z', Random(2000,2200))
  158.    Sleep(Random(100, 200))
  159. EndFunc   ;==>Teleport
  160.  
  161. Func Click($x, $y)
  162.    MouseClick('left', Random($x - 5, $x + 5), Random($y - 3, $y + 3), 1, Random(0, 1))
  163.    Sleep(Random(100, 200))
  164. EndFunc   ;==>Click
  165.  
  166. Func FindItem()
  167.    $work = 1
  168.    $checkCount = 0
  169.    
  170.    While $work == 1 And $checkCount <10
  171.      DEBUG("Search Item")
  172.      $work = 0
  173. ;~      $SearchResult = PixelSearch(382, 131, $Right, $Bottom, $Color) ;searches for rares
  174. ;~      If Not @error Then
  175. ;~        MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
  176. ;~        Sleep(2500)
  177. ;~        $work = 1
  178. ;~        $checkCount = $checkCount +1
  179. ;~      EndIf
  180.      $SearchResult = PixelSearch($Left, $Top, $Right, $Bottom, $Color2 ) ;searches for magics
  181.      If Not @error Then
  182.        MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;clicks magic
  183.        Sleep(Random(2400,2600))
  184.        $work = 1
  185.        $checkCount = $checkCount +1
  186.      EndIf
  187.  
  188. ;~      $SearchResult = PixelSearch(382, 131, $Right, $Bottom, $Color3 ) ;searches for legendarys
  189. ;~      If Not @error Then
  190. ;~        MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;clicks legendary
  191. ;~        Sleep(2500)
  192. ;~        $work = 1
  193. ;~        $checkCount = $checkCount +1
  194. ;~      EndIf
  195.      $SearchResult = PixelSearch($Left, $Top, $Right, $Bottom, $Color4) ;searches for SETS
  196.      If Not @error Then
  197.        MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
  198.        Sleep(2500)
  199.        $work = 1
  200.        $checkCount = $checkCount +1
  201.      EndIf
  202.      
  203.      ; search for gems
  204.  
  205.      $SearchResult = PixelSearch($Left, $Top, $Right, $Bottom, $Amethyst,9) ;searches for gems
  206.      If Not @error Then
  207.        MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
  208.        Sleep(Random(2400,2600))
  209.        $work = 1
  210.        $checkCount = $checkCount +1
  211.      EndIf
  212.      $SearchResult = PixelSearch($Left, $Top, $Right, $Bottom, $Ruby,6) ;searches for gems
  213.      If Not @error Then
  214.        MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
  215.        Sleep(Random(2400,2600))
  216.        $work = 1
  217.        $checkCount = $checkCount +1
  218.      EndIf
  219.      $SearchResult = PixelSearch(382, 131, $Right, $Bottom, $Topaz,4) ;searches for gems
  220.      If Not @error Then
  221.        MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
  222.        Sleep(Random(2400,2600))
  223.        $work = 1
  224.        $checkCount = $checkCount +1
  225.      EndIf
  226.      $SearchResult = PixelSearch($Left, $Top, $Right, $Bottom, $Emerald,9) ;searches for gems
  227.      If Not @error Then
  228.        MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
  229.        Sleep(2500)
  230.        $work = 1
  231.        $checkCount = $checkCount +1
  232.      EndIf
  233.    WEnd  
  234.    DEBUG("Finish Item Searching")
  235. EndFunc
  236.  
  237. Func CheckInv()
  238.    
  239.    If Random(1,5,1)==1 Then
  240.      Send("{i}") ;opens inv
  241.      Sleep(Random(200,220))
  242.      $full = PixelSearch(780, 474, 782, 476, 0x130C08,5)
  243.      If @error Then
  244.        DEBUG("FULL")
  245.        Send("{i}") ;close inv
  246.        Return 1
  247.      EndIf
  248.      $full = PixelSearch(754, 474, 756, 476, 0x130C08,5)
  249.      If @error Then
  250.        DEBUG("FULL")
  251.        Send("{i}") ;close inv
  252.        Return 1
  253.      EndIf
  254.      $full = PixelSearch(761, 466, 762, 468, 0x130C08,5)
  255.      If @error Then
  256.        DEBUG("FULL")
  257.        Send("{i}") ;close inv
  258.        Return 1
  259.      EndIf
  260.      Send("{i}") ;close inv
  261.      Return 0
  262.    Else
  263.      Return 0
  264.    EndIf
  265. EndFunc
  266.  
  267. Func InvRepair()
  268.      DEBUG("Going to repair")
  269.        $slot1x = 538
  270.        $slot1y = 367
  271.        $offset = 27
  272.          Send("t")
  273.          Sleep(Random(8000,8200))
  274.        If Random(1,2,1) == 1 Then ;2 merchants
  275.          MouseClick("left", 700, 147) ;begin movement towards merchant
  276.          Sleep(Random(2400,2600))
  277.          MouseClick("left", 531, 51) ;moves to get merchant in screen
  278.          Sleep(Random(3000,3200))
  279.          For $i = 0 To 9
  280.          For $j = 0 To 3
  281.             MouseClick("right", $slot1x + ($i * $offset), $slot1y + ($j * $offset),1,3)
  282.             Sleep(40)
  283.          Next
  284.        Next
  285.        For $i = 5 To 9
  286.          For $j = 4 To 5
  287.             MouseClick("right", $slot1x + ($i * $offset), $slot1y + ($j * $offset),1,3)
  288.             Sleep(40)
  289.          Next
  290.        Next            
  291.          Click(294, 296) ;button to open up repair menu
  292.        Else
  293.          MouseClick("left", 39, 389) ;begin movement towards merchant
  294.          Sleep(Random(2400,2600))
  295.          MouseClick("left", 31, 108) ;moves to get merchant in screen
  296.          Sleep(Random(3000,3200))
  297.          For $i = 0 To 9
  298.          For $j = 0 To 3
  299.             MouseClick("right", $slot1x + ($i * $offset), $slot1y + ($j * $offset),1,3)
  300.             Sleep(40)
  301.          Next
  302.        Next
  303.        For $i = 5 To 9
  304.          For $j = 4 To 5
  305.             MouseClick("right", $slot1x + ($i * $offset), $slot1y + ($j * $offset),1,3)
  306.             Sleep(40)
  307.          Next
  308.        Next            
  309.          Click(293, 370) ;button to open up repair menu
  310.        EndIf
  311.          
  312.        
  313.          Sleep(Random(1500,1600))
  314.          MouseClick("left", 186, 326) ;button to pay for repairs
  315.          Sleep(Random(1500,1600))
  316.        $inBag = PixelSearch(780, 474, 782, 476, 0x130C08,5)
  317.        If @error Then
  318.          DEBUG("Not at shop")
  319.          Sleep(500)
  320.          Send("{ESCAPE}") ;opens menu
  321.          Sleep(Random(1000,1200))
  322.          Click(407, 345) ;leave
  323.          Sleep(Random(12000,13000))
  324.        Else
  325.          Send("{ESCAPE}") ;opens menu
  326.          Sleep(Random(1000,1200))
  327.          Send("{ESCAPE}") ;opens menu
  328.          Sleep(Random(1000,1200))
  329.          Click(407, 345) ;leave
  330.          Sleep(Random(2000,2200))
  331.        EndIf
  332. EndFunc
  333.  
  334. Func Pause()
  335.    $Paused = Not $Paused
  336.    While $Paused
  337.       Sleep(100)
  338.       ToolTip('Paused...', 0, 0)
  339.    WEnd
  340.    ToolTip("")
  341. EndFunc   ;==>Pause
  342.  
  343. Func openSpell() ; RANDOM STUFF
  344.    If Random(1,12,1) == 1 Then
  345.    send('s')
  346.    Sleep(Random(2000,3000))
  347.    send('s')
  348.    EndIf
  349. EndFunc
  350.  
  351. Func _Send($text, $milliseconds)
  352.     $time = TimerInit()
  353.     Do
  354.         Send($text)
  355.     Until TimerDiff($time) > $milliseconds
  356. EndFunc
  357.  
  358. Func Quit()
  359.    Exit
  360. EndFunc   ;==>Quit
  361.  
  362. Func DEBUG($MESSAGE)
  363.    If $DebugOn Then
  364.       ToolTip($MESSAGE, 0, 0)
  365.    EndIf
  366. EndFunc      ;==>Debug Info
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement