Bot incluant une pause aléatoire

Postez ici si vous avez des difficultés a comprendre une commande, ou a créer une macro.
Répondre
Ayolla
Messages : 2
Enregistré le : 15 févr. 2015, 20:17

Bot incluant une pause aléatoire

Message par Ayolla » 15 févr. 2015, 20:51

Bonsoir, j'ai découvert Super Macro tout récemment et j'ai commencé à écrire un bot dans lequel je voudrais inclure une pause aléatoire. Je souhaite que l'action se reproduise toutes les 2 heures + +/- 1 heure (donc dans un délai compris entre 2 et 3 heures).

Pour cela j'ai récupérer une explication d'Onissius dans la partie FAQ.
(Les valeurs sont données à titre indicatif, libre à vous de les adapter à votre macro)

Vous souhaitez effectuer une pause de 3 à 10 secondes dans une macro ? L’intervalle de temps et donc de SEPT secondes (dix moins trois). Utiliser la fonction "Hasard" pour obtenir un chiffre de zéro à sept, à ce chiffre rajoutez la valeur minimum (trois). Vous obtiendrez donc une valeur comprise entre trois et dix.
Si vous utiliser la fonction "Pause", adapter donc cette valeur pour obtenir un format utilisable pas la fonction "Pause". Il est préférable d'utiliser cette fonction seulement si le temps de pause est inférieur à une minutes. Sinon cela vous oblige à effectuer une conversion pour passer vos secondes au formats "heures, minutes, secondes" (HH:MM:SS).
Si vous utilisez le plug-in "Timer", passer votre valeur en millisecondes (il suffit de multiplier par mille).

Exemple :
Variable <Var1>;0;Numerique;
Fonction <Var1>;Hasard;Nombre;7;
Calcul évolué <Var1>=<Var1>+3
Message Message;<Var1>;

Pause :
Pause <Var1>

Plug-in Timer :
Calcul évolué <Var1>=<Var1>*1000
Timer <Var1>
Voici de quoi ce compose ma macro actuellement:

Variable <Var1>;0;Numerique;
Execute notepad
Label <Test>
Fonction <Var1>;Hasard;Nombre;7;
Calcul évolué <Var1>=<Var1>+3
Type <Var1>
Pause <Var1>
Goto <Test>

J'ai repris la macro d'Onissius, au départ avec mes valeurs puis j'ai repris les siennes car je rencontre un problème. Lorsque je lance la macro j'obtiens:
- Ouverture de Notepad => OK
- Les fonctions s'executent => OK
- Notepad m'indique le résultat de la fonction Calcul => OK
- La pause ne se déclenche pas => Mon Problème!
- Le Goto relance la macro avec le même résultat, j'obtiens donc une suite de chiffre dans mon Notepad :cry:

Je pense que j'ai identifié le problème. Le format de ma fonction Calcul n'est pas correct pour être utilisé dans une "Pause". C'est me semble t-il ce qu'Onissius veut dire ici:
Si vous utiliser la fonction "Pause", adapter donc cette valeur pour obtenir un format utilisable pas la fonction "Pause"
Malheureusement j'ai chercher un peu partout sur le forum, en regardant des videos et en parcourant l'aide, rien à faire je ne trouve pas comment convertir cette fonction dans un format me permettant de l'utiliser dans une "Pause".

Quelqu'un aurait une idée pour me dépatouiller?

Avatar du membre
Feitan
Site Admin
Messages : 301
Enregistré le : 11 avr. 2014, 15:15

Re: Bot incluant une pause aléatoire

Message par Feitan » 15 févr. 2015, 22:21

Il faut que tu utilise un format :

HH:MM:SS

Du coup si Var1 est en seconde tu crée une variable <Heure> qui sera égale à <Var1>/3600
Tu oublie pas de tronquer la valeur.

Pour ta variable minute elle vaudra <Minute>=(<Var1>-<Heure>*3600)/60
Pareil tu tronque cette valeur

Et seconde sera égale à <Seconde>=(<Var1>-<Heure>*3600-<Minute*60>)/60
Dans le doute tronque aussi cette valeur.

Et voilà tu as juste à créer une variable qui sera <Temps>=<Heure>+:+<Minute>+:+<Seconde>

J'espère avoir été clair ;)

Ayolla
Messages : 2
Enregistré le : 15 févr. 2015, 20:17

Re: Bot incluant une pause aléatoire

Message par Ayolla » 16 févr. 2015, 22:40

Bonsoir, merci pour ta réponse Feitan, j'ai réussi à créer une pause aléatoire.

J'ai rencontré deux problèmes, je ne sais pas si c'est normal ou pas:
- J'ai du décomposer les opérations en plusieurs calcul évolué car il refuse les parenthèses
- J'ai du faire repasser chacune des variables Heures Minutes et Secondes par une variable Alphanumérique pour obtenir <Heurefinale>=0+<Heure> sinon la pause n'intègre pas les valeurs inférieure à 10.

Voici ma macro, elle pourra peut-être servir à quelqu'un.

Réalise une pause aléatoire comprise entre 00:00:00 et 01:00:00
Variable <Hasard>;0;Numerique;
Variable <ChiffreHeure>;0;Numerique;
Variable <Heure>;0;Alpha;
Variable <ChiffreMinute>;0;Numerique;
Variable <Minute>;0;Alpha;
Variable <ChiffreSeconde>;0;Numerique;
Variable <Seconde>;0;Alpha;
Variable <Temps>;0;Alpha;
Execute notepad
Label <Test>
Fonction <Hasard>;Hasard;Nombre;3600;
Type <Hasard>
Type Special ENTREE;
Pause 00:00:03
Calcul évolué <ChiffreHeure>=<Hasard>/3600
Fonction <ChiffreHeure>;Nombre;Tronc;
Examine <Heure>;<;10;
Calcul évolué <Heure>=0+<ChiffreHeure>
Calcul évolué <Heure>=0+<ChiffreHeure>
Type <Heure>
Type Special ENTREE;
Pause 00:00:03
Calcul évolué <ChiffreMinute>=<ChiffreHeure>*3600
Calcul évolué <ChiffreMinute>=<Hasard>-<ChiffreMinute>
Calcul évolué <ChiffreMinute>=<ChiffreMinute>/60
Fonction <ChiffreMinute>;Nombre;Tronc;
Examine <ChiffreMinute>;<;10;
Calcul évolué <Minute>=0+<ChiffreMinute>
Calcul évolué <Minute>=<ChiffreMinute>
Type <Minute>
Type Special ENTREE;
Pause 00:00:03
Calcul évolué <ChiffreSeconde>=<ChiffreHeure>*3600
Calcul évolué <ChiffreSeconde>=<ChiffreSeconde>+<ChiffreMinute>*60
Calcul évolué <ChiffreSeconde>=<Hasard>-<ChiffreSeconde>
Examine <ChiffreSeconde>;<;10;
Calcul évolué <Seconde>=0+<ChiffreSeconde>
Calcul évolué <Seconde>=<ChiffreSeconde>
Type <Seconde>
Type Special ENTREE;
Pause 00:00:03
Calcul évolué <Temps>=<Heure>+:+<Minute>+:+<Seconde>
Type <Temps>
Type Special ENTREE;
Pause <Temps>
Type Yeah!!!
Pause 00:00:10
Goto <Test>

Répondre