Aller au contenu
  • 0

Annuler une commande


Question

Posté(e)

Bonjour,

 

Je réalise actuellement une nouvelle version de mon Skript ReloadAssist -> https://skript-mc.fr/forum/resources/reloadassist.641/.

 

Et je souhaite faire une commande /reload stop pour que ça annule la commande reload.

options:
   P: &9ReloadAssist &7»&a
   E: &cErreur de frappe, réessayer !.

command /reload [<text>]:
   permission : assist.reload
   trigger:
       if arg 1 is not set:
           message "&2[&a&lRELOAD&2] &8Veuillez confirmer pour reload : &9/reload confirm"           
       if arg 1 is "confirm":
           send player title "&c&lReload" with subtitle "&c&o&llancé par %player%" for 15 seconds
           wait 1 seconds
           send player title "&c&lReload" with subtitle "&c&o&len cours" for 20 seconds
           wait 5 seconds
           broadcast "&2[&a&lRELOAD&2] &f&lReload dans &7&l15 &f&lsecondes !"
           wait 5 seconds
           broadcast "&2[&a&lRELOAD&2] &f&lReload dans &7&l10 &f&lsecondes !"
           wait 1 seconds
           broadcast "&2[&a&lRELOAD&2] &f&lReload dans &7&l9 &f&lsecondes !"
           wait 1 seconds
           broadcast "&2[&a&lRELOAD&2] &f&lReload dans &7&l8 &f&lsecondes !"
           wait 1 seconds
           broadcast "&2[&a&lRELOAD&2] &f&lReload dans &7&l7 &f&lsecondes !"
           wait 1 seconds
           broadcast "&2[&a&lRELOAD&2] &f&lReload dans &7&l6 &f&lsecondes !"
           wait 1 seconds
           broadcast "&2[&a&lRELOAD&2] &f&lReload dans &7&l5 &f&lsecondes !"
           wait 1 seconds
           broadcast "&2[&a&lRELOAD&2] &f&lReload dans &7&l4 &f&lsecondes !"
           wait 1 seconds
           broadcast "&2[&a&lRELOAD&2] &f&lReload dans &7&l3 &f&lsecondes !"
           wait 1 seconds
           broadcast "&2[&a&lRELOAD&2] &f&lReload dans &7&l2 &f&lsecondes !"
           wait 1 seconds
           broadcast "&2[&a&lRELOAD&2] &f&lReload dans &7&l1 &f&lsecondes !"       
           command "/rl"

 

 

Cordialement,

4 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Déjà, tu pourrais utiliser une boucle au lieu de répéter le même code 10 fois.

Et pour ton affaire, tu peux pas empêcher un bloc de s'exécuter une fois qu'il est lancé. Tu dois donc inclure dans ce code un moyen de l'arrêter par l'extérieur. Tu peux créer une variable booléenne (true/false) avec ses propriétés :

- elle se met sur false au démarrage (donc aussi au reload),

- elle se met sur true quand tu confirmes le reload,

- à la fin de ton bloc, tu testes si elle vaut toujours true, et sinon, le code s'arrête avec un message "Reload annulé".

options:
   P: &9ReloadAssist &7»&a
   E: &cErreur de frappe, réessayer !.

command /reload [<text>]:
   permission : assist.reload
   trigger:

       if arg 1 is not set:
           message "&2[&a&lRELOAD&2] &8Veuillez confirmer pour reload : &9/reload confirm"         

       if arg 1 is "confirm":
           set {Reload.EnCours} to true
           send player title "&c&lReload" with subtitle "&c&o&llancé par %player%" for 15 seconds
           wait 1 seconds
           send player title "&c&lReload" with subtitle "&c&o&len cours" for 20 seconds
           wait 5 seconds
           broadcast "&2[&a&lRELOAD&2] &f&lReload dans &7&l15 &f&lsecondes !"
           wait 5 seconds
           #La boucle promise
           set {_Seconde] to 10
           while {_Seconde} is more than 1:
               broadcast "&2[&a&lRELOAD&2] &f&lReload dans &7&l%{_Seconde}% &f&lsecondes !"
               wait 1 seconds
               remove 1 from {_Seconde}
           broadcast "&2[&a&lRELOAD&2] &f&lReload dans &7&l1 &f&lseconde !"

           if {Reload.EnCours} is true:
               command "/rl"
           else:
               broadcast "&2[&a&lRELOAD&2] &f&lFinalement, non, pas de reload."

       if arg 1 is "stop":
           set {Reload.EnCours} to false

on load:
   set {Reload.EnCours} to false

 

Avec ça, tu peux même ajouter des sécurités pour empêcher une personne de lancer le reload quand il est déjà lancé, ou le lancer sans attendre si on retape la commande. Tu peux aussi empêcher quelqu'un d'annuler le stop si y'a rien à stopper.

  • J'aime 1
  • 0
Posté(e)
Juste, je fais un deuxième post pour que tu reçoives la notification. Je viens d'éditer le code que je t'ai donné parce que j'avais laissé des trucs qu'avaient rien à y faire. x)

Tkt j'ai supprimé. J'ai aussi corrigé une erreur :)

 

M'autorise tu as mettre le skript en ligne ? Bien sur je te nomme dans la MAJ du Skript.

  • 0
Posté(e)
M'autorise tu as mettre le skript en ligne ? Bien sur je te nomme dans la MAJ du Skript.

 

Dahah si il est sur ce topic, il est déjà en ligne. :D

Mais tu fais ce que tu veux, je fais pas ça spécialement pour moi, donc c'est pas important. 1423950658-smiley-chat.png

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