AutoIt Français

Nouveau forum : http://www.autoitscript.fr/
 
AccueilFAQRechercherS'enregistrerMembresGroupesConnexionhttp://www.autoitscript.fr

Partagez | 
 

 Problème, auto cliqueur

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
Shadowa
Débutant
Débutant


Nombre de messages : 19
Date d'inscription : 28/03/2007

MessageSujet: Problème, auto cliqueur   2007-05-27, 23:29

Bonjour,

j' ai un problème sur mon autocliqueur, l' erreur cronique, $coord[1].
En gros cherché les eurreurs. ^^

[code];~ fonction qui click sur le pixel recherché
func ClickPixel($x1,$y1,$x2,$y2,$pixel_rech)
$coord = PixelSearch($x1,$y1,$x2,$y2, "0x"& $pixel_rech)
if not @error then
MouseClick("left",$coord[0], $coord[1],1,1)
return $coord
endif
endfunc[/code]

[code]
Do
$coord = ClickPixel(52,82,708,432,$tab_couleur[$type][$cpt])
$cpt=$cpt+1
if $cpt=5 then
$cpt=1
endif
until not @error

if not @error then

sleep(200)
;~ recherche du bouton

if ($type=4) then
MouseClickColor('left',$coord[0]+50,$coord[1]+40,1,1,"D5CFAA")
else
MouseClickColor('left',$coord[0]+50,$coord[1]+30,1,1,"D5CFAA")
endif
endif
sleep(300)
[/code]

Je voudrait que cela marche avec tous les $type et pas seulement le $type=4
Voila merci ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-05-28, 00:34

Bonsoir, lorsque tu parles d'erreur chronique $coord[1], tu veux dire que $coord n'est pas concidéré comme un tableau ?

pour tester la validitée du retours de ta fonction, enrichie là avec des codes erreurs comme (attention je code "dans le vide" alors des petites boulettes de syntaxes peuvent exister):
;~ fonction qui click sur le pixel recherché
func ClickPixel($x1,$y1,$x2,$y2,$pixel_rech)
$coord = PixelSearch($x1,$y1,$x2,$y2, "0x"& $pixel_rech)
if not @error then
MouseClick("left",$coord[0], $coord[1],1,1)
seterror(0)
return $coord
endif
seterror(1)
return ""
endfunc


puis teste @error dès que tu es sorti de ta focntion, car dans ton cas, je crains que @error ne sois relatif à la dernière exécution portant sur if $ctp=5 :
while 1
$coord = ClickPixel(52,82,708,432,$tab_couleur[$type][$cpt])
if @error=0 Then
$cpt=$cpt+1
if $cpt=5 then
$cpt=1
endif
else
exitloop()
Endif
wend

à ce point on sort du while lorqu'on a un $coord valide

voilà, j'espère que ça pourra t'aider à faire avancer ton projet
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shadowa
Débutant
Débutant


Nombre de messages : 19
Date d'inscription : 28/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-05-28, 14:38

Ok, merci, ca marche mieu maintenan, il faudrai que ce morceau de code s' applique pour toutes les valeur de $type pa seulment pour $type=4.

[code]
if ($type=4 ) then
$loc1 = $coord[0]+50
$loc2 = $coord[1]+30
MouseClickColor("left",$loc1,$loc2,1,1)

[/code]

merci
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-05-28, 15:17

Là j'ai un pb de compréhension par rapport à l'extrait du code.

Tel qu'est fait le code disponible; la seule contrainte pour $type est de rester dans les vak min et max de $tab_couleur.

Là je ne vois pas pourquoi tu fais ce test à 4 ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shadowa
Débutant
Débutant


Nombre de messages : 19
Date d'inscription : 28/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-05-28, 18:15

[quote:4e2f="sylvanie"]Là j'ai un pb de compréhension par rapport à l'extrait du code.

Tel qu'est fait le code disponible; la seule contrainte pour $type est de rester dans les vak min et max de $tab_couleur.

Là je ne vois pas pourquoi tu fais ce test à 4 ?[/quote]

Voila tout le code, j' espère que cela pourra vous aidez, sur un fichier txt,

