Aller au contenu
  • 0

Action Bar - Timer


Question

Posté(e)

Bonjour, aujourd'hui j'ai besoin de votre aide !

Je suis actuellement entrain de "travailler" sur un Skript et j'ai un problème

Je fais un système de "pouvoirs" exemple : Lancer des boule de feu ça j'ai réussi c'est facile avec un countdown qui pour l'instant est de 5 secondes pour les test.

Le seul problème que je rencontre c'est que j'essaye également d'afficher le temp restant dans l'action bar

Par exemple j'utilise le pouvoirs 2 secondes après sur l'action bar y'auras écris: &6Pouvoirs dans &c3 secondes

Et lorsque le temp de recharge seras finit l'action bar auras écris : &6Pouvoirs rechargé

 

Mon code pour l'instant j'espère que vous pourrez m'aidez et en tout cas je vous remercie d'essayer de comprendre et d'essayer de résoudre mon problème

 

on left click with stick:
   if player is holding a stick named "&6Pouvoirs"
       set {_wait} to difference between {pouvoirs.%player%.lastused} and now
       if {_wait} is less than 5 seconds:
           message "&6Pouvoirs &f» &eVotre pouvoirs n'est pas encore disponible &f(&a{%{_wait}%&c/&a5 seconds&f)"
       else:
           make the player shoot an fireball at speed 1
           set {pouvoirs.%player%.lastused} to now
           set action bar of player to "&6Pouvoirs dans : RAJOUTER ICI LE TIMER PAR RAPPORT AU TEMP DU POUVOIRS SI IL LE FAUT METTER LE EN OPTIONS EXEMPLE {@cooldown.pouvoirs.feu} ou j'sais pas ^^&e"

 

Surtout si vous n'avez pas compris, n'hésitez pas à me poser des questions j'essayerais d'y répondre le plus rapidement possible

 

Cordialement, Synatiks

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)

(Je suis sur tél, désolé si il y au charabia) :

 

on left click with stick:
   if player is holding a stick named "&6Pouvoirs"
       if difference between {pouvoirs.%player%.lastused} and now is less than 5 seconds:
           message "&6Pouvoirs &f» &eVotre pouvoirs n'est pas encore disponible &f(&a{%difference between {pouvoirs.%player%.lastused} and now%&c/&a5 seconds&f)"
       else:
           make the player shoot an fireball at speed 1
           set {pouvoirs.%player%.lastused} to now
           wait 1 tick
           set {_time} to 5
           while difference between {pouvoirs.%player%.lastused} and now is less than 5 seconds:
               set action bar of player to "&6Pouvoirs dans : %{_time}% secondes !"
               wait 1 second
               remove 1 from {_time}
               {_time} <= 0:
                   set action bar of player to "&6Pouvoirs rechargés !"

  • J'aime 1
  • 0
Posté(e)

Oui mais dans ce cas précis, l'action bar ne resteras pas actifs si il ne reclique par sur l'item ? Et de plus tu n'enlèves que 1 donc il resteras à 4 non ?

 

Cordialement, Synatiks

  • 0
Posté(e)
Oui mais dans ce cas précis, l'action bar ne resteras pas actifs si il ne reclique par sur l'item ? Et de plus tu n'enlèves que 1 donc il resteras à 4 non ?

 

Cordialement, Synatiks

Si si puisque c'est un "while". Un while est une boucle qui se répète tant qu'une condition est remplie. Dans ce cas la condition est (si la différence entre ce moment et la déclaration de la variable {pouvoirs.%player%.lastused} est plus petit que 5 secondes). Ca ne va pas s'arrêter à 4, non mais à 0^^ !

  • 0
Posté(e)
Ca a marché ?

Je n'ai pas pu testé mais normalement cela devrais marché je te dis quoi dès que je pourrais :')

 

Edit: Oui, il fonctionne je l'ai juste adapter pour mettre les 0.1 secondes ^^

 

Cordialement, Synatiks

×
×
  • 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.