angelus76 Posté(e) le 20 juin 2015 Posté(e) le 20 juin 2015 Salut a tous. depuis quelque temps , je cherche a réaliser une liste qui s'affiche dans le chat avec la possibilité d'avoir plusieurs page imaginer une variable {list::*} qui aurais ceci comme valeur: "angel","joueur2","joueur3","joueur4","joueur5" ... "joueur9" and "joueur10" je voudrais afficher cette liste par tranche de 5 donc afficher par une commande par exemple /list 1 ( 1 étant la première page ) ce qui afficherais : angel joueur1 joueur2 joueur3 joueur4 puis avec /list 2 joueur5 joueur6 joueur7 joueur8 joueur9 puis /list 3 .... comment faire ? car j'ai vue plein d'exemple sur le forum anglais, mais qui ne fonction pas ou pas comme je veux :( avez vous une idée simple et efficace ? PS : il faut imaginer que la liste est évolutive.
0 ItsElkios_ Posté(e) le 20 juin 2015 Posté(e) le 20 juin 2015 Je crois que c'est impossible car le plugin créer un syntaxe bien spécial pour la liste ( enfin il y en a que un seul ). Sinon il y a plus long, si tu veux que je t'explique préviens moi.
0 Chouyoux Posté(e) le 2 juillet 2015 Posté(e) le 2 juillet 2015 options: n_par_page : 5 command /list [<number>]: trigger: set {_i} to 0 loop 20 times: add 1 to {_i} add "Element n°%{_i}%" to {_list::*} if arg-1 is not set: set {_i} to 0 else: set {_arg} to arg-1 remove 1 from {_arg} set {_i} to {_arg}*{@n_par_page} loop {@n_par_page} times: add 1 to {_i} {_list::%{_i}%} is set send "• %{_list::%{_i}%}%" La partie : set {_i} to 0 loop 20 times: add 1 to {_i} add "Element n°%{_i}%" to {_list::*} C'est juste pour remplir une liste pour tester le système, le vrai code pur et dur est : options: n_par_page : 5 command /list [<number>]: trigger: if arg-1 is not set: set {_i} to 0 else: set {_arg} to arg-1 remove 1 from {_arg} set {_i} to {_arg}*{@n_par_page} loop {@n_par_page} times: add 1 to {_i} {list::%{_i}%} is set send "• %{list::%{_i}%}%" En replaçant {list::*} par la liste que tu veux lire ^^ 1
0 angelus76 Posté(e) le 2 juillet 2015 Auteur Posté(e) le 2 juillet 2015 Super exactement ce que je chercher ;) sa marche nickel :) Merci Merci.
0 angelus76 Posté(e) le 2 juillet 2015 Auteur Posté(e) le 2 juillet 2015 Code final grace a @Chouyoux :D sa peut servir a ceux qui chercher la même chose ;) options: n_par_page : 10 command /list [<number>]: trigger: set {_List::*} to "joueur1","joueur2","joueur3","joueur4","joueur5","joueur6","joueur7","joueur8", "joueur9", "joueur10", "joueur11" and "joueur12" set {_NbPage} to round up size of {_List::*}/{@n_par_page} if arg-1 is higher than {_NbPage}: message "Erreur, il n'y a que %{_NbPage}% pages !" else: if arg-1 is not set: set {_i} to 0 else: set {_arg} to arg-1 remove 1 from {_arg} set {_i} to {_arg}*{@n_par_page} loop {@n_par_page} times: add 1 to {_i} if {_List::%{_i}%} is set: message "• %{_List::%{_i}%}%"
Question
angelus76
Salut a tous.
depuis quelque temps , je cherche a réaliser une liste qui s'affiche dans le chat avec la possibilité d'avoir plusieurs page
imaginer une variable {list::*}
qui aurais ceci comme valeur:
"angel","joueur2","joueur3","joueur4","joueur5" ... "joueur9" and "joueur10"
je voudrais afficher cette liste par tranche de 5
donc afficher par une commande par exemple /list 1 ( 1 étant la première page )
ce qui afficherais :
puis avec /list 2
puis /list 3 ....
comment faire ?
car j'ai vue plein d'exemple sur le forum anglais, mais qui ne fonction pas ou pas comme je veux :(
avez vous une idée simple et efficace ?
PS : il faut imaginer que la liste est évolutive.
5 réponses à cette question
Messages recommandés