Aller au contenu
  • 0

Problème stopper mon skript..


Question

Posté(e)

Bonsoir,

 

Je poste cette demande pour trouver une solution à un problème sûrement tout bête mais je ne m'y connais pas assez pour ça et même sur le net j'ai pas trouvé :/

 

[spoiler=Code]

command /am [<text>]:
   trigger:
       if arg 1 is "on":
           send "message activé"
           loop 200 times:
               wait 300 seconds
               broadcast "message1"
               wait 300 seconds
               broadcast "message2"
               wait 300 seconds
               broadcast "message3"
       if arg 1 is "off":
           send "message de stop"

 

 

(j'ai enlevé les messages)

 

Problème : quand je fais /am off ça ne m'arrête pas l'automessage.. Comment faire pour stopper le skript ?

 

Merci d'avance !

5 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Voila ton scripts (si tu veut que je t'explique hésite pas) :

 

on load: #Au chargement du script met la variable sur 1
   set {an.number} to 1

every 5 seconds: #Tout les X temps
   if {an.load} is true: #Si /am on est mis sur activé
       if {an.number} = 1: #Si la raible = .. alors message ..
           broadcast "message 1"
           add 1 to {an.number}
       else if {an.number} = 2:
           broadcast "message 2"
           add 1 to {an.number}
       else if {an.number} = 3:
           broadcast "message 3"
           set {an.number} to 1

command /am <text>:
   trigger:
       if arg 1 is "on":
           set {an.load} to true
           message "&aMessage activé !"
       if arg 1 is "off":
           set {an.load} to false
           message "&cMessage désactivé !"
       if arg 1 is not "on" or "off":
           message "&c/am on|off"

  • 0
Posté(e)

Le problème de ce que t'as fait @Catatomik, c'est que une fois que ton bloc est enclenché, c'est-à-dire quand tu tapes la commande, bah il est pas programmé pour s'arrêter donc il s'arrête pas. Ce qu'il faut faire donc, c'est ré-exécuter ton bloc seulement si une condition que tu peux changer manuellement est remplie. Le plus simple et c'est ce qu'utilise @Natix35, c'est de tester à chaque fois si une variable est sur true. La variable pouvant être mise sur false pour arrêter les messages avec une commande.

  • 0
Posté(e)

Y a plus optimisé x) :

 

every 5 minutes:
   {am} is true
   broadcast "MESSAGE"

command /am [<text>]:
   trigger:
       arg is not set:
           send "&c/AM ON/OFF !"
       else if arg is "on":
           set {am} to true
           send "&aAM activé !"
       else if arg is "off":
           delete {am}
           send "&cAM désactivé !"
       else:
           send "&cAM ON/OFF !"

  • 0
Posté(e)
Voila ton scripts (si tu veut que je t'explique hésite pas) :

 

on load: #Au chargement du script met la variable sur 1
   set {an.number} to 1

every 5 seconds: #Tout les X temps
   if {an.load} is true: #Si /am on est mis sur activé
       if {an.number} = 1: #Si la raible = .. alors message ..
           broadcast "message 1"
           add 1 to {an.number}
       else if {an.number} = 2:
           broadcast "message 2"
           add 1 to {an.number}
       else if {an.number} = 3:
           broadcast "message 3"
           set {an.number} to 1

command /am <text>:
   trigger:
       if arg 1 is "on":
           set {an.load} to true
           message "&aMessage activé !"
       if arg 1 is "off":
           set {an.load} to false
           message "&cMessage désactivé !"
       if arg 1 is not "on" or "off":
           message "&c/am on|off"

Impeccable merci beaucoup !

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