Aller au contenu
  • 0

Système De Classement De Joueurs en fonction d'une variable


Question

Posté(e)

Et bien tout d'abord boujour , si je demande votre aide aujourd'hui , c'est parce que , même après maintes recherches , je n'ai pas réussi à trouver un bout de code qui me permettrait de faire un Système De Classement De Joueurs en fonction d'une variable. J'ai déjà tenter des loops ect .... Mais je n'ai aucune idée de comment faire pour tester le classement joueurs par joueurs

Petit bout de code :

command /top <text>:
   trigger:
       if arg 1 is "joueurs":
           set {_max.player} to 0
           delete {top1.player}
           delete {top2.player}
           delete {top3.player}
           delete {top4.player}
           delete {top5.player}
           delete {top6.player}
           delete {top7.player}
           delete {top8.player}
           delete {top9.player}
           delete {top10.player}
           delete {points1.player}
           delete {points2.player}
           delete {points3.player}
           delete {points4.player}
           delete {points5.player}
           delete {points6.player}
           delete {points7.player}
           delete {points8.player}
           delete {points9.player}
           delete {points10.player}
           loop all players:
               add loop-players to {test::*}
               loop {test::*}:
                   loop 500 times:   

                       if {points.%loop-players%} is greater or equal to {_max.player}:
                           set {_max.player} to {points.%loop-players%}
                           delete {top1.player}
                           set {top1.player} to player
                           set {points1.player} to {points.%loop-players%}
                           set {_max.player2} to 0

                       if player is not {top1.player}:
                           if {points.%loop-players%} is greater or equal to {_max.player2}:
                               set {_max.player2} to {points.%loop-players%}
                               delete {top2.player}
                               set {top2.player} to player
                               set {points2.player} to {points.%loop-players%}
                               set {_max.player3} to 0

                       if player is not {top1.player} or {top2.player}:
                           if {points.%loop-players%} is greater or equal to {_max.player3}:
                               set {_max.player3} to {points.%loop-players%}
                               delete {top3.player}
                               set {top3.player} to player
                               set {points3.player} to {points.%loop-players%}
                               set {_max.player4} to 0

                       if player is not {top1.player} or {top2.player} or {top3.player}:
                           if {points.%loop-players%} is greater or equal to {_max.player4}:
                               set {_max.player4} to {points.%loop-players%}
                               delete {top4.player}
                               set {top4.player} to player
                               set {points4.player} to {points.%loop-players%}
                               set {_max.player5} to 0

                       if player is not {top1.player} or {top2.player} or {top3.player} or {top4.player}:
                           if {points.%loop-players%} is greater or equal to {_max.player5}:
                               set {_max.player5} to {points.%loop-players%}
                               delete {top5.player}
                               set {top5.player} to player
                               set {points5.player} to {points.%loop-players%}
                               set {_max.player6} to 0

                       if player is not {top1.player} or {top2.player} or {top3.player} or {top4.player} or {top5.player}:
                           if {points.%loop-players%} is greater or equal to {_max.player6}:
                               set {_max.player6} to {points.%loop-players%}
                               delete {top6.player}
                               set {top6.player} to player
                               set {points6.player} to {points.%loop-players%}
                               set {_max.player7} to 0

                       if player is not {top1.player} or {top2.player} or {top3.player} or {top4.player} or {top5.player} or {top6.player}:
                           if {points.%loop-players%} is greater or equal to {_max.player7}:
                               set {_max7.player} to {points.%loop-players%}
                               delete {top7.player}
                               set {top7.player} to player
                               set {points7.player} to {points.%loop-players%}
                               set {_max.player8} to 0

                       if player is not {top1.player} or {top2.player} or {top3.player} or {top4.player} or {top5.player} or {top6.player} or {top7.player}:
                           if {points.%loop-players%} is greater or equal to {_max.player8}:
                               set {_max.player8} to {points.%loop-players%}
                               delete {top8.player}
                               set {top8.player} to player
                               set {points8.player} to {points.%loop-players%}
                               set {_max.player9} to 0

                       if player is not {top1.player} or {top2.player} or {top3.player} or {top4.player} or {top5.player} or {top6.player} or {top7.player} or {top8.player}:
                           if {points.%loop-players%} is greater or equal to {_max.player9}:
                               set {_max.player9} to {points.%loop-players%}
                               delete {top9.player}
                               set {top9.player} to player
                               set {points9.player} to {points.%loop-players%}
                               set {_max.player10} to 0

                       if player is not {top1.player} or {top2.player} or {top3.player} or {top4.player} or {top5.player} or {top6.player} or {top7.player} or {top8.player} or {top9.player}:
                           if {points.%loop-players%} is greater or equal to {_max.player10}:
                               set {_max.player10} to {points.%loop-players%}
                               delete {top10.player}
                               set {top10.player} to player
                               set {points10.player} to {points.%loop-players%}

               send "&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&8[&9Top Joueur&8]-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-" to player
               send "&eJoueur 1: %{top1.player}% ; Points:%{points1.player}% " to player
               send "&eJoueur 2: %{top2.player}% ; Points: %{points2.player}% " to player
               send "&eJoueur 3: %{top3.player}% ; Points: %{points3.player}% " to player
               send "&eJoueur 4: %{top4.player}% ; Points: %{points4.player}% " to player
               send "&eJoueur 5: %{top5.player}% ; Points: %{points5.player}% " to player
               send "&eJoueur 6: %{top6.player}% ; Points: %{points6.player}% " to player
               send "&eJoueur 7: %{top7.player}% ; Points: %{points7.player}% " to player
               send "&eJoueur 8: %{top8.player}% ; Points: %{points8.player}% " to player
               send "&eJoueur 9: %{top9.player}% ; Points: %{points9.player}% " to player
               send "&eJoueur 10: %{top10}% ; Points: %{istop10}%" to player
               send "&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&8[&9Top Joueur&8]-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-&7-&8-" to player

Il n'y a aucunes erreurs mais le skript ne fonctionne pas. Je précise que la variable à tester pour chaque joueur est {points.%player%}.

Je vous remercie d'avance ,

Bonne Journée,

Cordiallement,

WaWaNBoSs

  • J'aime 1

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Ok alors j'ai compris , @Kwizzy utilise un système très ingénieux , au final cela donne :

loop all players:
               wait 1 tick
               set {_pointes} to {points.%UUID of loop-players%}
               set {_pointes} to "%{_pointes}%" parsed as integer
               set {_valuelist::%loop-player%} to {_pointes}
           set {_valuelist::*} to {_valuelist::*} sorted from highest to lowest with output "@index avec @value meurtre(s)"

           message "&6====== [ &bTOP 10 des premiers joueurs ! &6] ======"
           set {_size} to size of {_valuelist::*}
           message "&bTop 3 :"
           loop {_valuelist::*}:
               set {_li} to "%loop-index%" parsed as number
               if {_li} = 1:
                   message "  &cPremier > %loop-value%"
               else if {_li} = 2:
                   message "  &6Deuxième > %loop-value%"
               else if {_li} = 3:
                   message "  &eTroisième > %loop-value%"
               if {_li} = 3:
                   exit loop

Avec comme variable {points.%UUID of loop-players%}

Je vais poster ça dans la catégorie bouts de code pour les futurs personnes ayant ce problème

Thank You Very Much !

×
×
  • 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.