Je tiens à vous faire partager un très bon script AutoIT que j'ai trouvé sur le forum anglais Blizzhackers.
Tout les crédits vont à fmflex: http://www.blizzhack...?f=236&t=490372
Il propose également une version du script spécial "donateurs" (que je vous conseille) mais je ne m'attarderais pas sur celle ci
Fonctionnalités implémentés:
- Réparation
- Collecte des gemmes
- Vide l'inventaire
- Utilise 2 marchands au hasard
- Fais une pause d'environ 5min au hasard
- Des clicks randoms
- Des pauses random
- Ne loot pas les rares (car ceux de l'acte 1 sont nazes -> à voir à cause de la maj?)
Il ne vendra pas le contenu de ces cases:

Stuff requis:
Il vous faudra au moins un item +7m de ramassage (pickup radius) et 200% de GF pour faire fonctionner le bot de manière optimale.
Code à mettre dans le fichier D3Pref:
DisplayModeFlags "0" DisplayModeWindowMode "1" DisplayModeWinLeft "208" DisplayModeWinTop "135" DisplayModeWinWidth "808" DisplayModeWinHeight "627" DisplayModeUIOptWidth "800" DisplayModeUIOptHeight "600" DisplayModeWidth "800" DisplayModeHeight "600" DisplayModeRefreshRate "75" DisplayModeBitDepth "32" Gamma "1.000000" MipOffset "1" ShadowQuality "0" PhysicsQuality "0" ClutterQuality "0" Vsync "0" Letterbox "0" Antialiasing "0" LowFX "1"
Il faut bind le bouton MOUSE3 sur déplacement !
Spells/runes:

- Teleport sur la touche Z
- SHIELD sur A
- ENERGY ARMOR sur E
- Portail sur T
Mise en place:
Lancez la quête Legacy of Cain (2nd de l'acte I) à la phase explore the cellar (2nd phase) allez jusqu'au checkpoint à gauche et déconnectez vous puis lancez le bot sur la page de reprise de la partie.
Code du fichier autoit:
Spoiler
Opt('MouseCoordMode', 0)
Opt('PixelCoordMode', 0)
Opt('SendKeyDelay', 50); Default speed
HotKeySet('{END}', 'Quit')
HotKeySet('{F10}', 'Pause')
Global $Paused
Global $DebugOn = True
$Amethyst = 0xA56DF1
$Ruby = 0xFA8078
$Emerald = 0x51965B
$Topaz = 0xFFFF59
$Left = 64
$Top = 42
$Right = 720
$Bottom = 519
$Color = 0xFFFF00 ;rare color code
$Color2 = 0x6969FF ;blue color code
$Color3 = 0xBF642F ;legendary color code
$Color4 = 0x00FF00 ;SET color
;bot starts paused. press f10 to start.
Pause()
WinActivate('Diablo III')
While 1
If WinActive('Diablo III') Then
;start
Send("{Space}") ; get rid of any pesky banner
Send("{Space}") ; get rid of any pesky banner
checkResume()
Sleep(Random(500,900))
Click(134, 255) ;resume
checkInGame()
Sleep(Random(500,2000)) ;load
openSpell()
$repair = PixelSearch(569,39,597,84,0xFFF000) ;searches top right screen for yellow of broken armor
If((Not @error ) Or (CheckInv() == 1)) Then
InvRepair()
Else
Send('e')
Sleep(40)
Teleport()
Sleep(40)
Send('a')
Sleep(40)
$yellow = PixelSearch(643, 109, 698, 163, 0xF5CD37, 10)
If Not @error Then
Move(66,435)
Move(134, 249)
Sleep(Random(1000,1200))
$blue = PixelSearch(430, 132, 602, 267, 0x5D80DB, 10)
If Not @error Then
DEBUG("Cave FOUNDED")
MouseClick("left", $blue[0], $blue[1])
Sleep(2000)
EndIf
Sleep(500)
Move(126, 494)
openSpell()
Move(219, 282) ;in pos
Click(349, 595) ;choose hydra
Click(220, 174) ;cast hydra
MouseClickDrag ( "right", Random(85,89), Random(169,173) , Random(258,262), Random(104,108), Random(9,12))
MouseClickDrag ( "right", Random(85,89), Random(169,173) , Random(258,262), Random(104,108), Random(9,12))
Shoot(161, 128)
Sleep(500)
Move(223, 113)
Sleep(500)
Move(291, 565)
Sleep(500)
Move(305, 227)
Sleep(500)
FindItem()
$death = PixelSearch(285, 491, 308, 508, 0x2C0100,2)
If @error Then
$repair = PixelSearch(569,39,597,84,0xFFF000) ;searches top right screen for yellow of broken armor
If((Not @error ) Or (CheckInv() == 1)) Then
InvRepair()
Else
Sleep(500)
Send("t")
Sleep(Random(8000,8500))
Send("{ESCAPE}") ;opens menu
Sleep(Random(1000,1200))
Click(407, 345) ;leave
Sleep(Random(2000,2200))
EndIf
Else
DEBUG("DEAD")
Sleep(Random(500,600))
Send("{ESCAPE}") ;opens menu
Sleep(Random(1000,1200))
Click(407, 345) ;leave
Sleep(Random(12000,13000))
EndIf
Else
$repair = PixelSearch(569,39,597,84,0xFFF000) ;searches top right screen for yellow of broken armor
If((Not @error ) Or (CheckInv() == 1)) Then
InvRepair()
Else
Move(338, 160)
Sleep(Random(500,600))
Send("{ESCAPE}") ;opens menu
Sleep(Random(1000,1200))
Click(407, 345) ;leave
Sleep(Random(12000,13000))
EndIf
EndIf
EndIf
EndIf
WEnd
Func Move($x, $y)
MouseClick('middle', Random($x - 3, $x + 3), Random($y - 3, $y + 3), 1, Random(0, 1))
Sleep(Random(1500,1800))
EndFunc ;==>Move
Func checkResume()
Local $check = 0
If Random(1,50,1) ==20 Then
DEBUG("REST +-5min")
Sleep(Random (250000,350000))
EndIf
While $check == 0
$resume = PixelSearch(63, 255, 83, 269, 0x2C0100,10)
If Not @error Then
$check = 1
DEBUG("RESUME")
Else
Sleep(100)
EndIf
WEnd
EndFunc
Func checkInGame()
Local $check = 0
While $check == 0
$inGame = PixelSearch(488, 591, 502, 610, 0x192864,10)
If Not @error Then
$check = 1
DEBUG("InGame")
Else
Sleep(100)
EndIf
WEnd
EndFunc
Func Shoot($x, $y)
MouseClick('right', $x, $y, Random(280,340))
Sleep(Random(100, 200))
EndFunc ;==>Shoot
Func Teleport()
MouseMove(59, 199)
_Send('z', Random(2000,2200))
Sleep(Random(100, 200))
EndFunc ;==>Teleport
Func Click($x, $y)
MouseClick('left', Random($x - 5, $x + 5), Random($y - 3, $y + 3), 1, Random(0, 1))
Sleep(Random(100, 200))
EndFunc ;==>Click
Func FindItem()
$work = 1
$checkCount = 0
While $work == 1 And $checkCount <10
DEBUG("Search Item")
$work = 0
;~ $SearchResult = PixelSearch(382, 131, $Right, $Bottom, $Color) ;searches for rares
;~ If Not @error Then
;~ MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
;~ Sleep(2500)
;~ $work = 1
;~ $checkCount = $checkCount +1
;~ EndIf
$SearchResult = PixelSearch($Left, $Top, $Right, $Bottom, $Color2 ) ;searches for magics
If Not @error Then
MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;clicks magic
Sleep(Random(2400,2600))
$work = 1
$checkCount = $checkCount +1
EndIf
;~ $SearchResult = PixelSearch(382, 131, $Right, $Bottom, $Color3 ) ;searches for legendarys
;~ If Not @error Then
;~ MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;clicks legendary
;~ Sleep(2500)
;~ $work = 1
;~ $checkCount = $checkCount +1
;~ EndIf
$SearchResult = PixelSearch($Left, $Top, $Right, $Bottom, $Color4) ;searches for SETS
If Not @error Then
MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
Sleep(2500)
$work = 1
$checkCount = $checkCount +1
EndIf
; search for gems
$SearchResult = PixelSearch($Left, $Top, $Right, $Bottom, $Amethyst,9) ;searches for gems
If Not @error Then
MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
Sleep(Random(2400,2600))
$work = 1
$checkCount = $checkCount +1
EndIf
$SearchResult = PixelSearch($Left, $Top, $Right, $Bottom, $Ruby,6) ;searches for gems
If Not @error Then
MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
Sleep(Random(2400,2600))
$work = 1
$checkCount = $checkCount +1
EndIf
$SearchResult = PixelSearch(382, 131, $Right, $Bottom, $Topaz,4) ;searches for gems
If Not @error Then
MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
Sleep(Random(2400,2600))
$work = 1
$checkCount = $checkCount +1
EndIf
$SearchResult = PixelSearch($Left, $Top, $Right, $Bottom, $Emerald,9) ;searches for gems
If Not @error Then
MouseClick("left", $SearchResult[0], $SearchResult[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
Sleep(2500)
$work = 1
$checkCount = $checkCount +1
EndIf
WEnd
DEBUG("Finish Item Searching")
EndFunc
Func CheckInv()
If Random(1,5,1)==1 Then
Send("{i}") ;opens inv
Sleep(Random(200,220))
$full = PixelSearch(780, 474, 782, 476, 0x130C08,5)
If @error Then
DEBUG("FULL")
Send("{i}") ;close inv
Return 1
EndIf
$full = PixelSearch(754, 474, 756, 476, 0x130C08,5)
If @error Then
DEBUG("FULL")
Send("{i}") ;close inv
Return 1
EndIf
$full = PixelSearch(761, 466, 762, 468, 0x130C08,5)
If @error Then
DEBUG("FULL")
Send("{i}") ;close inv
Return 1
EndIf
Send("{i}") ;close inv
Return 0
Else
Return 0
EndIf
EndFunc
Func InvRepair()
DEBUG("Going to repair")
$slot1x = 538
$slot1y = 367
$offset = 27
Send("t")
Sleep(Random(8000,8200))
If Random(1,2,1) == 1 Then ;2 merchants
MouseClick("left", 700, 147) ;begin movement towards merchant
Sleep(Random(2400,2600))
MouseClick("left", 531, 51) ;moves to get merchant in screen
Sleep(Random(3000,3200))
For $i = 0 To 9
For $j = 0 To 3
MouseClick("right", $slot1x + ($i * $offset), $slot1y + ($j * $offset),1,3)
Sleep(40)
Next
Next
For $i = 5 To 9
For $j = 4 To 5
MouseClick("right", $slot1x + ($i * $offset), $slot1y + ($j * $offset),1,3)
Sleep(40)
Next
Next
Click(294, 296) ;button to open up repair menu
Else
MouseClick("left", 39, 389) ;begin movement towards merchant
Sleep(Random(2400,2600))
MouseClick("left", 31, 108) ;moves to get merchant in screen
Sleep(Random(3000,3200))
For $i = 0 To 9
For $j = 0 To 3
MouseClick("right", $slot1x + ($i * $offset), $slot1y + ($j * $offset),1,3)
Sleep(40)
Next
Next
For $i = 5 To 9
For $j = 4 To 5
MouseClick("right", $slot1x + ($i * $offset), $slot1y + ($j * $offset),1,3)
Sleep(40)
Next
Next
Click(293, 370) ;button to open up repair menu
EndIf
Sleep(Random(1500,1600))
MouseClick("left", 186, 326) ;button to pay for repairs
Sleep(Random(1500,1600))
$inBag = PixelSearch(780, 474, 782, 476, 0x130C08,5)
If @error Then
DEBUG("Not at shop")
Sleep(500)
Send("{ESCAPE}") ;opens menu
Sleep(Random(1000,1200))
Click(407, 345) ;leave
Sleep(Random(12000,13000))
Else
Send("{ESCAPE}") ;opens menu
Sleep(Random(1000,1200))
Send("{ESCAPE}") ;opens menu
Sleep(Random(1000,1200))
Click(407, 345) ;leave
Sleep(Random(2000,2200))
EndIf
EndFunc
Func Pause()
$Paused = Not $Paused
While $Paused
Sleep(100)
ToolTip('Paused...', 0, 0)
WEnd
ToolTip("")
EndFunc ;==>Pause
Func openSpell() ; RANDOM STUFF
If Random(1,12,1) == 1 Then
send('s')
Sleep(Random(2000,3000))
send('s')
EndIf
EndFunc
Func _Send($text, $milliseconds)
$time = TimerInit()
Do
Send($text)
Until TimerDiff($time) > $milliseconds
EndFunc
Func Quit()
Exit
EndFunc ;==>Quit
Func DEBUG($MESSAGE)
If $DebugOn Then
ToolTip($MESSAGE, 0, 0)
EndIf
EndFunc ;==>Debug Info
Amusez vous bien !


Ce sujet est fermé



