Je sais que certain pense que c'est idiot de mettre la blinde de random dans un bot, mais ce bot est là pour répondre à une demande de joueurs souhaitant ces fonctionnalités car n'ayant pas envie de bot 24/24.
Configuration:
Screen 800*600 en mode fenêtré.
Diablo III version EN
En ce qui concerne les skills:

- Teleport sur la touche Z
- SHIELD sur A
- ENERGY ARMOR sur E
- Portail sur T
Il faut bind le bouton MOUSE3 sur déplacement !
Pour la configuration du D3Prefs.txt il faut copier ces lignes ci-dessous.
DisplayModeFlags "0" DisplayModeWindowMode "1" DisplayModeWinLeft "208" DisplayModeWinTop "135" DisplayModeWinWidth "816" DisplayModeWinHeight "638" 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"
Copier le code en dessous des premières lignes d'un script autoit.
Spoiler
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.8.1
Author: R0M0$
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
Opt('MouseCoordMode', 0)
Opt('PixelCoordMode', 0)
Opt('SendKeyDelay', 50); Default speed
HotKeySet('{END}', 'Quit')
HotKeySet('{F10}', 'Pause')
Global $Paused
Global $DebugOn = True
$Color = 0xFFFF00 ;rare color code
$Color2 = 0x6969FF ;blue color code
$Color3 = 0xBF642F ;legendary color code
$Color4 = 0x00FF00 ;SET color
$tomes = 0x73554A ;Tomes of Secrets code
$Amethyst = 0xA56DF1
$Ruby = 0xFA8078
$Emerald = 0x51965B
$Topaz = 0xFFFF59
$j = 0 ;variable marchand
$Left = 170
$Top = 150
$Right = 750
$Bottom = 550
$open = 0;at the begin, cellar is close. modify by teleport func
Pause();script en pause
WinActivate('Diablo III')
;#cs
;start
While 1
Send("{Space}") ; get rid of any pesky banner
Send("{Space}") ; get rid of any pesky banner
CheckDeco()
CheckResume()
Sleep(Random(500,900))
Click(134, 255) ;resume
CheckInGame()
Sleep(Random(500,1000)) ;load
;BREAK STUFF DETECTION
$SearchRepare = PixelSearch(562, 10, 586, 55, 0xFFEC00)
If Not @error Then
Repare()
Sleep(Random(100, 300))
EndIf
Sleep(Random(400,800))
Send('e')
Sleep('40')
Teleport()
If $open = 1 Then
;#ce
Position();select move way
FindItem();pick up
Sleep(Random(100,300))
;leave
Send('t')
Sleep(Random(7500, 8100))
Send("{ESCAPE}") ;opens menu
Sleep(Random(800, 1200))
MouseClick('left', Random(399 - 5, 399 + 5), Random(353 - 2, 353 + 2), 1, Random(6, 9))
Else
Endif
Sleep(10000)
WEnd
;FUNCTIONS
Func FindItem()
$work = 1
$checkCount = 0
While $work == 1 And $checkCount <12
DEBUG("Search Item")
$work = 0
; Recherche des rares et des legendaires en 1er pour eviter des bugs clique
$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, $Color, 20) ;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, $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
#cs
$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
#ce
#cs
$SearchResult = PixelSearch($Left, $Top, $Right, $Bottom, $Tomes, 2) ;searches for Tomes of secrets
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,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($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
#ce
WEnd
DEBUG("Finish Item Searching")
EndFunc
Func Repare()
Send('a')
Sleep(Random(100, 300))
Send('t')
Sleep(Random(7500, 8500))
$j = Random(1, 2, 1)
Select;Selection aléatoire du marchand
Case $j = 1
DEBUG("Marchand à gauche")
Move(13, 371)
Sleep(Random(100, 400))
Move(175, 162)
Sleep(Random(1000, 1001))
$SearchDealerLeft = PixelSearch(150, 80, 270, 300, 0xA29B97, 10) ;searches for merchand
If Not @error Then
MouseClick("left", $SearchDealerLeft[0], $SearchDealerLeft[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
Sleep(Random(1000, 1500))
EndIf
Click(287, 358)
Sleep(Random(200, 600))
$SearchRepare = PixelSearch(63, 286, 230, 340, 0x56180C, 10) ;searches for TP
If Not @error Then
MouseClick("left", $SearchRepare[0], $SearchRepare[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
Sleep(Random(1000, 3000))
EndIf
Send("{ESCAPE}") ;close menu
Sleep(Random(100, 300))
Move(746, 503)
Sleep(Random(200, 600))
Move(788, 306)
Sleep(Random(100, 500))
$SearchTP = PixelSearch(455, 140, 507, 202, 0x162354, 15) ;searches for TP
If Not @error Then
MouseClick("left", $SearchTP[0], $SearchTP[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
Sleep(Random(800, 1200))
EndIf
Case Else
Move(721, 44)
Sleep(Random(1900, 2100))
Move(529, 222)
$SearchDealerRight = PixelSearch(260, 140, 420, 270, 0xA38E8A, 15) ;searches for rares
If Not @error Then
MouseClick("left", $SearchDealerRight[0], $SearchDealerRight[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
Sleep(2500)
DEBUG("Fin script")
EndIf
Sleep(Random(100, 300))
Click(282, 273)
Sleep(Random(200, 600))
$SearchRepare = PixelSearch(63, 286, 230, 340, 0x56180C, 10) ;searches for TP
If Not @error Then
MouseClick("left", $SearchRepare[0], $SearchRepare[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
Sleep(Random(1000, 3000))
EndIf
Send("{ESCAPE}") ;close menu
Sleep(Random(100, 300))
Move(294, 467)
Sleep(Random(100, 200))
Move(249, 482)
Sleep(Random(100, 200))
Move(225, 461)
Sleep(Random(100, 200))
$SearchTP = PixelSearch(170, 240, 224, 297, 0x1E2B5C, 5) ;searches for TP
If Not @error Then
MouseClick("left", $SearchTP[0], $SearchTP[1], 1, 10) ;IF ITS THERE IT CLICKS IT.
Sleep(Random(800, 1200))
EndIf
EndSelect
EndFunc
;other func
Func Move($x, $y)
MouseClick('left', Random($x - 3, $x + 3), Random($y - 3, $y + 3), 1, Random(0, 1))
Sleep(Random(1800,2000))
EndFunc
Func Shoot($x, $y)
MouseClick('right', $x, $y, Random(100 , 120))
Sleep(Random(200, 300))
EndFunc ;==>Shoot
Func Click($x, $y)
MouseClick('left', Random($x - 5, $x + 5), Random($y - 2, $y + 2), 1, Random(0, 1))
Sleep(Random(100, 200))
EndFunc ;==>Click
Func Position()
$i = Random(1, 3, 1)
Select;Selection aléatoire du marchand
Case $i = 1
DEBUG("WAY 1")
;deplacement dans le cellar
Move(57, 470)
Sleep(Random(1000, 1500))
Move(256, 274)
Sleep(Random(500, 1000))
Send('a')
Sleep(Random(100, 300))
Send('e')
Sleep(Random(100, 300))
Send('r')
MouseClickDrag ( "right", Random(173,179), Random(113,119) , Random(181,113), Random(107,113), Random(15,18))
MouseClickDrag ( "right", Random(199,204), Random(131,135) , Random(233,237), Random(99,103), Random(15,18))
shoot(197, 109)
Sleep(Random(100, 300))
;Ramassage
Move(241, 115)
Sleep(Random(100, 300))
Move(222, 430)
Sleep(Random(100, 300))
Move(632, 460)
Sleep(Random(100, 300))
Case $i = 2
DEBUG("WAY 2")
;deplacement dans le cellar
Move(233, 524)
Send('a')
Sleep(Random(1000, 1500))
Move(90, 240)
Sleep(Random(1000, 1500))
Send('e')
Sleep(Random(100, 300))
Send('r')
;MouseClickDrag ( "right", Random(93,99), Random(200,206) , Random(260,266), Random(122,128), Random(15,18)); A modifier
;MouseClickDrag ( "right", Random(290,296), Random(164,170) , Random(195,201), Random(221,227), Random(15,18)); A modifier
shoot(235, 147); A modifier
shoot(281, 183); A modifier
Sleep(Random(100,300))
;Ramassage
Move(156, 226)
Sleep(Random(100,300))
Move(527, 205)
Sleep(Random(100,300))
Move(539, 398)
Sleep(Random(100,300))
Case Else
DEBUG("WAY 3")
;deplacement dans le cellar
Move(272, 476)
Sleep(Random(1000, 1500))
Move(90, 280)
Sleep(Random(300, 600))
Send('a')
Sleep(Random(100, 300))
Send('e')
Sleep(Random(100, 300))
Send('r')
MouseClickDrag ( "right", Random(173,179), Random(113,119) , Random(181,113), Random(107,113), Random(15,18)); A modifier
MouseClickDrag ( "right", Random(199,204), Random(131,135) , Random(233,237), Random(99,103), Random(15,18)); A modifier
shoot(197, 109); A modifier
Sleep(Random(100,300))
;Ramassage
Move(145, 279)
Sleep(Random(100,300))
Move(440, 149)
Sleep(Random(100,300))
Move(200, 390)
Sleep(Random(100,300))
Move(734, 311)
Sleep(Random(100,300))
EndSelect
EndFunc
Func Teleport()
$i = Random(1, 2, 1)
Select;Selection aléatoire du marchand
Case $i = 1
DEBUG("TELEPORT 1")
MouseMove(2, 201)
_Send('z', Random(2000,2200))
Sleep(Random(100, 200))
Sleep(40)
Send('a')
Sleep(Random(1000, 1200))
$blue = PixelSearch(0, 113, 54, 185, 0x223463, 11)
If Not @error then;si le cellar est ouvert le bot rentre
DEBUG("Cave FOUNDED")
$open = 1
MouseClick("left", $blue[0], $blue[1])
Sleep(Random(100, 200))
Sleep(5000)
Else; si le cellar est fermer le bot quitte
DEBUG("Cave NOT FOUNDED")
$open = 0
Send('t')
Sleep(Random(500, 1000))
Send("{ESCAPE}") ;opens menu
Sleep(Random(100, 300))
MouseClick('left', Random(399 - 5, 399 + 5), Random(353 - 2, 353 + 2), 1, Random(6, 9))
EndIf
Case Else
DEBUG("TELEPORT 2")
MouseMove(22, 198)
_Send('z', Random(2000,2200))
Sleep(40)
Send('a')
Move(301, 387)
Sleep(40)
Sleep(Random(800, 1000))
$blue = PixelSearch(35, 130, 150, 199, 0x223463, 5)
If Not @error then;si le cellar est ouvert le bot rentre
DEBUG("Cave FOUNDED")
$open = 1
MouseClick("left", $blue[0], $blue[1])
Sleep(Random(100, 200))
Sleep(5000)
Else
DEBUG("Cave NOT FOUNDED")
$open = 0
Send('t')
Sleep(Random(500, 1000))
Send("{ESCAPE}") ;opens menu
Sleep(Random(100, 300))
MouseClick('left', Random(399 - 5, 399 + 5), Random(353 - 2, 353 + 2), 1, Random(6, 9))
EndIf
EndSelect
EndFunc ;==>Teleport
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 DEBUG($MESSAGE)
If $DebugOn Then
ToolTip($MESSAGE, 0, 0)
EndIf
EndFunc
Func Pause()
$Paused = Not $Paused
While $Paused
Sleep(100)
ToolTip('Paused...', 0, 0)
WEnd
ToolTip("")
EndFunc ;==>Pause
Func _Send($text, $milliseconds)
$time = TimerInit()
Do
Send($text)
Until TimerDiff($time) > $milliseconds
EndFunc
Func Quit()
Exit
EndFunc ;==>Quit
Func CheckDeco()
$deco_1 = PixelSearch(267, 150, 532, 300, 0xA26502, 20)
If Not @error then
DEBUG("Msg deco 1 founded")
$deco_2 = PixelSearch(348, 366, 450, 395, 0x470C00, 10)
If Not @error then
DEBUG("Msg deco 2 founded")
MouseClick("left", $deco_2[0], $deco_2[1])
Sleep(Random(100, 200))
Else
EndIf
;fonctionne maintenant doit entrée le mot de passe.
Else
EndIf
Sleep(5000)
EndFunc
Fonctionnalités:
Run Sarkoth en boucle à partir du checkpoint.
2 méthodes de téléportation pour arriver et entrer dans le cellar.
3 méthodes pour tuer Sarkoth ainsi que pour ramasser les drops.
ramasse les magiques, rares, set, légendaires.
ramasse les Gemmes.(Encore des bugs)
ramasse les Tomes.(Encore des bugs)
Quand le stuff est abimé, il répare automatiquement avant de commencer son run.
2 méthodes pour réparer le stuff.
Clique aléatoire, pause aléatoire.
Gère les décos et se reco automatiquement, sauf si erreur 37.(on peut pas tout avoir.)
Se TP et se déco en même temps. C'est 5sec de plus dans le run mais ça cumule les avantages de a déco et du tp pour éviter les morts.
Reste à coder
Vente des drops quand l'inventaire est presque full.
Des idées ?
PS: Chez moi il fonctionne plutôt bien, il rate 1/20 de cellar et crève parfois :/, je compte sur vous pour tester et me faire une critique en retour.


Ce sujet est fermé






