Bonjour,
Ayant reçu certaines demandes sur la programmation sous autoit pour la création d'un bot pixel paysan ou combat (1compte) j'ai décidé de faire un petit tuto sur comment rechercher un pixel.
Prérequis :
-Autoit version complète
-Windows (OS)
-Clavier :fou:
I.Trouver un pixel :
On va étudier dans cette première partie comment trouver un pixel.
Une fonction autoit existe pour ca :
Le x et y corresponde au point de départ de la zone.
Le X et Y le point d'arrivé de la zone, on a ainsi définie la zone de recherche.
Le 0xFFFFFF correspond à la couleur rechercher dans la zone, ici le bleu.
Comment avoir ces informations ?
Souvenez vous, j'ai dis autoit version complète ! On a donc fournis avec Autoit Windows Info, on va dans la rubrique Mouse et on a tout ce qu'il nous faut pour utiliser cette fonction.
A oui la couleur est donné sans le " 0x" à vous de le rajouter.
C'est bien mais eu ... Comment j'utilise les données ?
On va utiliser les variables !
On a donc notre variable $bleu qui contient la position du pixel bleu.
Mais une position, c'est comme en Maths ca à 2 données ! ??
En effet, c'est pour cela, qu'il faut savoir l'utiliser, j'explique tout ca.
$bleu[0] correspondra à la position x sur l'écran du pixel
$bleu[1] à la position y.
Mais, si il y a plein de pixels bleu sur l'écran je fais comment ?
On a vu que la zone était réglable, on peut donc tout simplement réduire la zone de recherche.
Sinon, il y a beaucoup de dégradé de couleurs donc moins de chances qu'il y est les même couleurs partout.
Les petit plus :
-Sur dofus pensez que en transparent la couleur prend en partie la couleur de derrière des personnages (pour la partie combat utile ;)) .
Une autre méthode :
Il y a une autre solution :
Elle permet de récupérer la couleur d'un pixel à un point précis.
Il faut stocker le résultat dans une variable donc :
La variable a donc récupérer la couleur du pixel et non plus la position d'une couleur (oui je sais la phrase est tordu ).
C'est une autre façon de travailler, à vous de remplacer ce qu'il se passe.
II.Trouver le pixel le plus proche de soit :
Très pratique pour faucher le blé le plus proche :
J'ai mis 0xbleble à vous de choisir une couleur, c'est juste pour le principe.
Le mouseclick fonctionne simplement ,droite ou gauche, position x et y , nombre de clicks,vitesse de 1 à 100 (avec 0 la plus rapide).
On clique ici sur le ble , puis sur "fauche" d'où le +32pixel et le +54.
On fait une pause de 13 secondes (1000 millisecondes = 1 seconde) pour un paysan lvl 1.
On recherche mais cette fois ci dans un carré de 50 pixel autour du premier trouver ... puis on agrandie (100,150,...)
Voilà , j'ai finis et j'espère vous avoir aider (Si oui un petit merci ;)).
Ayant reçu certaines demandes sur la programmation sous autoit pour la création d'un bot pixel paysan ou combat (1compte) j'ai décidé de faire un petit tuto sur comment rechercher un pixel.
Prérequis :
-Autoit version complète
-Windows (OS)
-Clavier :fou:
I.Trouver un pixel :
On va étudier dans cette première partie comment trouver un pixel.
Une fonction autoit existe pour ca :
Code:
Pixelsearch (x,y,X,Y,0xFFFFFF)
Le X et Y le point d'arrivé de la zone, on a ainsi définie la zone de recherche.
Le 0xFFFFFF correspond à la couleur rechercher dans la zone, ici le bleu.
Comment avoir ces informations ?
Souvenez vous, j'ai dis autoit version complète ! On a donc fournis avec Autoit Windows Info, on va dans la rubrique Mouse et on a tout ce qu'il nous faut pour utiliser cette fonction.
A oui la couleur est donné sans le " 0x" à vous de le rajouter.
C'est bien mais eu ... Comment j'utilise les données ?
On va utiliser les variables !
Code:
$bleu = Pixelsearch (x,y,X,Y,0xFFFFFF)
Mais une position, c'est comme en Maths ca à 2 données ! ??
En effet, c'est pour cela, qu'il faut savoir l'utiliser, j'explique tout ca.
Code:
$bleu[0]
$bleu[1]
$bleu[1] à la position y.
Mais, si il y a plein de pixels bleu sur l'écran je fais comment ?
On a vu que la zone était réglable, on peut donc tout simplement réduire la zone de recherche.
Sinon, il y a beaucoup de dégradé de couleurs donc moins de chances qu'il y est les même couleurs partout.
Les petit plus :
-Sur dofus pensez que en transparent la couleur prend en partie la couleur de derrière des personnages (pour la partie combat utile ;)) .
Une autre méthode :
Il y a une autre solution :
Code:
Pixelgetcolor (x,y)
Il faut stocker le résultat dans une variable donc :
Code:
$couleur_pixel = Pixelgetcolor (x,y)
If couleur_pixel = 0xFFFFFF Then
;;;Ce que vous voulez;;;
Endif
C'est une autre façon de travailler, à vous de remplacer ce qu'il se passe.
II.Trouver le pixel le plus proche de soit :
Très pratique pour faucher le blé le plus proche :
Code:
$ble = Pixelsearch (0,0,1600,1600,0xbleble)
Mouseclick ("left",$ble[0],$ble[1],1,10)
Mouseclick ("left",$ble[0]+32,$ble[1]+54,1,10)
Sleep (13000)
$ble = Pixelsearch ($ble[0]-50,$ble[1] -50,$ble[0]+50,$ble[1]+50,0xbleble)
.....
Le mouseclick fonctionne simplement ,droite ou gauche, position x et y , nombre de clicks,vitesse de 1 à 100 (avec 0 la plus rapide).
On clique ici sur le ble , puis sur "fauche" d'où le +32pixel et le +54.
On fait une pause de 13 secondes (1000 millisecondes = 1 seconde) pour un paysan lvl 1.
On recherche mais cette fois ci dans un carré de 50 pixel autour du premier trouver ... puis on agrandie (100,150,...)
Voilà , j'ai finis et j'espère vous avoir aider (Si oui un petit merci ;)).