AutoIT - 2 Petites questions

Bonjour bonjour,
Je cherché un programme me permettant de simuler la tape d’une touche du clavier et je l’ai trouver en surfant sur votre forum : AutoIT

J’ai donc tenté de faire un scipt qui me permet d’éviter de me faire déconnecté pendant que je ne joue pas sur un jeu en réseau bien connu (ilogique hein ? ^^) …
Mais il y’a quelque imperfections !
Voila mon script :
[color=red]
WinWaitActive(“World of Warcraft”)
sleep(5000)
AutoItSetOption(“SendKeyDelay”, 45)
Send("{ENTER}/s Héhé…{ENTER}")
sleep(290000)
Send("{ENTER}/s Héhé…{ENTER}")
sleep(290000)
Send("{ENTER}/s Héhé…{ENTER}")
sleep(290000)
Send("{ENTER}/s Héhé…{ENTER}")
sleep(290000)
Send("{ENTER}/s Héhé…{ENTER}")
sleep(290000)
Send("{ENTER}/s Héhé…{ENTER}")
sleep(290000)
Send("{ENTER}/s Héhé…{ENTER}")
sleep(290000)
Send("{ENTER}/s Héhé…{ENTER}")
sleep(290000)
Send("{ENTER}/s Héhé…{ENTER}")
sleep(290000)
Send("{ENTER}/s Héhé…{ENTER}")
sleep(290000)[/color]…

Il m’évite donc de passer abs et d’étre déconnécté …
Mais j’aimeré le perfectionné, hélas je suis pas un As en programmation (1er script ^^)

J’ai donc deux question :

La 1er : Comment fait pour que le programme REPETE :
[color=blue]sleep(290000)
Send("{ENTER}/s Héhé…{ENTER}")[/color]
indéfiniment ? Et pour ne pas faire comme moi; le réécrire bétement ligne aprés ligne ^^

La 2éme : Comment faire pour qu’une fois sur la fenétre de mon jeu, et que le programme se lance donc, il continue a fonctionné MEME si je change de fénétre (surf sur internet,Word…) . Une sorte de sauvegarde ?
Car pour l’instant avec ce script, je suis obligé de laisser la fenétre ouverte en 1er plan et je n’est plus qu’a aller devant la TV :s

Merci d’avance pour vos réponse =)

Alors ? Il n’y a pas d’expert programmeur qui pourrait m’éclairé ?

Peut-être que les programmeurs ne jouent pas? :slight_smile:

Sérieusement, RTFM :slight_smile: tu dois bien avoir un mécanisme de boucle dans le pseudo langage d’AutoIT ? Genre :

for(;;) {
  Send("{ENTER}/s Héhé...{ENTER}")
  sleep(290000)
}

Sinon peux tu mettre un titre plus précis (notamment, mets y ce que tu veux faire, pas que le logiciel dont tu te sers)

Un petit tour sur google, en cherchant: autoIT wow. Tu trouveras rapidement ton bonheur.

Par contre, c’est le genre de bot qui conduise à un ban (c’est d’ailleurs pour ça que j’ai supprimé le lien direct).

If faut faire une boucle…

Do
statements

Until <expression>

Salut je sais que ton post date un peut mais sa peut servire a d’autre utilisateur donc …

Pour répété ta boucle indéfiniment (enfin tant que ton script n’est pas fermé volontairement ou lors de l’arret de ton pc) tu peut faire :

;Code autoit:

WinWaitActive(“World of Warcraft”)
sleep(5000)

While 1 ; Boucle pour jamais quitter le programme

AutoItSetOption(“SendKeyDelay”, 45)
Send("{ENTER}/s Héhé…{ENTER}")
sleep(290000)

Wend

PS: pour évité d’etre déconecter sans lancer de message (bah oui sa sert a rien et sa fait pas discret) tu peut tout simplement faire bouger ton perso d’avant en arriére de temp en temp
exemple :

Send("{UP}")
Sleep(1000)
Send("{DOWN}")

a la place de
Send("{ENTER}/s Héhé…{ENTER}")

======================================================================================================
ou est ta condition de sortie de boucle ?

Pour sortir d’une boucle il suffit de faire : “exitloop 1” (le 1 indique de sortir d’une seul boucle).
Par exemple on va faire en sorte que a chaque boucle, si le jeux est quitter, sa quitte la boucle.


$time = 290000                                          ;Indique dans une variable un nombre.
$time_caract = 45                                      ;A changer suivant la puissance du PC (+ si pc lent, - si pc rapide).
$text = "/s Héhé..."                                     ;Texte qui va être écrit.

AutoItSetOption("Sendkeydelay", $time_caract)   ;Sert a limiter la vitesse d'écriture du texte (sinon les caractère inverser si le Pc est lent).
Opt("Wintitlematchmode", 3)                       ;Sert a dire qu'il vérifier au caractère prêt le titre du jeux, car si tu fait un recherche sur Wow ;avec firefox, sa risque de lancer ton script car il contiendra un mot comme titre ex : (Warcraft - Recherche Google - Mozilla Firefox).

Winwaitactive("World of Warcraft")               ;Attend la fenêtre activer (en premier plan).
While 1                                                      ;Début boucle.
     Send ("{ENTER}&$text&{ENTER}")          ;Écrit avec le clavier.
     Sleep ($time)                                         ;Petite pause (le temps est donner avec la variable).
     If WinExist ("World of Warcraft") = 0 Then   ;Début Si ..., Alors...
          Exitloop 1                                         ;Quitte la boucle.
     Endif                                                     ;Fin Si.
Wend                                                         ; Fin boucle.

Comme tu pourra changer les variable suivant comme tu a envie.
Les variable sont au début et commence par un “$… = …”.
Pour le tire du jeux, mais le au caractère prêt ! (sans faute d’orthographe).

Si tu a d’autre question, n’hésite pas.

Edit : J’ai fait sa de tête alors si tu a des erreur dis le moi.
Puis pour faire des grand espace, comme les commentaire que j’ai fait a la fin, appuie sur , mais sur ce forum on peut pas.
Edité le 18/03/2009 à 13:27