[R] Probleme d'enchainement de pixelsearch

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Oxygene31
Niveau 2
Niveau 2
Messages : 26
Enregistré le : sam. 18 avr. 2009 16:36
Status : Hors ligne

[R] Probleme d'enchainement de pixelsearch

#1

Message par Oxygene31 »

Bonjour à tous !!

Voila j'ai un petit soucis avec un script.
Pour vous expliquer mon problème clairement je vais vous l'expliquer à travers cet exemple.

Imaginons un jeu dans lequel, il faudrait cliquer sur un pixel de couleur qui apparait au hasard dans un tableau suite à l'apparition d'un pixel de couleur bleu a des coordonnées connues.
Voici le jeu en images :

Image

A l'apparition du pixel bleu une des couleurs (jaune, vert ou rouge) apparait au hasard dans une des cases du tableau.

Voici mon script pour cet exemple (qui reprend la même structure que mon vrai script) :

Code : Tout sélectionner

Func rouge()
$rouge=PixelSearch( tableau, couleur rouge )
If @error=1 Then Exit 1
MouseMove($rouge[0],$rouge[1],20)
MouseDown("right")
MouseUp("right")
EndFunc

Func vert()
$vert=PixelSearch( tableau, couleur verte )
If @error=1 Then Exit 1
MouseMove($vert[0],$vert[1],20)
MouseDown("right")
MouseUp("right")
EndFunc

Func jaune()
$vert=PixelSearch( tableau, couleur jaune )
If @error=1 Then Exit 1
MouseMove($jaune[0],$jaune[1],20)
MouseDown("right")
MouseUp("right")
EndFunc

Func action()
rouge()
vert()
jaune()
EndFunc

$bleu= couleur bleu

While 1
$color = PixelGetColor($cordx,$cordy) 

    If $color = $bleu Then
        action()
    EndIf

Wend
 
Si la couleur rouge apparait le script marche nickel mais si la couleur verte apparait alors le script s'arrête après la détection de la couleur bleu.
En fait pour que le script marche il faut que la couleur qui apparait dans le tableau corresponde a la couleur de la 1ere sous fonction de la fonction "action()".

Avec vous une solution ??

Merci de vos réponses
Modifié en dernier par Oxygene31 le lun. 14 sept. 2009 16:56, modifié 1 fois.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Probleme d'enchainement de pixelsearch

#2

Message par orax »

Eh ! d'après ce que je vois, s'il ne trouve pas la couleur rouge : le script quitte ; donc autant mettre un "return" pour le faire passer à la couleur suivante."

Code : Tout sélectionner

If @error=1 Then [b]Return[/b] 1
Et aussi, vous pouvez utiliser directement MouseClick au lieu de MouseMove, MouseDown, MouseUp.
Vous pourriez mettre aussi un Sleep(10), par exemple, dans la boucle "While" pour que ça utilise moins le processeur.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Oxygene31
Niveau 2
Niveau 2
Messages : 26
Enregistré le : sam. 18 avr. 2009 16:36
Status : Hors ligne

Re: [..] Probleme d'enchainement de pixelsearch

#3

Message par Oxygene31 »

Super merci !!
Je marque résolu :D
Répondre