Vous devez faire une attente de longueur indéterminé, et vous ne savez pas comment?
Ce tutoriel est pour vous, bon c'est pratiquement un code à copier coller mais je ne peut vraiment pas faire autrement.
Tout d'abord nous avons une boucle, bon jusque là c'est pas trop difficile.
While 1
If <expression> = <condition> then Exitloop
Wend
Puis nous avons aussi ce genre de boucle que je préfère
Do
Until <expression> = <condition>
Déjà qu'est ce qu'il y a de différent la dedans.
Rien car on utilise pas le While comme il se devrait, il faut savoir que les boucles infini ne sont pas très bien vu en programmation.
Voici ce qu'il devrait y avoir pour le While
While <expression> <> <condition>
Wend
Il faut noter le <> qui veut dire different car si c'est différent on fait ce qu'il y a dans le while.
Maintenant la différence.
Pour le do, quelque soit la condition de départ, il le fera au moins une fois.
Alors que pour le while si la condition de départ n'est pas bonne, il ne le fera même pas une fois.
A vous de préférer utiliser un do ou un While mais je vais montrer pour les deux.
La ligne de code nous permettant de tester un pîxel est celle-ci.
$pixel = PixelGetColor( 0 , 0 , 800, 600)
If Hex($pixel, 6 ) = <condition> then
EndIf
N'oubliez pas de déclarer vos variables.
Comment l'inclure dans une boucle eh bien c'est très simple
Pour le DO
Cliquez pour révéler
Cliquez pour masquer
Do
$pixel = PixelGetColor( 0 , 0 , 800, 600)
Until Hex($pixel, 6 ) = <condition>
Pour le While
Cliquez pour révéler
Cliquez pour masquer
$pixel = PixelGetColor( 0 , 0 , 800, 600)
While Hex($pixel, 6 ) = <condition>
$pixel = PixelGetColor( 0 , 0 , 800, 600)
Wend
Eh bien pour le vrai while on est obligé de faire une répétition alors que pour le mauvais (l'interdit)
While mauvais
Cliquez pour révéler
Cliquez pour masquer
While 1
$pixel = PixelGetColor( 0 , 0 , 800, 600)
if Hex($pixel, 6 ) = <condition> then Exitloop
Wend
Certes il marchera mais il faut penser à toutes les conditions de sorties sous peine que vôtre programme peut rester coincé en boucle...
Maintenant que nous savons faire une boucle de détection comment faire que pour un certain temps donné on veut qu'elle sorte.
Exemple la fille d'attente de Dofus on peut dire qu'au bout de 5 minutes c'est mort.
C'est très simple regardez il suffit juste de rajouter un compteur pour la condition de sortie
Pour le do
Cliquez pour révéler
Cliquez pour masquer
$cpt = 0
Do
$cpt += 1 ;on ajoute 1 à $cpt
$pixel = PixelGetColor( 0 , 0 , 800, 600)
Until Hex($pixel, 6 ) = <condition> or $cpt >= 300000 ;5 minutes en gros
Pour le While bon
Cliquez pour révéler
Cliquez pour masquer
$pixel = PixelGetColor( 0 , 0 , 800, 600)
$cpt = 0
While Hex($pixel, 6 ) = <condition> or $cpt < 300000 ;Noter que le While est l'inverse du Do en gros
$pixel = PixelGetColor( 0 , 0 , 800, 600)
Wend
While mauvais
Cliquez pour révéler
Cliquez pour masquer
$cpt = 0
While 1
$cpt +=1
$pixel = PixelGetColor( 0 , 0 , 800, 600)
if Hex($pixel, 6 ) = <condition> then Exitloop
if $cpt > 300000 then Exitloop
Wend
N'oubliez pas de déclarer vos variables.
(Notez que j'ai pas fait ce tuto chez moi je ne peux donc absolument pas tester les bouts de codes que j'ai fait dans ce tuto, merci de signaler tout problème dans la bonne section.)