Aller au contenu
  • 0

Comment faire un timer


Question

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Bonjour,

 

Il faut que tu précises si le timer et incrémenter ou décrémenter...

 

Après bah normalement tu peux faire ça. (J'ai pas le temps de faire un scoreboard, ducoup faut que tu mettes les variables dedans.)

 

on skript load:
   set {seconde} to 60
   set {minute} to 30

every second:
   if {seconde} > 0;
       remove 1 from {seconde}
   else:
       remove 1 from {minute}
       add 60 to {seconde}

 

EDIT : Le code que je t'ai donné n'est pas fini essaye de le compléter avec celui de @Random (C'est un bon exercice x) )

  • 0
Posté(e)
command /timer:
   trigger:
       set {_timer} to 10
       while {_timer} is bigger than 0:
           wait 1 second
           remove 1 from {_timer}
       broadcast "Timer fini"

command /timer2:
   trigger:
       set {_timer} to 10
       loop {_timer} times:
           {_timer} is bigger than 0:
               wait 1 second
               remove 1 from {_timer}
           else:
               broadcast "Timer fini"

  • 0
Posté(e)
command /minuteur [<integer>]:
   trigger:
       set {_int} to arg
       set {_min} to {_int} / 60
       set {_min} to round down {_min}
       set {_sec} to ({_int} - {_min} * 60)
       while ({_sec} + {_min}) is not 0:
           wait 1 second
           if {_sec} is not 0:
               remove 1 from {_sec}
           else if {_sec} = 0:
               set {_sec} to 60
               remove 1 from {_min}
           {_sec} < 10:
               {_min} < 10:
                   send "0%{_min}%:0%{_sec}%"
               else:
                   send "%{_min}%::0%{_sec}%"
           else:
               {_min} < 10:
                   send "0%{_min}%:%{_sec}%"
               else:
                   send "%{_min}%:%{_sec}%"

  • 0
Posté(e)
command /minuteur [<integer>]: trigger: set {_int} to arg set {_min} to {_int} / 60 set {_min} to round down {_min} set {_sec} to ({_int} - {_min} * 60) while ({_sec} + {_min}) is not 0: wait 1 second if {_sec} is not 0: remove 1 from {_sec} else if {_sec} = 0: set {_sec} to 60 remove 1 from {_min} {_sec} < 10: {_min} < 10: send "0%{_min}%:0%{_sec}%" else: send "%{_min}%::0%{_sec}%" else: {_min} < 10: send "0%{_min}%:%{_sec}%" else: send "%{_min}%:%{_sec}%"

 

Tu peux m'expliquer ce que tu as fais ? (Parce que je comprends rien)

  • 0
Posté(e)
Tu peux m'expliquer ce que tu as fais ? (Parce que je comprends rien)

Je vais t'expliquer avec un exemple.

J'execute /compteur 90

Donc je souhaite aller de 0 seconde a 90 secondes.

Les variables ici

set {_int} to arg
# Celle ci dessus sert à avoir l'argument 1

set {_min} to {_int} / 60
# Celle ci dessus permet d'obtenir le nombre de secondes en minutes
# Exemple 90 secondes >> 1.5 minutes

set {_min} to round down {_min}
#Celle ci dessus sert à récupérer le nombre de minutes avec un chiffre entier, cela va arrondir la valeur précédente 1.5 au nombre entier en dessous
#Ainsi avoir le nombre de minutes

set {_sec} to ({_int} - {_min} * 60)
#Cette variable ci dessus permet d'obtenir le nombre de secondes précise
# Exemple 90 secondes
#{_int} = valeur de base = 90
#{_min} = nombre de minutes dans valeur de base
#Cela donne (valeur de base - {_min} * 60)
# 90 - 1 * 60 = 30

 

Enquite la partie 'tant que'

 while ({_sec} + {_min}) is not 0:

Tant que l'addition de secondes comprises dans les minutes et des secondes normales ne sont pas égales à 0.

 

Ensuite toute les secondes on enleve 1 au secondes normales si elles n'est pas égale à 0 sinon on retire une minute et on remet les secondes normales.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.