5 votes

Exécuter sur tous les joueurs dans la distance stockée

Je veux exécuter une commande sur tous les joueurs se trouvant à une certaine distance d'un blindé (appelons-le "A"). La distance est stockée dans le tableau de bord "Distance" pour ce blindé ("Distance" de A est par exemple 13). Cela signifie que execute as @e[name=A] at @s as @a[distance=..13] ... ne fait pas l'affaire, car 13 est une constante ici et je n'ai pas vraiment besoin d'une commande pour chaque distance possible de 1 à 100.

J'ai eu l'idée de stocker la distance de tous les joueurs par rapport à l'armorstand dans leur score "Distance" et de comparer ensuite les deux scores pour chaque joueur. Mais je ne connais pas de moyen de stocker la distance dans un tableau d'affichage ou de l'obtenir avec une commande.

Y a-t-il un moyen de le faire ?

0 votes

Que voulez-vous dire par "ne fait pas l'affaire.... de 1 à 100" ? De même, par "comparer la distance", voulez-vous trouver le joueur le plus proche ?

0 votes

@fasterthanlight Il me faudrait une commande pour chaque distance possible, ce que je ne veux pas si c'est évitable. Mais je veux aussi pouvoir changer la distance pour le blindage sans modifier le code.

0 votes

Avez-vous essayé de prendre une variable du tableau d'affichage et de la modifier avec des commandes séparées, et de prendre cette valeur comme distance maximale ?

1voto

IceFreez3r Points 400

J'ai trouvé une solution sur YouTube :

https://www.youtube.com/watch?v=PL5EYRQG8YM?start=0

.

Voici essentiellement ce qu'il fait :

  • Prenez la première entité avec comme @e[tag=a] Prenez la deuxième entité avec at @e[sort=nearest,limit=1]

  • Lire et stocker la position des deux entités avec

    execute store result score @s math_in run data get entity @s Pos[0] 100

  • Calculer les longueurs x2-x1, y2-y1, z2-z1, carré et les additionner.

  • Pour calculer la racine carrée, il déclare utiliser la formule Newton-Raphson, 4 iterations approach . Je n'ai pas les compétences mathématiques pour comprendre rapidement cette méthode, mais les résultats donnés par le datapack sont corrects. Pour obtenir la liste complète des commandes, téléchargez son datapack.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X