[R] Script qui s'active lorsqu'une couleur disparait

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
nerenos
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 25 juin 2012 13:37
Status : Hors ligne

[R] Script qui s'active lorsqu'une couleur disparait

#1

Message par nerenos »

bonjour voila je veut crée un script qui appui sur le clic gauche de la souris lorsque la couleur rouge disparait d'une fenêtre entre les pixel 670<x<770 et 400<y500.

Code : Tout sélectionner

func pec()
    MouseClick("right")
    sleep(5000)
    dim $b = 0
    Do
    local $c = aoupas()
If ( $c = 1) Then
    MouseClick("right")
    pec()
EndIf
until ($b = 0)
EndFunc

Func aoupas()
    $coord = PixelSearch(670, 400, 770, 500, 0xFF0000, 10)
If Not @error Then
return 1
EndIf
return 0
EndFunc
pour le moment j'ai sa mais sa ne marche pas la couleur disparait mais le script ne se lance pas.
ps: ceci est une base de donnée de fonction j'ai un autre fichier pour faire des macro sur mon clavier qui lance la fonction pec et le 1er clic mais après plus rien.
si quelque à une idée.
merci.
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

Re: [..] script qui s'active lorsqu'une couleur disparait

#2

Message par silvere »

Code : Tout sélectionner

Do
    PixelSearch(670, 400, 770, 500, 0xFF0000, 10)
Until @error ; on continu le scripte si la couleur n'est pas trouver sinon on revien au DO
MouseClick("right")
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
nerenos
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 25 juin 2012 13:37
Status : Hors ligne

Re: [..] script qui s'active lorsqu'une couleur disparait

#3

Message par nerenos »

merci bien j'essaye
mais sa marche pas
faut il définir sur quelle fenêtre il doit chercher ou c'est ce qui apparait sur l'écran?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] script qui s'active lorsqu'une couleur disparait

#4

Message par mikell »

Si tu mets pas le paramètre, c'est l'écran
Sinon c'est

Code : Tout sélectionner

PixelSearch(670, 400, 770, 500, 0xFF0000, 10, $step, [u]$hWnd[/u])
"...un script qui appui sur le clic gauche de la souris..."
C'est normal le MouseClick("right") ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
nerenos
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 25 juin 2012 13:37
Status : Hors ligne

Re: [..] script qui s'active lorsqu'une couleur disparait

#5

Message par nerenos »

mais j'ai changé pour avoir sa:

Code : Tout sélectionner

func pec()
    MouseClick("right")
    sleep(5000)
    Do
    PixelSearch(670, 500, 770, 400, 0xFF0000, [color=#FF0000]10[/color], 1, "fenetre1")
    HotKeySet("{=}" , "quitter" )
    Until @error
MouseClick("right")
pec()
EndFunc
mais le bout de ligne rouge a beau disparaitre sa ne continue pas.
est ce que le 10 est trop grand.


je viens de le lancer et le script termine la fonction pour retourné a la boucle principe est cela sans le clic gauche.

de plus sur la notice de PixelSearch ils disent:
PixelSearch ( left, top, right, bottom, color [, shade-variation [, step [, hwnd]]] )
donc j'ai changer les cordoonées
Modifié en dernier par nerenos le lun. 25 juin 2012 19:11, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] script qui s'active lorsqu'une couleur disparait

#6

Message par mikell »

Attention, $hWnd = WinGetHandle("fenetre1")
et non, 10 n'est pas trop grand
tu es sûr de la couleur ?
Tu devrais débugger en mettant une msgbox dans ta fonction, ou simplement tester ça histoire de vérifier que le PixelSearch est bien posé

Code : Tout sélectionner

$coord = PixelSearch(670, 400, 770, 500, 0xFF0000, 10, 1, $hWnd)
If Not @error Then
    MsgBox(0, "X and Y are:", $coord[0] & "," & $coord[1])
EndIf
Modifié en dernier par mikell le lun. 25 juin 2012 19:21, modifié 1 fois.
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
nerenos
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 25 juin 2012 13:37
Status : Hors ligne

Re: [..] script qui s'active lorsqu'une couleur disparait

#7

Message par nerenos »

je viens de débuger mais la je suis perdu.

Code : Tout sélectionner

func pec()
    MouseClick("right")
    sleep(5000)
    Do
        MsgBox( 0, "test", "dans le do")
    PixelSearch(670, 500, 770, 400, 0xFF0000, 10)
    HotKeySet("{=}" , "quitter" )
Until @error
MsgBox( 0, "test", "fin de la fonction")
MouseClick("right")
pec()
EndFunc
sa m'affiche la fenetre avec le "dans le do" et seulement c'est la alors qu'il n'y a pas une trace de rouge sur l'écran.
et je savais pas pour les jeux je cherche juste a faire des macro sur mon vieux clavier.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] script qui s'active lorsqu'une couleur disparait

#8

Message par mikell »

J'ai édité mon post précédent
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
nerenos
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 25 juin 2012 13:37
Status : Hors ligne

Re: [..] script qui s'active lorsqu'une couleur disparait

#9

Message par nerenos »

j'ai trouver le 10 été trop petit.

Code : Tout sélectionner

func pec()
    MouseClick("right")
    sleep(5000)
    Do
    $coord = PixelSearch(670, 500, 770, 400, 0xFF0000, 100)
    Until @error
MouseClick("right")
pec()
EndFunc
donc voila le code qui marche (ou presque il me manque plus qu'a régler). merci a vous deux pour votre aide.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] script qui s'active lorsqu'une couleur disparait

#10

Message par mikell »

Si tu dois mettre une tolérance de 100 c'est que le code pour le rouge n'est pas bon

Si c'est résolu mets un [R] dans le titre de ton premier message
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre