Aller au contenu

Messages recommandés

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

 

488ff142cb.png

 

 

 

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é par Anarchick
lègère modification du code + informations
  • J'aime 2
  • 9 mois aprè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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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.