Aller au contenu
  • 0

Système de pagination pour les variables {list::*}


Question

Posté(e)

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.

5 réponses à cette question

Messages recommandés

  • 0
Posté(e)

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
Posté(e)

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 ^^

  • J'aime 1
  • 0
Posté(e)

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}%}%"

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • 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.