En dessous, je met le code que j'ais bidouillé ce we sur le bot sarkoth 1920x1080 original pour qu'il mette les items bleu lvl63 au coffre.
Mais cet algo peu servir de principe de base pour l'analyse détaillée de l'inventaire case par case sur tous les bots D3 sous Autoit (c'est un brouillon mais le principe est la, si c'est deja fait ailleur , g pas vue
qques précisions :
-uniquement valable pour resolution 1920x1080. (pour les autres resolution il faut analyser une copie d'ecran et changer les coordonnées de l'inventaire ainsi que l'increment en pixel a faire entre 2 case, pour la resolution 1920x1080 l'incrment est de 48 pixel)
-Stockage des items bleu lvl63 dans la troisieme page du coffre (si vous voulez une autre page modifier le premier mouseclick)
- quand vous lancé le bot et avant d'appuyer sur "=", bougez la petite fenetre de stats du bot en haut au milieu pour evité qu'elle gene l'analyse d'un objet (faudrai pas qu'elle se retrouve en plein dans la fenetre de stats d'un objet, doit y avoir moyen de le faire automatiquement mais pas pris le temps
-c'est une identification au pixel pres sur chaque case de l'inventaire (et non un pixel search sauvage sur toute la zone de l'inventaire), il detecte si l'objet est à 2 slots en regardant si la ligne de séparation est presente ou pas
-si presente detection de la couleur bleu dans le coin en bas a droite de l'item (c'est l'endroit qui m'a parru le plus souvant vierge et propice a la détection de couleur.
-si couleur bleu (deux teinte) la souris bouge dessus (avec un random de position)
-la fenetre de stats de l'item apparait et la : Imagesearch de "item level:63" (j'ai attaché le png que j'ai fait, a ajouté dans votre répertoire pics)
si lvl 63 -> hop on clic droit est au coffre
enjoy !!! (pour le SAV j’essaierai de venir jeter un oeil ici de temps en temps
Func StashBleuItems()
$i = 0
MouseClick("left", random (508,520) * $x_ratio, random (460,520) * $y_ratio)
While $i<=5
$ti=48*$i
$j=0
While $j<=9
$tj=48*$j
$array= PixelSearch(1457 + $tj, 632 + $ti, 1459 + $tj, 634+$ti, 0x241913,5)
If Not @error Then
$StashPixel = PixelSearch(1448 + $tj, 626 + $ti, 1458 + $tj, 631+$ti, 0x3C576C,20)
If Not @error Then
MouseMove( $StashPixel[0] - random (5,30),$StashPixel[1] - random (5,30), 3)
Sleep(random(50,80))
If _ImageSearchArea($pngLoc & "lvl63.png", 1, 1448 + $tj - 475, 430, 1448 + $tj, 1050, $gX, $gY, 140) Then
MouseClick("right",$StashPixel[0] - random (5,30),$StashPixel[1] - random (5,30), 1, 3)
EndIf
EndIf
$StashPixel = PixelSearch(1448 + $tj, 626 + $ti, 1458 + $tj, 631+$ti, 0x3A4670,20)
If Not @error Then
MouseMove( $StashPixel[0] - random (5,30),$StashPixel[1] - random (5,30), 3)
Sleep(random(50,80))
If _ImageSearchArea($pngLoc & "lvl63.png", 1, 1448 + $tj - 475, 430, 1448 + $tj, 1050, $gX, $gY, 140) Then
MouseClick("right",$StashPixel[0] - random (5,30),$StashPixel[1] - random (5,30), 1, 3)
EndIf
EndIf
EndIf
$j+=1
WEnd
MouseMove(Round(Random(600, 1200) * $x_ratio), Round(Random(700, 1080) * $y_ratio), 3)
$i+=1
WEnd
EndFuncSi vous voulez changé le couleur de detetction c'est a faire directement dans le pixelsearch
sinon avant de lancer l'analyse de l'inventaire il vau mieu virer toute les surbrillance bleu des nouveaux item looter pendant le dernier run (au cas ou justement ce soir celui la le 1000= dps !!
Func initInv() $i = 0 While $i<=5 $ti=48*$i $j=0 While $j<=9 $tj=48*$j MouseMove(1448 + $tj - random (5,30), 626 + $ti - random (5,30), 3) Sleep(random(5,15)) $j+=1 WEnd $i+=2 WEnd EndFunc
biensur les deux fonctions ci dessus sont à remplacé et inserer dans dans la fonction Stashloot du bot de base. (la deuxieme fonction "initInv" pas obligatoire)
un dernier mot, vous pouvez utiliser le même algo iteratif de quadrillage de l'inventaire (développé ci-dessus) pour par exemple :
- une fonction de stockage des items jaune plus precis ( l'algo d'origine stock souvant par erreur des bleu parceque l'objet contient des teinte jaunes...),
- mais aussi pour une revente des item complete et sans en oublier la moitiée!!! (en passant sur chaque case)...


Ce sujet est fermé





