On va précisé que je n'ai pas de but bien précis, je me suis fixé une petite simulation en flash pour exercé le pouvoir d'autoit (même sur un jeux que mon frere joue je suis mauvais pour lui faire quelques chose :'( ) donc mes ambitions change parfois.
j'ai donc comme votre exemple totalement converti mon script en fonction du votre, il effectu l'action1 mais ne passe jamais action2 apres l'avoir vu apparaitre
Surement une error de ma part dans la partie de mon script...
Mais 2 semaines on passées et chaque jours le souci perciste sans jamais etre résolu alors le ras de bol me gagne
je vais donc de nouveau essai de m'exprimer pas à pas de façon la plus précise que je puis le faire :
Mon script entier (Func)
Code : Tout sélectionner
[spoiler=]Global $Paused
HotKeySet("{ESC}", "Terminer")
HotKeySet("{F1}", "Pause")
Func Terminer()
Exit 0
EndFunc ;==>Terminer
Func Pause()
$Paused = Not $Paused
While $Paused
ToolTip('Script "en Pause"', 9, 7)
WEnd
ToolTip("")
EndFunc ;==>Pause
WinWaitActive("Mon Projet3")
WinMove("Mon Projet3", "", 0, 0)
Func _Un()
$c1 = IniRead(@ScriptDir & "/Config.ini", "Positions", "Coord1", 0)
$c2 = IniRead(@ScriptDir & "/Config.ini", "Positions", "Coord2", 0)
$c3 = IniRead(@ScriptDir & "/Config.ini", "Positions", "Coord3", 0)
$c4 = IniRead(@ScriptDir & "/Config.ini", "Positions", "Coord4", 0)
$p1 = IniRead(@ScriptDir & "/Config.ini", "Positions", "plus1", 0)
$p2 = IniRead(@ScriptDir & "/Config.ini", "Positions", "plus2", 0)
$b1 = IniRead(@ScriptDir & "/Config.ini", "settings", "Barre1", 0)
$b2 = IniRead(@ScriptDir & "/Config.ini", "settings", "Barre2", 0)
$b3 = IniRead(@ScriptDir & "/Config.ini", "settings", "Barre3", 0)
$s1 = IniRead(@ScriptDir & "/Config.ini", "sleeping", "Sleep1", 0)
$s2 = IniRead(@ScriptDir & "/Config.ini", "sleeping", "Sleep2", 0)
$coord = PixelSearch($c1, $c2, $c3, $c4, $b1)
If @error Then
$coord = PixelSearch($c1, $c2, $c3, $c4, $b2)
EndIf
If @error Then
$coord = PixelSearch($c1, $c2, $c3, $c4, $b3)
EndIf
If Not @error Then
MouseMove($coord[0], $coord[1])
Sleep(100)
MouseClick('left')
Sleep(100)
MouseMove($coord[0] + $p1, $coord[1] + $p2)
Sleep(1000 * $s1)
EndIf
EndFunc ;==>_Un
Func _Deux()
$pixel = PixelGetColor(79, 530) ; detection du carré
$pixel = Hex($pixel, 6)
If ($pixel = 'FF0000') Then
MouseClick("left", 79, 530)
EndIf
EndFunc ;==>_Deux
Func _Trois()
$pixel = PixelGetColor(400, 600) ; detection les barre du haut
$pixel = Hex($pixel, 6)
If ($pixel = 'FFFFFF') Then
MouseClick("left", 453, 488, 1)
Sleep(100)
EndIf
EndFunc ;==>_Trois
Func _Quatre()
$coord = PixelSearch(600, 300, 601, 450, "0x0000BF")
If Not @error Then
MouseMove($coord[0], $coord[1])
Sleep(100)
MouseClick('left')
Sleep(1000)
EndIf
EndFunc ;==>_Quatre[/spoiler]
Explication :
Code : Tout sélectionner
[spoiler=]"_un" consiste à cherché des barres sur mon ecrans et les selectionner en boucle
dans un temps imparti un petit carré rouge apparait sur le coté gauche qui est detecté par la func "_deux", puis clic dessu 1 fois pour activer ma deuxieme fenetre avec de nouvelle barres,
une fois activé ma nouvelle fennetre me donne une nouvelle serie de barres à selectionner aussi en boucle par la func "_trois" jusqu'a une l'apparition d'un rond bleu detecté par "_quatre" qui apres lui avoir cliquez dessu repasse à ma premiere fenetre "_un".
chaque nouvelle func activée arrete la précedente pour évite de cherché _un dans _deux ou _trois...[/spoiler]
Je ne peu pas expliqué mieux cette fois si, je n'arrive pas à compléter mon projet c'est que je suis trop mauvais ou pas assez bon pour l'excuter et me reduirai vers un apprentissage moins esperimenté...
Merci tout de meme de votre aide !