{Autoit} stopper un Send et le relancer

  • Partenaires

Utilisateurs qui regardent le poste (Total: 0, Members: 0, Invité: 0)

Statut
La discussion n'est pas ouverte à d'autres réponses
T

Turki1923

Level 2
Level 1
13 Avr. 2013
12
0
201
Bonsoir,

J'ai fait un script pour un jeu mais j'ai un problème, voici mon code :

Code:
Send("{k down}") 
Sleep(70) 
Send("{k up}") 
$anti_kick = 0 



While 1 
    
   


   $couleur_pixel = Pixelgetcolor (24,411) 
   $anti_kick = $anti_kick+1 

   If $couleur_pixel = 0xCEEBFF Then 
;;;Ce que vous voulez;;; 

Send("{s up}") 
Sleep(100) 
Send("{a down}") 
Sleep(300) 
Send("{a up}") 



$anti_kick = 0 


Else  
   If $anti_kick == 6000 Then 
   Send("{s up}") 
   Sleep(300) 
   Send("{k down}") 
   Sleep(500) 
   Send("{k up}") 
   Sleep(50) 
   Send("{d down}") 
   Sleep(50) 
   Send("{m down}") 
   Sleep(600) 
   Send("{m up}") 
   Send("{d up}") 
    
   $anti_kick = 0 
   Endif 
EndIf 

Send("{s down}") 
WEnd
Ce que je voudrais faire C'est de stopper le "Send("{s down}") lorsque je clique sur une touche du clavier et le relancer avec une autre touche.

Merci d'avance pour vos réponses
 
Cyrion

Cyrion

._.
Level 5
Level 4
Level 3
Level 2
Ancien staff
Level 1
8 Juil. 2010
2,523
2
944
www.bufferoverflow.fr
Je ferais un truc du genre

Code:
HotKeySet("{F1}","Stop")
Global $Stop = False

Send("{k down}") 
Sleep(70) 
Send("{k up}") 
$anti_kick = 0 



While 1 
    
   


   $couleur_pixel = Pixelgetcolor (24,411) 
   $anti_kick = $anti_kick+1 

   If $couleur_pixel = 0xCEEBFF Then 
;;;Ce que vous voulez;;; 


Send("{s up}") 
Sleep(100) 
Send("{a down}") 
Sleep(300) 
Send("{a up}") 



$anti_kick = 0 


Else  
   If $anti_kick == 6000 Then 
   Send("{s up}") 
   Sleep(300) 
   Send("{k down}") 
   Sleep(500) 
   Send("{k up}") 
   Sleep(50) 
   Send("{d down}") 
   Sleep(50) 
   Send("{m down}") 
   Sleep(600) 
   Send("{m up}") 
   Send("{d up}") 
    
   $anti_kick = 0 
   Endif 
EndIf 

if(NOT $Stop) Then
Send("{s down}") 

WEnd

Func Stop
  $Stop = NOT $Stop
EndFunc
 
T

Turki1923

Level 2
Level 1
13 Avr. 2013
12
0
201
Merci d'avoir répondu, mais sa m'affiche une erreur.

l'erreur :

>"C:\Program Files\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "Z:\home\kargin\Bureau\script.au3"
Z:\home\kargin\Bureau\script.au3 (87) : ==> "While" statement has no matching "Wend" statement.:
Func $Stop

>Exit code: 1 Time: 0.641



Voici mon code complet :


Send("Login{tab}motdepasse{enter}")
Sleep(2000)



HotKeySet("{F1}","Stop")
Global $Stop = False

Send("{k down}")
Sleep(70)
Send("{k up}")
$anti_kick = 0



While 1




$couleur_pixel = Pixelgetcolor (24,411)
$anti_kick = $anti_kick+1

If $couleur_pixel = 0xCEEBFF Then
;;;Ce que vous voulez;;;


Send("{s up}")
Sleep(100)
Send("{a down}")
Sleep(300)
Send("{a up}")



$anti_kick = 0


Else
If $anti_kick == 6000 Then
Send("{s up}")
Sleep(300)
Send("{k down}")
Sleep(500)
Send("{k up}")
Sleep(50)
Send("{d down}")
Sleep(50)
Send("{m down}")
Sleep(600)
Send("{m up}")
Send("{d up}")

$anti_kick = 0
Endif
EndIf

if(NOT $Stop) Then
Send("{s down}")
EndIf
Wend

Func $Stop
$Stop = NOT $Stop
EndFunc
 
Dernière édition:
T

Turki1923

Level 2
Level 1
13 Avr. 2013
12
0
201
Je ne pense pas que ce soit le problème car sans ton code sa marche. (Sinon j'ai essayé aussi d'enlever l'Endif toujours la meme erreur).

Je pense que le problème provient du "Func $Stop" comme le précise le programme.
 
Cyrion

Cyrion

._.
Level 5
Level 4
Level 3
Level 2
Ancien staff
Level 1
8 Juil. 2010
2,523
2
944
www.bufferoverflow.fr
Je crois que en Autoit , il n'y a ps de parenthèse dans le if. Je ne suis pas sur , essaie toujours.
 
T

Turki1923

Level 2
Level 1
13 Avr. 2013
12
0
201
Nop ça ne marche pas, je pense qu'il y a Func qui attend des paramètres, je ne sais pas.
 
Cyrion

Cyrion

._.
Level 5
Level 4
Level 3
Level 2
Ancien staff
Level 1
8 Juil. 2010
2,523
2
944
www.bufferoverflow.fr
Ah non non , je viens de voir mon erreur (J'ai pas Autoit d'installer donc j'ai pas pu vérifier).

C'est pas "Func $Stop" , mais juste "Func Stop"
 
T

Turki1923

Level 2
Level 1
13 Avr. 2013
12
0
201
Nop sa marche pas, quand je fais ça il dit :
Func Stop
Func Stop^ ERROR
 
T

Turki1923

Level 2
Level 1
13 Avr. 2013
12
0
201
J'ai trouvé l'erreur.

Enfait il y en avait deux :

Les parenthèses :

Func Stop()

et la boucle qui foirait tout, sa marche quand j'enlève la boucle.

Mais le problème c'est que je veux garder la boucle, arrêter de faire "s" quand j'appuie sur une touche et pouvoir la reprendre en appuyant sur une autre touche.
 
Statut
La discussion n'est pas ouverte à d'autres réponses