Aller au contenu


Photo

Detection Des Item Bleu Lvl 63 Et Mise Au Coffre


  • Ce sujet est fermé Ce sujet est fermé
53 réponses à ce sujet

#1 Wave

Wave

    Newbie lvl 4

  • Membres
  • 25 messages

Posté 02 July 2012 - 21:14

Voila ma petite contribution ci-dessous, cela permet d’éviter de voir partir à la poubelle les 1 à 3 item a 1000+ dps qui tombe en une journée (8-12h) de bot (sarkotht) ;) et du coup d'augmenter substantiellement la productivité du bot (on recupere aussi plein de lvl 63 tout pourri hein :) ).

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 :) et mieu vau 2 foi qu'une :) )

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

EndFunc

Si 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 !! :)). donc un petit passage rapide de la souris sur les divers slot de l'inventaire pour eviter ca ( a appeler au debut de la function stash loot) :

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)...
  • faramir, gms-mat, Skd et 1 autre aiment ceci

#2 Xanaski

Xanaski

    Hard Gamer

  • Membres
  • 395 messages
  • Location :Paris, Hauts-de-Seine
  • Hobbies :You know, what i love.

Posté 02 July 2012 - 22:45

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

EndFunc



Si vous voulez changé le couleur de detetction c'est a faire directement dans le pixelsearch


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



A mettre en Code si possible, sinon les GuGus comme moi s'en sortent plus :)

Hakuna Matata - In HOc SignO Vinces

 

 

rep.jpg All Right


#3 INeedMoney

INeedMoney

    Débutant lvl 4

  • Membres
  • 93 messages
  • Location :In front of my PC

Posté 03 July 2012 - 03:56

Ahhhh eh SUPER bonne idee ça!! Surtout vu le prix des armes High lvl! Mais par pitié comment l'adapter sur 1600x ? Quelqu'un qui saura faire ça?
Avoir et Être... L'homme ordinaire se préoccupe de l'avoir, le Sage d'être...

#4 Wave

Wave

    Newbie lvl 4

  • Membres
  • 25 messages

Posté 03 July 2012 - 07:51

@ineed : Envoi moi une copie d'ecran avec l'inventaire ouvert et je verais si j'ai le temps de modifie les coordonees.

#5 Skd

Skd

    Hard Gamer

  • Membres
  • 398 messages
  • Location :Inferno

Posté 03 July 2012 - 08:14

+1
Super contribution! Merci beaucoup!
Juste une petite question: Combien vous arrivez à revendre les armes 1k dps par exemple? De mon côté, depuis la 1.0.3 elles partent mm pas a 100k >.<
Mis à part les anneaux et amu (mf/gold) ça vaut vraiment plus rien je trouve, j'ai pas mal de boulot jusqu'à la fin de semaine mais j'essaierai de reprendre ton code pour l'adapter aux amu/anneaux!
Image IPBDeux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...

#6 Wave

Wave

    Newbie lvl 4

  • Membres
  • 25 messages

Posté 03 July 2012 - 09:10

@ skd le code met tous les item lvl63 au coffre (pas que les armes) . Effectivemet certain item se vendent plus cher qu'une arme a 1000+ (sans rien d'autre) . Genre epaulette a +25 gf environ 400k

#7 Euclide_

Euclide_

    YOOOOOOOOOOO

  • Admin Gms
  • 8923 messages
  • Location :France
  • Trade : Mediator

Posté 03 July 2012 - 09:40

Vous pouvez aussi prendre les ilvl 61-62 pour les envoyer au forgeron.

#8 Nico64000

Nico64000

    Newbie lvl 3

  • Membres
  • 21 messages

Posté 03 July 2012 - 10:12

Est-il aussi possible d'adapter ce script au 800x600 svp? :)

#9 Wave

Wave

    Newbie lvl 4

  • Membres
  • 25 messages

Posté 03 July 2012 - 10:37

