Anarchick Posté(e) le 3 mai 2017 Posté(e) le 3 mai 2017 (modifié) Il existe déjà un système de Top/Flop ici : https://skript-mc.fr/forum/threads/créer-un-top-flop-de-joueurs-tri-croissant-décroissant.3944/ Mais je vous en propose un autre qui n'a rien à voir et qui est très performant : Ne nécessite pas d'addon possibilité de choisir par exemple "de la place 5 à la place 10" (ex: /top Kill 5 10) Ordre croissant et décroissant (ex: /top Kill 10 5) inverser l'ordre de lecture : la place 1 à la plus haute valeur/ la plus basse valeur (ex: /top Kill 1 10 /top Kill 1 10 f) /top Kill 10 1 est donc l'équivalent de /top Kill 1 10 f command /top <text> [<integer=1>] [<integer=5>] [<text>]: usage: /top <statistique> [debut] [fin] [inverser] trigger: set {_now} to now #---------------------------------------------------------------# # CODE A MODIFIER # # OBJECTIF : RECUPERER LA LISTE DES JOUEURS ET LEUR STATISTIQUE # #---------------------------------------------------------------# set {_players::*} to yml list "list.allplayers" from file "plugins/PlayerStats/SERVEUR.yml" loop {_players::*}: "%loop-value%" is not "SERVEUR" set {_value} to yml value "%arg-1%" from file "plugins/PlayerStats/%loop-value%.yml" parsed as number #----------------------------# # DEBUT DU CODE UTILE # # NE MODIFIER QUE LES TEXTES # #----------------------------# # les 2 lignes en dessous sont 2 sécurités à activer en cas de doute du fonctionnement du code au dessus # set {_value} to {_value} parsed as number # {_value} +1 > {_value} set {_value} to ({_value}*100000 + (random integer between 1 and 99)) set {_list::%{_value}%} to loop-value delete {_value} if arg-4 is not set: send "<gold>Top <white>%arg-1% <gold>a partir de la place <white>%arg-2% <gold>a la place <white>%arg-3%" to player else: send "<gold>Top <white>%arg-1% <gold>a partir de la place <white>%arg-2% <gold>a la place <white>%arg-3% <gray>(Inversé)" to player set {_a} to 1 loop {_list::*}: set {_result::%{_a}%::%loop-index%} to loop-value add 1 to {_a} set {_num} to arg-2 loop (1+ difference between arg-2 and arg-3) times: if arg-4 is not set: set {_i} to ({_a} + {_num}*-1) else: set {_i} to {_num} loop {_result::%{_i}%::*}: send " <gold>%{_num}%- <light green>%loop-value-2% : <white>%(( (loop-index parsed as number) /100000))%" to player remove 1 from {_num} if arg-3 > arg-2: add 2 to {_num} send "Temps de calcul : %difference between {_now} and now%" to player Il n'y a que le début du code à changer, par exemple avec quelque chose comme: #---------------------------------------------------------------# # CODE A MODIFIER # # OBJECTIF : RECUPERER LA LISTE DES JOUEURS ET LEUR STATISTIQUE # #---------------------------------------------------------------# set {_players::*} to all players loop {_players::*}: set {_value} to {%loop-player%.%arg-1%} parsed as number #----------------------------# # DEBUT DU CODE UTILE # # NE MODIFIER QUE LES TEXTES # #----------------------------# En faite tout ce qu'il faut faire c'est définir les variables {_players::*} et {_value} ! Le reste du code va se charger de traiter ces variables * # les 2 lignes en dessous sont 2 sécurités à activer en cas de doute du fonctionnement du code au dessus # set {_value} to {_value} parsed as number # {_value} +1 > {_value} **N’hésitez pas à supprimer le "set {_now} to now" et la dernière ligne de code qui ne sert qu'à montrer la rapidité du code. Modifié le 20 août 2018 par Anarchick lègère modification du code + informations 2
ZixPlay_ Posté(e) le 4 février 2018 Posté(e) le 4 février 2018 Superbe, je go l'installer sur mon serveur sa à l'air d'être superbe.
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant