Salut à tous, je suis en train de faire un bot de récolte pour Dofus basé sur la couleur des ressources.
Le fonctionnement est simple : on demande à l'utilisateur de placer la souris sur la ressource à récolter, d'appuyer sur la touche C et on récolte la couleur en hexa.
Ensuite, le programme cherche un autre pixel de cette couleur, clique dessus, fait une pause (temps de récolte) et ainsi de suite ...
Sauf que j'ai un problème : la souris va toujours cliquer sur le pixel en 1600,0 (en haut à droite) ... et en prime, la couleur relevée est soit blanc (ffff) ou noir (je ne me souviens plus du code). Ce dernier problème de couleur apparaît uniquement sur la fenêtre dofus, pas sur le reste
Donc ... help ? :)
Voici le code qui prose problème pour cliquer :
Le fonctionnement est simple : on demande à l'utilisateur de placer la souris sur la ressource à récolter, d'appuyer sur la touche C et on récolte la couleur en hexa.
Ensuite, le programme cherche un autre pixel de cette couleur, clique dessus, fait une pause (temps de récolte) et ainsi de suite ...
Sauf que j'ai un problème : la souris va toujours cliquer sur le pixel en 1600,0 (en haut à droite) ... et en prime, la couleur relevée est soit blanc (ffff) ou noir (je ne me souviens plus du code). Ce dernier problème de couleur apparaît uniquement sur la fenêtre dofus, pas sur le reste
Donc ... help ? :)
Voici le code qui prose problème pour cliquer :
Code:
$hauteur = @DesktopHeight ; hauteur de la résolution d'acran
$largeur = @DesktopWidth ; lageur de la résolution d'écran
; ces informations sont nécessaires à la fonction PixelSearch() car il faut définir une zone dans laquelle chercher. Ici, nous utiliserons tout l'écran
$coord = PixelSearch(0, 0, $largeur-10, $hauteur-10, $couleur) ; on cherche les coordonnées d'un autre pixel de la couleur détectée précedemment
if Not @error Then ; si le pixel n'est pas trouvé, la fonctione PixelSearch retourne un @error ==> d'où le if Not
MouseClick("right",$coord[0], $coord[1])
Sleep($tempsrecolte*1000+1000) ; temps de recolte (pause entre 2 clics)
MsgBox(0, "coordonnées", "x=" & $coord[0] & "y=" & $coord[1])
EndIf