@nico oui possible mais pareil me faut une copie d'ecran avec inventaire ouvert en 800x600

#10 Nico64000

Nico64000

    Newbie lvl 3

  • Membres
  • 21 messages

Posté 03 July 2012 - 13:57

Très bien merci, je te fais ça dans la soirée, surtout si tu souhaites d'autres éléments, je serai disponible.

#11 Wave

Wave

    Newbie lvl 4

  • Membres
  • 25 messages

Posté 03 July 2012 - 14:05

@nico : un autre screen separer avec la fenetre de stat d'un itm lvl 63 pour faire le png qui va bien

#12 Toupacko

Toupacko

    Newbie lvl 3

  • Membres
  • 13 messages

Posté 03 July 2012 - 20:54

je ne m'y connait pas trop en code si quelqu'un peut m'aider a l'installer sa serait sympa :D merci :rolleyes:

mon skype : toupackoo

#13 INeedMoney

INeedMoney

    Débutant lvl 4

  • Membres
  • 93 messages
  • Location :In front of my PC

Posté 04 July 2012 - 03:40

Merci pour ta réponse des que j'ai le temps avec mon gros boulot d'en ce moment je t'envoie ça!
Avoir et Être... L'homme ordinaire se préoccupe de l'avoir, le Sage d'être...

#14 boubi

boubi

    Hard Gamer

  • Membres
  • 272 messages
  • Location :Toulouse
  • Hobbies :Diablo 2
    Wow
    Diablo 3

Posté 04 July 2012 - 08:16

Merci beaucoup :) je vais vois si je peux l'implanter dans mes codes :D (même si j'ai pas la même résolutions que toi)

Il faut rajouter des librairie spéciale pour utiliser _ImageSearchArea ?

#15 Wave

Wave

    Newbie lvl 4

  • Membres
  • 25 messages

Posté 04 July 2012 - 08:52

@ boubi : oui voir le code du bot sarkoth original(post fixe plus haut), il y a une dll a inclure me semble.

#16 boubi

boubi

    Hard Gamer

  • Membres
  • 272 messages
  • Location :Toulouse
  • Hobbies :Diablo 2
    Wow
    Diablo 3

Posté 04 July 2012 - 13:41

Merci Wave, c'est ce que je pensais mais j'en étais pas sur, et le bot que j'ai fait ne l'utilisé pas...

#17 baka80

baka80

    Newbie lvl 3

  • Membres
  • 24 messages

Posté 05 July 2012 - 15:36

Merci beaucoup, je vais tester ;)

#18 Wave

Wave

    Newbie lvl 4

  • Membres
  • 25 messages

Posté 06 July 2012 - 08:28

Je remetrais le code au propre ce we. J'ai utilise le même principe pour la detection des objet rare afin de ne stocker que les item jaune > lvl60 ( pour ceux qui ont pousser le mf, après une nuit de bot la premiere page deborde souvant d'item jaune bien pourri :) donc autant garder la place pour des items potentielement meilleur lvl61,62,63)

#19 Toupacko

Toupacko

    Newbie lvl 3

  • Membres
  • 13 messages

Posté 06 July 2012 - 23:31

Je remetrais le code au propre ce we. J'ai utilise le même principe pour la detection des objet rare afin de ne stocker que les item jaune > lvl60 ( pour ceux qui ont pousser le mf, après une nuit de bot la premiere page deborde souvant d'item jaune bien pourri :) donc autant garder la place pour des items potentielement meilleur lvl61,62,63)


tu pourra faire un tuto comment l'installer dans le script pour les novice ? :noel:

#20 Bidoche

Bidoche

    Newbie lvl 4

  • Membres
  • 31 messages

Posté 07 July 2012 - 05:43

Merci ton code fonctionne super bien !! Je les un peut modifier et j'utilise aussi une version pour les rare pour qu'il me garde juste les 62 et 63 après les avoir identifier a chaque 10 a 12 run accomplie

Merci encore !