Invité Posté(e) le 7 mai 2017 Posté(e) le 7 mai 2017 Eh oui! J'ai besoin de loop une loop à l'envers. Le problème c'est que je vois que 1 seul moyen. Avec les loops-index En gros au lieu de commencer par {v::1} et après {v::2} etc... Faire l'inverse: {v::2} après {v::1} Mais je sais pas comment structurer le code le faire. Merci de votre aide ;)
0 blueblasterz Posté(e) le 7 mai 2017 Posté(e) le 7 mai 2017 Mais dans quel cadre on peut avoir besoin de loop à l'envers ? x) Sinon j'ai bricolé un truc comme ça, à toi de voir si t'arrive à l'adapter: command /loop <number> <number>: # /loop 1 10 -> 10,9,8,7,6,5,4,3,2,1 trigger: if arg-2 is smaller than arg-1: message "Usage: /loop <début> <fin>" else if arg-2 is equal to arg-1: message "Usage: /loop <début> <fin>" message "décompte de %arg 2% à %arg 1%" set {_total} to arg 2 - arg 1 + 1 set {_mid} to {_total}/2 set {_index} to 0 set {_add} to {_total} - 1 loop {_total} times: set {_index} to {_index} + {_add} remove 2 from {_add} message "%{_index}%" stop Normalement ça marche tant que tout les arguments restent supérieurs à 0. 1
0 Invité Posté(e) le 7 mai 2017 Posté(e) le 7 mai 2017 Mais dans quel cadre on peut avoir besoin de loop à l'envers ? x) Sinon j'ai bricolé un truc comme ça, à toi de voir si t'arrive à l'adapter: command /loop <number> <number>: # /loop 1 10 -> 10,9,8,7,6,5,4,3,2,1 trigger: if arg-2 is smaller than arg-1: message "Usage: /loop <début> <fin>" else if arg-2 is equal to arg-1: message "Usage: /loop <début> <fin>" message "décompte de %arg 2% à %arg 1%" set {_total} to arg 2 - arg 1 + 1 set {_mid} to {_total}/2 set {_index} to 0 set {_add} to {_total} - 1 loop {_total} times: set {_index} to {_index} + {_add} remove 2 from {_add} message "%{_index}%" stop Normalement ça marche tant que tout les arguments restent supérieurs à 0. Merci , je vais voir sa après En fait, c'est pour un skript de report; Je veux que dans le chat à un interval régulier sa envoie tous les reports du plus ancien au plus récent, c'est donc la que j'ai besoin d'un boucle inversée :) Mais dans quel cadre on peut avoir besoin de loop à l'envers ? x) Sinon j'ai bricolé un truc comme ça, à toi de voir si t'arrive à l'adapter: command /loop <number> <number>: # /loop 1 10 -> 10,9,8,7,6,5,4,3,2,1 trigger: if arg-2 is smaller than arg-1: message "Usage: /loop <début> <fin>" else if arg-2 is equal to arg-1: message "Usage: /loop <début> <fin>" message "décompte de %arg 2% à %arg 1%" set {_total} to arg 2 - arg 1 + 1 set {_mid} to {_total}/2 set {_index} to 0 set {_add} to {_total} - 1 loop {_total} times: set {_index} to {_index} + {_add} remove 2 from {_add} message "%{_index}%" stop Normalement ça marche tant que tout les arguments restent supérieurs à 0. Problème: command /viewreports: permission: viewreports permission message: &cVous n'avez pas la permission trigger: set {_total} to size of {report::*} - 2 + 1 set {_mid} to {_total}/2 set {_index} to 0 set {_add} to {_total} - 1 loop {_total} times: set {_index} to {_index} + {_add} remove 2 from {_add} send "%{report::%{_index}%}%" Sa m'envoie des none et tous :'(
0 Anarchick Posté(e) le 9 mai 2017 Posté(e) le 9 mai 2017 Si ça envoie des <none> partout c'est forcement que {report::%{_index}%} n'existe pas (évidement) et ça viens de là : loop {_total} times: set {_index} to {_index} + {_add} remove 2 from {_add} ajoute un send "%{_index}%" et tu verra que la valeur va monter en fleche, met plutôt remove 2 from {_index} 1
0 Invité Posté(e) le 9 mai 2017 Posté(e) le 9 mai 2017 Si ça envoie des <none> partout c'est forcement que {report::%{_index}%} n'existe pas (évidement) et ça viens de là : loop {_total} times: set {_index} to {_index} + {_add} remove 2 from {_add} ajoute un send "%{_index}%" et tu verra que la valeur va monter en fleche, met plutôt remove 2 from {_index} Je vais tester demain et je te redis ;)
0 blueblasterz Posté(e) le 9 mai 2017 Posté(e) le 9 mai 2017 J'ai en effet fais une erreur, il faut faife : set {_index} to loop-value + {_add} Sinon évidemment les index s'accumulent et donnent des chiffres aberrants
0 Invité Posté(e) le 10 mai 2017 Posté(e) le 10 mai 2017 J'ai en effet fais une erreur, il faut faife : set {_index} to loop-value + {_add} Sinon évidemment les index s'accumulent et donnent des chiffres aberrants Sinon: set {_taille} to size of {report::*} loop {_taille}: send "%{report::%{_taille}%}%" remove 1 from {_taille} Peut marcher non?
0 MrForoche Posté(e) le 12 mai 2017 Posté(e) le 12 mai 2017 Sinon: Peut marcher non? A toi de testé :') 1
0 Crazy Posté(e) le 13 mai 2017 Posté(e) le 13 mai 2017 Euh rajoute Times derrière la variable set {_taille} to size of {report::*} loop {_taille} times: send "%{report::%{_taille}%}%" remove 1 from {_taille}
0 Invité Posté(e) le 13 mai 2017 Posté(e) le 13 mai 2017 Euh rajoute Times derrière la variable set {_taille} to size of {report::*} loop {_taille} times: send "%{report::%{_taille}%}%" remove 1 from {_taille} C'est pas obligatoire ^^ :') Je peux pas trop tester en se moment ^^
Question
Invité
Eh oui!
J'ai besoin de loop une loop à l'envers.
Le problème c'est que je vois que 1 seul moyen. Avec les loops-index
En gros au lieu de commencer par {v::1} et après {v::2} etc...
Faire l'inverse: {v::2} après {v::1}
Mais je sais pas comment structurer le code le faire.
Merci de votre aide ;)
9 réponses à cette question
Messages recommandés