Aller au contenu


Photo

Besoin D'aide Autoit


  • Veuillez vous connecter pour répondre
6 réponses à ce sujet

#1 daemoon

daemoon

    Débutant lvl 2

  • Membres
  • 53 messages

Posté 07 July 2012 - 22:31

Salut à tous, je me suis mis un peu à autoit (en attendant que ça télécharge le patch anglais de D3 ^^)
Et voilà, j'essaye d'automatiser les choses que je fais sur un site, pour cela j'utilise les mouseclick et sleep
En gros je fais
mouseclick("left", 0, 0, 1, 5)
sleep (1000) // pour laisser le temps à la page de refresh en gros

et ainsi de suite pour aller sur tous les liens que j'ai besoin, le soucis, c'est que pas une fois ça clique au même endroit, des fois ça marche et des fois non alors que logiquement il devrait se passer exactement la même chose non?
Alors j'ai voulu essayer avec pixelsearch et là j'ai rien compris...

J'avais trouvé ça sur internet mais ça marche pas

$coord = PixelSearch(0, 0, 1920,1080, 0xFDF5E6)
If Not @error Then
    MouseClick("primary", $coord[0], $coord[1], 1, 0)
EndIf

Voilà donc si quelqu'un a une idée de comment faire avec le pixelsearch ou a une solution à mon problème de décalage avec le mouseclick, ou encore qui a une autre solution plus efficace je suis preneur ^^
J'espère avancer assez vite pour me lancer dans un bot D3 :)

#2 Euclide_

Euclide_

    YOOOOOOOOOOO

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

Posté 08 July 2012 - 00:43

Tu clique sur x 0 y 0 ? étrange

Ce serai plus compréhensible avec ton script en entier.
  • cpz38 aime ceci

#3 daemoon

daemoon

    Débutant lvl 2

  • Membres
  • 53 messages

Posté 08 July 2012 - 08:21

Alors j'ai soit:

ShellExecute("www.cliquojeux.com"); // lance le site */
sleep(3000)
MouseClick("left", 527, 457, 1, 5); // bouton connexion */
sleep(1500)
MouseClick("left", 527, 457, 1, 5); // faire passer la pub */
sleep(1500)
MouseClick("left", 504, 547, 1, 5); // bouton accueil */
sleep(1500)
MouseClick("left", 739, 965, 1, 5); // bouton grato 30 */
sleep(1500)
MouseClick("left", 504, 547, 1, 5); // bouton accueil */
sleep(1500)
MouseClick("left", 925, 715, 1, 5); // bouton gratoporc */
sleep(1500)
MouseClick("left", 480 , 700, 1, 5); //bouton bourse */
sleep(1500)
MouseWheel("down", 5); //scroll de la barre */
sleep(1000)
MouseClick("left", 1324, 520, 1, 5);

Soit:

ShellExecute("www.cliquojeux.com");

$couleur = PixelGetColor(1920,1080)
While 1
If $couleur = 0xFD3E8 then
MouseClick("$couleur");
Endif
Wend

#4 boubi

boubi

    Hard Gamer

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

Posté 08 July 2012 - 09:47

mouseclick("left", 0, 0, 1, 5)
sleep (1000) // pour laisser le temps à la page de refresh en gros


Normalement oui il devrait toujours click au même endroit. Apres c'est vrai que les coordonnées que tu mets sont un peu bizarre 0,0 ... Enlève peu être la vitesse (le 5 a la fin de tes paramètres)

$coord = PixelSearch(0, 0, 1920,1080, 0xFDF5E6)
If Not @error Then
    MouseClick("primary", $coord[0], $coord[1], 1, 0)
EndIf


Ce bout de code va te permettre de chercher un pixel de couleur 0xFDF5E6 sur tout ton écran apparament, et donc si il le trouve (not error) il va y cliquer dessus. Essai de rajouter une tolérance sur ta recherche de pixel comme ca :
$tolerance= 5
$coord = PixelSearch(0, 0, 1920,1080, 0xFDF5E6,$tolerance)
If Not @error Then
    MouseClick("primary", $coord[0], $coord[1], 1, 0)
EndIf

Fait plusieurs test en faisant varier ta tolérance de 1 à 10, je me suis appercu que sur mes 2 PC qui ont 2 cartes graphiques différentes les couleurs ne sont pas exactement les même...

#5 daemoon

daemoon

    Débutant lvl 2

  • Membres
  • 53 messages

Posté 08 July 2012 - 19:14

Enlevez la vitesse n'a rien changé, le bot clique jamais tout à fait au même endroit alors que logiquement les coordonnées sont fixes :(

J'ai essayé avec la tolérance mais ça n'a jamais trouvé une seule fois le bon endroit :(
On fait comment avec un imagesearch? Je pense que ce serait le plus simple non?

#6 Anakha

Anakha

    Khon

  • Admin Gms
  • 3286 messages
  • Location :Grenoble
  • Trade : Mediator

Posté 08 July 2012 - 19:28

Enlevez la vitesse n'a rien changé, le bot clique jamais tout à fait au même endroit alors que logiquement les coordonnées sont fixes :(

J'ai essayé avec la tolérance mais ça n'a jamais trouvé une seule fois le bon endroit :(
On fait comment avec un imagesearch? Je pense que ce serait le plus simple non?


1 - s'il ne clique pas au même endroit, je suppose que c'est parce que, soit ta page a bougé, soit ta fenêtre à bouger. Jette un oeil dans l'aide autoit pour "MouseCoordMode" et "PixelCoordMode"
2 - si avec un pixelsearch tu ne trouve pas ton pixel : soit il est faux, soit la zone que tu cherches est mauvaise (surtout si t'as trouvé le pixel toi même)
3 - vu ce que tu veux faire, imagesearch c'est beaucoup "pour rien" je trouve ^^

Aucun support ne sera fait en privé. Si vous avez un problème, faites un post.

 Ne pas hésiter à mettre un petit (+) si mon post vous plait ou vous a servi !

#7 daemoon

daemoon

    Débutant lvl 2

  • Membres
  • 53 messages

Posté 07 November 2012 - 10:55

Déjà merci pour ton aide, j'avais pas vu que je t'avais pas remercier depuis 4 mois :o
Effectivement la page bougée dû à du texte dynamique --' ^^

Maintenant j'ai un nouveau soucis, je fais un bot pour kingoloto mais je sais pas comment faire pour qu'il clique sur "ne plus revoir l'offre" quand une page promo s'affiche :(
Par exemple, mon bot valide 2 grilles de loto impeccable puis là y'a cette merde de pub qui apparaît et qui du coup fait cliquer n'importe où...
y'aurait pas moyen de faire une condition sachant que la fenêtre s'appelle http://www.kingoloto...deal-of-the-day quand il y a la pub?

Un truc genre:
if http://www.kingoloto...deal-of-the-day ouvert
else mouseclick ne plus revoir l'offre

Merci d'avance :)