1 votes

Comment détecter deux entités à la même coordonnée avec la même étiquette de nom ?

En fait, lorsque je mets la commande

/execute @e[name=Mark] ~ ~ ~ /execute @e[name=Mark] ~ ~ ~ /scoreboard players set @e[name=Mark] detect 1

Je m'attends à ce que si seulement ces deux entités de même nom se trouvent ensemble, le tableau d'affichage sera "1". Mais ce n'est pas le cas, car il devient "1" même si je n'invoque qu'une seule "marque" dans mon monde.

1voto

aytimothy Points 15721

Bien essayé ! Cependant, vous rencontrez ce problème parce que @e sélectionne toutes les instances de cette entité, y compris lui-même, ce qui est la même raison pour laquelle @p exécuté par un joueur est lui-même.


Essayez de fabriquer votre additif de détection.

Dans une chaîne de répéteurs (pas le Redstone Repeater, mais les blocs de commande Repeater et Chain), faites :

/scoreboard players set @e[name=Mark] detect 0
/execute @e[name=Mark] ~ ~ ~ /execute @e[name=Mark,r=__] ~ ~ ~ /scoreboard players add @e[name=Mark] detect 1

Il ne vous reste plus qu'à sélectionner tous les Mark qui se trouvent à proximité (dans un rayon de r=__ ) est de tester toute personne ayant un score d'au moins 1.

/execute @e[score_min_detect=1] ...

Pourquoi cela fonctionne-t-il ?

En effet, si nous n'avons qu'une seule Mark Son score sera toujours de un puisqu'il est le seul à l'exécuter.

S'il y a plusieurs Mark alors le /scoreboard players add s'empilent et donnent évidemment des scores supérieurs à 1.

Quant à savoir pourquoi cela n'irait pas jusqu'à l'infini ? C'est parce que nous le réinitialisons après chaque tic de redstone :

/scoreboard players set @e[name=Mark] detect 0

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