Aller au contenu
  • 0

Problème loop (supposition)


Question

Posté(e)

Bonjour/Bonsoir,

 

Dans le cadre de création d'un skript hunger game je me heurte à un problème concernant une commande.

 

La commande que je souhait implémenter est une commande permettant de définir la position de chaque coffre présent sur la map, en imposant une vérification sur celui ci, c'est à dire si celui ci n'a pas été déjà enregistré.

 

Pour cela j'utilise donc une variable listen je la loop et je compare les coordonnées à l’intérieur avec celle que je veux ajouté, si elles n'y sont pas j'y ajoute, sinon non.

 

Mon problème survient au moment du loop, j'ai l'impression que le loop mouline et ne fait rien, pas de message d'erreur.

 

command hgsetcoffre <text>:
   trigger:
       if player have permission "admin.hg":
           if arg 1 is "add":
               if targeted block is a chest:
                   set {_hgcoffre} to location of targeted block
                   send "done" to player
                   loop {hgcoffreliste::*}:
                       if loop-value is "%{_hgcoffre}%":
                           send "&c[&6HUNGER&c-&6GAMES&c] &cErreur, localisation déjà enregistrée" to player
                       else:
                           add {_hgcoffre} to {hgcoffreliste::*}
                           send "&c[&6HUNGER&c-&6GAMES&c] &cLa localisation du coffre a bien été enregistrée" to player
                           wait 1 tick
                           clear {_hgcoffre}
               else:
                   send "&c[&6HUNGER&c-&6GAMES&c] &cErreur, vous devez viser un coffre" to player
           if arg 1 is "clear":
               clear {hgcoffreliste::*}
               send "&c[&6HUNGER&c-&6GAMES&c] &cTout a été clear" to player
           if arg 1 is "list":
               send "&c[&6HUNGER&c-&6GAMES&c] &cLocalisation des coffres : &a%{hgcoffreliste::*}%" to player

 

Tout se passe bien, je reçois le "done" (simple message de vérification pour voir ou sa plante), mais après plus rien.

 

Une idée ? Merci de votre aide, Healthpower.

2 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Utilise ça : (il te faut SkQuery)

if {hgcoffreliste::*} where [object input is location of targeted block] is set:

Ce qui donne:

command hgsetcoffre <text>:
   trigger:
       if player have permission "admin.hg":
           if arg 1 is "add":
               if targeted block is a chest:
                   send "done" to player
                   if {hgcoffreliste::*} where [object input is location of targeted block] is set:
                       send "&c[&6HUNGER&c-&6GAMES&c] &cErreur, localisation déjà enregistrée" to player
                   else:
                       add location of targeted block to {hgcoffreliste::*}
                       send "&c[&6HUNGER&c-&6GAMES&c] &cLa localisation du coffre a bien été enregistrée" to player
               else:
                   send "&c[&6HUNGER&c-&6GAMES&c] &cErreur, vous devez viser un coffre" to player
           else if arg 1 is "clear":
               clear {hgcoffreliste::*}
               send "&c[&6HUNGER&c-&6GAMES&c] &cTout a été clear" to player
           else if arg 1 is "list":
               send "&c[&6HUNGER&c-&6GAMES&c] &cLocalisation des coffres : &a%{hgcoffreliste::*}%" to player

  • 0
Posté(e)
Utilise ça : (il te faut SkQuery)

if {hgcoffreliste::*} where [object input is location of targeted block] is set:

Ce qui donne:

command hgsetcoffre <text>:
   trigger:
       if player have permission "admin.hg":
           if arg 1 is "add":
               if targeted block is a chest:
                   send "done" to player
                   if {hgcoffreliste::*} where [object input is location of targeted block] is set:
                       send "&c[&6HUNGER&c-&6GAMES&c] &cErreur, localisation déjà enregistrée" to player
                   else:
                       add location of targeted block to {hgcoffreliste::*}
                       send "&c[&6HUNGER&c-&6GAMES&c] &cLa localisation du coffre a bien été enregistrée" to player
               else:
                   send "&c[&6HUNGER&c-&6GAMES&c] &cErreur, vous devez viser un coffre" to player
           else if arg 1 is "clear":
               clear {hgcoffreliste::*}
               send "&c[&6HUNGER&c-&6GAMES&c] &cTout a été clear" to player
           else if arg 1 is "list":
               send "&c[&6HUNGER&c-&6GAMES&c] &cLocalisation des coffres : &a%{hgcoffreliste::*}%" to player

Niquel ! Ca marche bien, merci à toi !

  • J'aime 1
×
×
  • 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.