Situation : J’essaye d'afficher le Top 3 d'un scoreboard sur un panneau ! Comme ce panneau doit afficher un classement en prenant en compte les joueurs non connectés, j'utilise le @e car il est prévu que j’utilise des ArmorStand pour "sauvegarder" le joueur.
Problème : Ça ne fonctionne pas
Pour tester ce système, je suis accompagné d'un "ArmorTest", et je set à lui et à moi-même un score. Le soucis, c'est que mon panneau affiche sur les 3 lignes le même joueur, celui qui le plus haut score, que ce soit moi ou le ArmorTest.
J'ai trouvé la zone où ça coince grâce au retour des commandes blocs. Dans la commande ci-dessous (Pour choisir le 2ème et 3ème joueur), il m'indique que #best est égale au score du meilleur joueur, alors que celui-ci a reçu un tag pour l'exclure de la recherche :
Pourtant, le sélecteur est bien placé sur l'entité, j'ai réalisé une CB faisant des particules à toutes les entités SAUF si elles possèdent ce tag en question.
Je ne comprends donc pas trop mon erreur x))
Problème : Ça ne fonctionne pas
Code:
scoreboard players operation #best LaboRank > @e LaboRank
scoreboard players operation @e LaboRankCalcul -= #best LaboRank
data merge block ~ ~1 ~2 {Text1:'["",{"text":"1.","color":"white"},{"text":" ","color":"gold"},{"selector":"@e[limit=1,scores={LaboRankCalcul=0}]","color":"gold"},{"text":" -","color":"white"},{"text":" ","color":"gold"},{"score":{"name":"@e[limit=1,scores={LaboRankCalcul=0}]","objective":"LaboRank"},"color":"white"}]'}
tag @e[scores={LaboRankCalcul=0}] add LaboRankOK
execute as @e run scoreboard players operation @s LaboRankCalcul = @s LaboRank
scoreboard players operation #best LaboRank > @e[tag=!LaboRankOK] LaboRank
scoreboard players operation @e LaboRankCalcul -= #best LaboRank
data merge block ~ ~1 ~7 {Text2:'["",{"text":"2.","color":"white"},{"text":" ","color":"gold"},{"selector":"@e[limit=1,scores={LaboRankCalcul=0}]","color":"gold"},{"text":" -","color":"white"},{"text":" ","color":"gold"},{"score":{"name":"@e[limit=1,scores={LaboRankCalcul=0}]","objective":"LaboRank"},"color":"white"}]'}
tag @e[scores={LaboRankCalcul=0}] add LaboRankOK
execute as @e run scoreboard players operation @s LaboRankCalcul = @s LaboRank
scoreboard players operation #best LaboRank > @e[tag=!LaboRankOK] LaboRank
scoreboard players operation @e LaboRankCalcul -= #best LaboRank
data merge block ~ ~1 ~12 {Text3:'["",{"text":"3.","color":"white"},{"text":" ","color":"gold"},{"selector":"@e[limit=1,scores={LaboRankCalcul=0}]","color":"gold"},{"text":" -","color":"white"},{"text":" ","color":"gold"},{"score":{"name":"@e[limit=1,scores={LaboRankCalcul=0}]","objective":"LaboRank"},"color":"white"}]'}
execute as @e run scoreboard players operation @s LaboRankCalcul = @s LaboRank
tag @e remove LaboRankOK
Pour tester ce système, je suis accompagné d'un "ArmorTest", et je set à lui et à moi-même un score. Le soucis, c'est que mon panneau affiche sur les 3 lignes le même joueur, celui qui le plus haut score, que ce soit moi ou le ArmorTest.
J'ai trouvé la zone où ça coince grâce au retour des commandes blocs. Dans la commande ci-dessous (Pour choisir le 2ème et 3ème joueur), il m'indique que #best est égale au score du meilleur joueur, alors que celui-ci a reçu un tag pour l'exclure de la recherche :
Code:
scoreboard players operation #best LaboRank > @e[tag=!LaboRankOK] LaboRank
Je ne comprends donc pas trop mon erreur x))