[url=file:///C:/Documents%20and%20Settings/Lopez/Bureau/mon%20autocliqueur.txt] [/url][center][url=http://files-upload.com/255403/monautocliqueur.txt.html]http://files-upload.com/255403/monautocliqueur.txt.html[/url] [/center]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-05-28, 19:16

j'ai modifier le test de sortie en le mettant sur le fait que $cood soit un array.
Côté debug, j'ai laissé les consolewrite pour te laisser constater les valeur $coord et les incrémentations, qui dans mon cas se passent bien :

Do
;~ recherche le céréale dans la zone
sleep(300)

while 1
$coord = ClickPixel(52,82,708,432,$tab_couleur[$type_cereale][$cpt])
if @error=1 Then
$cpt=$cpt+1
if $cpt=5 then
$cpt=1
endif
else
exitloop
Endif
wend
ConsoleWrite("couleur trouvée "&IsArray($coord)&@CRLF)
until IsArray($coord)
ConsoleWrite("coord="&$coord[0]&" "&$coord[1]&@CRLF)
if IsArray($coord) then
;~ msgbox(0,'',$coord[0])
sleep(200)
;~ recherche du bouton faucher
;$coord = ClickPixel($coord[0],$coord[1],$coord[0]+50,$coord[1]+30,"D5CFAA")
if ($type_cereale=7 ) then
$loc0 = $coord[0]+50
$loc1 = $coord[1]+30
ConsoleWrite($loc0&" "&$loc1&@CRLF)
MouseClickColor("left",$loc0,$loc1,1,1,$tab_couleur[$type_cereale][$cpt])
endif
endif
sleep(300)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shadowa
Débutant
Débutant


Nombre de messages : 19
Date d'inscription : 28/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-05-28, 19:48

Il ya a toujour un problème, en gros, il detecte le pixel et clique desus, mais il ne re-clique pas avec le decalage de +50 et +30.
De plus j' aimerai que re-cliquer avec +50 et +30 se fasse avec toutes les valeur de $type_cereale= ... then" , pas que la valeur "if ($type_cereale=7 ) then".
Et j' aimerai aussi que la detection se fasse en continu, que le programme ne se ferme a la fin.

"$loc0 = $coord[0]+50
$loc1 = $coord[1]+30
ConsoleWrite($loc0&" "&$loc1&@CRLF)
MouseClickColor("left",$loc0,$loc1,1,1,$tab_couleur[$type_cereale][$cpt])"


Progamme entier en autoit : [url=http://files-upload.com/255524/Auto-Cereal-Xp-v.02.au3.html]http://files-upload.com/255524/Auto-Cereal-Xp-v.02.au3.html[/url]

merci
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-05-28, 20:43

pour balayer les 7 types, il suffit d'inclure toute la prtie précédente das un for
et pour boucler in définiment, place ce for dans un while 1

Par contre pour les click, j'en ai bien 2 : 1 à l'endorit d'origine, l'autre en décalé ...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shadowa
Débutant
Débutant


Nombre de messages : 19
Date d'inscription : 28/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-05-28, 23:06

Merci bien, je vais vérifier tous ca.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shadowa
Débutant
Débutant


Nombre de messages : 19
Date d'inscription : 28/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-05-28, 23:31

[quote:5d1b="sylvanie"]pour balayer les 7 types, il suffit d'inclure toute la prtie précédente das un for
et pour boucler in définiment, place ce for dans un while 1

Par contre pour les click, j'en ai bien 2 : 1 à l'endorit d'origine, l'autre en décalé ...[/quote]

J' ai des problème pour balayer les 7 type, de plus je ne voi pa des 2 click peu etre son ils tro rapide .
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-05-29, 00:05

pour t'assurer de l"execution de chaque click, fait un consolewrite("click :"&@error&@crlr) après chacun. si le click est réalisé @error=0
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shadowa
Débutant
Débutant


Nombre de messages : 19
Date d'inscription : 28/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-05-29, 00:40

Je ne vois que ce click, MouseClickColor("left",$loc0,$loc1,1,1,$tab_couleur[$type_cereale][$cpt])

Ou et l' auutre ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shadowa
Débutant
Débutant


Nombre de messages : 19
Date d'inscription : 28/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-05-29, 22:26

je n' arrive pas a
[quote]d'inclure toute la prtie précédente das un for
et pour boucler in définiment, place ce for dans un while 1
[/quote], donc a faire sa pour touts les $types
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-05-29, 23:22

pour l'histoire des clicks, reprends cette version truffée de consolewrite et regarde les logs :



AutoItSetOption("MouseCoordMode", 0)
AutoItSetOption("PixelCoordMode", 0)


; ----------------------------------------------------------------------------
; Script Start
; ----------------------------------------------------------------------------

HotKeySet("^!x", "MyExit")

Func MyExit()
Exit
EndFunc

;~ fonction qui click sur la coord si le point est de couleur $color
func MouseClickColor($button,$x,$y,$t1,$t2,$color)
$pixel = PixelGetColor( $x,$y)
$pixel = Hex($pixel, 6)
if ($pixel=$color) then
MouseClick($button,$x,$y,$t1,$t2)
ConsoleWrite("click 2 :"&@error&@CRLF)
endif
endfunc





;~ fonction qui click sur le pixel recherché
func ClickPixel($x1,$y1,$x2,$y2,$pixel_rech)
$coord = PixelSearch($x1,$y1,$x2,$y2, "0x"& $pixel_rech)
if not @error then
MouseClick("left",$coord[0], $coord[1],1,1)
ConsoleWrite("click 1 :"&@error&@CRLF)
seterror(0)
return $coord
endif
seterror(1)
return ""
endfunc


; Fonction qui gère le decalage
; à partir d'une reso 1280*1024 vers du 10
;~ pixel au format type x150 ou y158

$type_cereale = InputBox("FA Cereal 0.15","Quel type de céréal voulez-vous botter ? /n ( 0=Blé , 1=Orge , 2=Avoine , 3=Houblon , 4=Lin , 5=Seigle , 6=Manganèse , 7=Auto entrée dans combat )",0)

if @error=1 Then
call ("MyExit")
endif

$positionnement = ''

dim $tab_couleur[200][5]

;~ Blé
$tab_couleur[0][0] = "FAE219"
$tab_couleur[0][1] = "F4DA3C"
$tab_couleur[0][2] = "FBE227"
$tab_couleur[0][3] = "F2DD3C"
$tab_couleur[0][4] = "FAE219"

;~ Orge
$tab_couleur[1][0] = "6A6D00"
$tab_couleur[1][1] = "C2E400"
$tab_couleur[1][2] = "526E01"
$tab_couleur[1][3] = "868F00"
$tab_couleur[1][4] = "C0E200"

;~ Avoine
$tab_couleur[2][0] = "CD6B00"
$tab_couleur[2][1] = "CB6900"
$tab_couleur[2][2] = "FFC700"
$tab_couleur[2][3] = "F29600"
$tab_couleur[2][4] = "FFE900"

;~ Houblon
$tab_couleur[3][0] = "378D3F"
$tab_couleur[3][1] = "073F46"
$tab_couleur[3][2] = "45783D"
$tab_couleur[3][3] = "479639"
$tab_couleur[3][4] = "56A21E"

;~ Lin
$tab_couleur[4][0] = "DFD6B5"
$tab_couleur[4][1] = "766B43"
$tab_couleur[4][2] = "DBD5BF"
$tab_couleur[4][3] = "795F46"
$tab_couleur[4][4] = "9BA035"

;~ Seigle
$tab_couleur[5][0] = "4D7E03"
$tab_couleur[5][1] = "426700"
$tab_couleur[5][2] = "258405"
$tab_couleur[5][3] = "1A9800"
$tab_couleur[5][4] = "377D01"

;~ Manganèse
$tab_couleur[6][0] = "A2BAC5"
$tab_couleur[6][1] = "A2BAC5"
$tab_couleur[6][2] = "A2BAC5"
$tab_couleur[6][3] = "A2BAC5"
$tab_couleur[6][4] = "A2BAC5"

;~ Auto entrée dans combat
$tab_couleur[7][0] = "F4F4FD"
$tab_couleur[7][1] = "A4B4C6"
$tab_couleur[7][2] = "F4F4FD"
$tab_couleur[7][3] = "A4B4C6"
$tab_couleur[7][4] = "F4F4FD"

;~ $type_cereale = 5;
$cpt=0

Do
;~ recherche le céréale dans la zone
sleep(300)

while 1
$coord = ClickPixel(52,82,708,432,$tab_couleur[$type_cereale][$cpt])
if @error=1 Then
$cpt=$cpt+1
if $cpt=5 then
$cpt=1
endif
else
exitloop
Endif
wend
ConsoleWrite("couleur trouvée "&IsArray($coord)&@CRLF)
until IsArray($coord)
ConsoleWrite("coord="&$coord[0]&" "&$coord[1]&@CRLF)
if IsArray($coord) then
sleep(200)
if ($type_cereale=7 ) then
$loc0 = $coord[0]+50
$loc1 = $coord[1]+30
ConsoleWrite($loc0&" "&$loc1&@CRLF)
MouseClickColor("left",$loc0,$loc1,1,1,$tab_couleur[$type_cereale][$cpt])
endif
endif
sleep(300)


Exit



pour ma part j'ai :
click 1 :0
couleur trouvée 1
coord=337 272
387 302
click 2 :0

on voit bien que les deux cliks se sont biens passés (@error=0)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shadowa
Débutant
Débutant


Nombre de messages : 19
Date d'inscription : 28/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-06-02, 22:07

Je vien de comprend d' ou vien le problème, il se trouve que dans l' utilisation, le pixel rechercher apparait plusieur fois, la fonction clique a nouvau sur un autre pixel a la place de faire le 2ème click , [code] if ($type_cereale=7 ) then
$loc0 = $coord[0]+50
$loc1 = $coord[1]+30
ConsoleWrite($loc0&" "&$loc1&@CRLF)
MouseClickColor("left",$loc0,$loc1,1,1,$tab_couleur[$type_cereale][$cpt])[/code]

Donc commen faire ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-06-03, 14:54

puisque dans cette partie, si je te suis bien, est de clicker aux nlles coordonnées calculées, pourquoi ne pas passer directement par un Mouseclick au lieu de MouseClickColor ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shadowa
Débutant
Débutant


Nombre de messages : 19
Date d'inscription : 28/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-06-03, 19:41

Oui, je pourquoi pas, que doi-je tous refaire ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shadowa
Débutant
Débutant


Nombre de messages : 19
Date d'inscription : 28/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-06-03, 19:46

Nikel merci !! C' est bon c' est la bonne idée ^^

Merci a toi, Ô [b]sylvanie ^^

[/b]Je reposteré si j' ai d' otre problèmes ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shadowa
Débutant
Débutant


Nombre de messages : 19
Date d'inscription : 28/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-06-03, 20:36

Encore une question ^^

Es que ce script et juste, je veu voir si un pixel et de telle couleur, si oui cliquer a tel endroit, de base donc.

[code]$pixel1 = PixelGetColor( 196,243) ; detection fin du combat
$pixel1 = Hex($pixel1, 6)
if ($pixel1="FF6600") then
MouseClick("left",583,380,1,1)
endif[/code]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-06-03, 22:19

A première vue oui
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shadowa
Débutant
Débutant


Nombre de messages : 19
Date d'inscription : 28/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-06-06, 20:58

J' ai toujour un problème ... ^^

Je voudrait un morceau de programme qui detecte dans ma fenètre active, le pixel qui se trouve au cordonnai XXX, XXX, et que si se pixel prend la couleur XXXXX, alor MouseClick au cordonnai AAA,AAA.

Voila .
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-06-06, 22:06

avec biensûr des valeurs arbitraires :


[code]
$title="titre"
$color=Dec("ff00ff")
$coordx=250
$coordy=500
$x_togo=800
$y_togo=700

WinWaitActive($title)

While 1
if PixelGetColor($coordx,$coordy)=$color Then ExitLoop
Sleep(250)
WinActivate($title)
WEnd

MouseClick($x_togo,$y_togo)
[/code]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shadowa
Débutant
Débutant


Nombre de messages : 19
Date d'inscription : 28/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-06-06, 23:36

Hm même avec se script, j' ai l' impression qu' il ne clique pas dans la fenètre, les $coord sont détecter sur tout mon ecran et pas selement dans la petite fenètre active.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-06-06, 23:53

c'est normal, par défaut, les foctions relative aux clicks sont en MouseCoordMode 1 cad dépendante de l'écran. il faut passer en autoitsetoption("MouseCoordMode",0) pour être relatif à la fenêtre
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shadowa
Débutant
Débutant


Nombre de messages : 19
Date d'inscription : 28/03/2007

MessageSujet: Re: Problème, auto cliqueur   2007-06-15, 23:21

Bonjour,

Même avec ce programme je n' arrive pas a faire tous se qui a un raport avec la fenètre, ... si vous pouviez ( encore ) jetter un coup d' oeil .

http://www.h4cky0u-filez.org/1082662
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Problème, auto cliqueur   Aujourd'hui à 22:42

Revenir en haut Aller en bas
 
Problème, auto cliqueur
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» (scénicII ph2 - 1.5dci 105 ch) problème climatisation auto
» Problème pour connecter un lecteur réseau
» Problème visee auto avec plusieurs ennemis
» Problème avec "Auto Pause" et "Démarrage auto" sur mon GPS Oregon 650
» [Résolu] Problème avec psg tv

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
AutoIt Français :: AutoIt v3 :: Entraide-
Sauter vers: