[R] Besoin d'aide pour script pause

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
kakashi545
Niveau 2
Niveau 2
Messages : 22
Enregistré le : ven. 26 déc. 2008 11:45
Status : Hors ligne

[R] Besoin d'aide pour script pause

#1

Message par kakashi545 »

bonjour, alors voila mon problème j'utilise un script qui détecte en boucle une couleur précise et qui va dessus pour y cliquer j'ai réussi a mettre cette fonction: debut du script:

Code : Tout sélectionner

HotKeySet("{Esc}", "Quitter")
fin du script:

Code : Tout sélectionner

Func Quitter()
    Exit 0
EndFunc   ;==>Quitter
alors maintenant mon seule problème est que je n'arrive pas a mettre un fonction pause je vous explique la fonction:j'appuie sur la touche F11 et la le script ce met en pause je peux bouger la souris normalement;Mais apres je voudrais que mon script remarche donc j'appuie a nouveau sur F11 et la le script reprend ces fonction.
seule problème c'est que je n'y arrive pas.

la fonction pause:

Code : Tout sélectionner

HotKeySet("{F11}", "Pause")
HotKeySet("{F11}", "UnPaused")

Func Pause()
    $Paused
    While 
        $Paused
        sleep(999999999)
        ToolTip('Script en "Paused"',0,0)
    WEnd
    ToolTip("")
EndFunc

Func UnPause()
    $UnPaused
    While 
        $UnPaused
        NOT sleep
    WEnd
EndFunc
aider moi svp
Modifié en dernier par Tlem le lun. 29 déc. 2008 14:25, modifié 2 fois.
Raison : Ajout de la balise [..] dans le titre
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: besoin d'aide pour script pause

#2

Message par Tlem »

Merci de respecter les règles de présentation d'un message dont voici le lien : http://www.autoitscript.fr/forum/viewto ... f=35&t=595.


Il y à dans votre script deux grosses erreurs.
1 - La fonction HotkeySet ne peut définir qu'une seule fonction par touche.
2 - Vous faites dans votre script une pause de 999999999 ms, ce qui fait que votre script ne peut rien faire d'autre pendent ce temps.

Voici une solution comme une autre qui vous permettrait de gérer une 'pause' :

Code : Tout sélectionner

HotKeySet("{F11}", "Pause")
HotKeySet("{ESC}", "_Exit")

Dim $Paused = 0

While 1
    If $Paused = 1 Then 
        Sleep(50)
    Else
        Beep(100, 500)
        Sleep(1000)
    EndIf
WEnd


Func Pause()
    If $Paused = 1 Then 
        $Paused = 0
    Else
        $Paused = 1
        ToolTip('Script en "Paused"',0,0)
        Sleep(1000)
        ToolTip("")
    EndIf
EndFunc

Func _Exit()
    Exit
EndFunc
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
kakashi545
Niveau 2
Niveau 2
Messages : 22
Enregistré le : ven. 26 déc. 2008 11:45
Status : Hors ligne

Re: besoin d'aide pour script pause

#3

Message par kakashi545 »

ok merci et désoler pour les règles mais juste encore un petit truc ton script marche mais je l'ai mis dans le mien et il ne marche pas voila a quoi sa ressemble:

Code : Tout sélectionner

MsgBox(0,"bot paint","salut,ce bot est creer pour detecter une couleur y cliquer dessus")
MsgBox(0,"bot paint","aller sur le logiciel paint et quand cela sera fait cliquer sur ok")
HotKeySet("{F11}", "Pause")
HotKeySet("{ESC}", "_Exit")

$color=0xC76E00

Dim $Paused = 0



     While 1
    $coord=PixelSearch(0,0,@Desktopheight,@DesktopWidth,$color)
    If $Paused = 1 Then
    sleep(50)
    
    Else
    
     If not @error Then
    MouseClick("left",$coord[0],$coord[1], 1, 0.5)
    
    
    If @error Then
    mouseclick("left", 492, 348, 1, 0.5)
    EndIf
    EndIf
    EndIf
    WEnd


Func Pause()
    If $Paused = 1 Then
        $Paused = 0
    Else
        $Paused = 1
        ToolTip('Script en "Pause"',0,0)
        Sleep(1000)
        ToolTip("")
    EndIf
EndFunc

Func _Exit()
    Exit
EndFunc
 
Avatar du membre
Stigmate
Niveau 4
Niveau 4
Messages : 70
Enregistré le : ven. 26 déc. 2008 11:54
Status : Hors ligne

Re: besoin d'aide pour script pause

#4

Message par Stigmate »

J'aurais fait plutot comme sa :wink:
A toi d'analyser se qui n'allais pas.
Ici le programme essaye de trouver une couleur, si il la trouve il clik sur celle si avec le pinceau, si il n'y arrive pas, il clik une fois sur une coordonné que tu a défini, s'est bien cela que tu veut faire ?
Quel est l'interet du clik si il ne trouve pas ?

Code : Tout sélectionner

MsgBox(0,"bot paint","Salut, ce bot est conçu pour détecter une couleur et y cliquer dessus.")
MsgBox(0,"bot paint","Ouvrez le logiciel paint et quand cela sera fait cliquez sur ok")
HotKeySet("{F11}", "Pause")
HotKeySet("{ESC}", "_Exit")

$color=0xC76E00

Dim $Paused = 0



    While 1
    If $Paused = 1 Then
      Sleep (1000)
   
    Else
      $coord=PixelSearch(0,0,@Desktopheight,@DesktopWidth,$color)
      If not @error Then
      MouseClick("left",$coord[0],$coord[1], 1, 0.5)
      Else
       mouseclick("left", 492, 348, 1, 0.5)
       ExitLoop [color=#40BF00]; pour sortir de la boucle sinon tu ne peut plus bouger ta souris car elle est fixé sur tes coordonées[/color]
      EndIf
    EndIf
    WEnd


Func Pause()
    If $Paused = 1 Then
        $Paused = 0
        ToolTip('Script en "Execution"',0,0)
    Else
        $Paused = 1
        ToolTip('Script en "Pause"',0,0)
        Sleep(1000)
        
    EndIf
EndFunc

Func _Exit()
    Exit
EndFunc
 
kakashi545
Niveau 2
Niveau 2
Messages : 22
Enregistré le : ven. 26 déc. 2008 11:45
Status : Hors ligne

Re: [..] besoin d'aide pour script pause

#5

Message par kakashi545 »

merci beaucoup grâce a toi sa marche
Avatar du membre
Stigmate
Niveau 4
Niveau 4
Messages : 70
Enregistré le : ven. 26 déc. 2008 11:54
Status : Hors ligne

Re: [..] besoin d'aide pour script pause

#6

Message par Stigmate »

Avec plaisir :wink:
Répondre