Puis-je utiliser des blocs de commande pour teleporter un joueur qui est mort?

Je dois détecter si un joueur est mort et téléporter celui-ci vers l'emplacement XY et donner à l'autre équipe un point.

Je peux détecter si un joueur est décédé avec testfor @a[score_HEALTH=1] appliqué à une impulsion redstone, mais cela produit simplement un signal si un joueur est décédé, et non celui qui est décédé.

Existe-t-il un moyen de détecter quel joueur est mort? Existe-t-il un moyen d'utiliser le joueur détecté qui est mort comme argument dans le prochain bloc de commande, comme /tp @f XYZ , où @f représente le joueur trouvé du dernier bloc de commande?

Si rien de tel ne fonctionne, y a-t-il des solutions de rechange?

Les arguments fonctionnent dans / tp aussi (et vous pouvez toujours obtenir un signal s'il réussit), donc vous pouvez simplement utiliser

 /tp @a[score_HEALTH=1] X-cord Y-cord Z-cord 

Pour donner à l'autre équipe un point, vous aurez besoin de deux blocs de commande distincts sur une horloge, un test de décès sur la première équipe

 /testfor @a[score_HEALTH=1,team=red] 

Qui mène alors à un bloc de commande donnant un point à l'équipe seconde / bleue, et l'autre bloc ayant

 /testfor @a[score_HEALTH=1,team=blue] 

Qui mène à un bloc de commande donnant à l'équipe première / rouge un point.


Je recommanderais également d'utiliser un score de mort à la place d'un score de santé, je peux voir la façon dont vous le faites, la santé étant peu fiable. Ce score de mort ne doit pas être affiché (Vous pouvez en avoir un séparé pour cela), et vous devrez revenir à 0 pour chaque personne après sa mort. Créez-le comme ceci:

 /scoreboard objectives add deaths deathCount 

Dans l'ensemble, votre horloge pour vérifier tout cela devrait ressembler à ceci:

Entrez la description de l'image ici Lorsqu'un joueur décède, son décès découle tout d'abord de 1 (automatique, en raison du type d'objectif) et deux blocs de commandes deviennent vrais.

L'un sera celui qui les téléporte partout où vous voulez. Étant donné que cela revient vrai, il va également allumer le comparateur à l'envers, mais le signal ne fera rien encore, d'abord:

L'autre bloc activé en même temps testait les membres morts de leur équipe. Quelqu'un de ces deux va-t-il dépend de l'équipe sur laquelle le joueur est activé, et cela vous enverra un signal pour indiquer l'équipe adverse (vous ne savez pas exactement comment vous avez mis en place des équipes ou souhaitez vous donner des points).

Ensuite, le signal du bloc de commande / tp continuera sur un bloc qui mettra les morts de n'importe qui avec un décès à 0. Cela désactive tous les comparateurs car le joueur a maintenant 0 morts à nouveau, jusqu'à ce qu'ils meurs et cela se reproduise . Vous ne définissez que l'objectif à 0 (pas leurs décès réels) afin que vous puissiez avoir un autre nombre de morts approprié qui ne réinitialise pas à 0 chaque fois.

Fondamentalement, le joueur obtient une mort, une téléportation et une autre équipe obtiennent un point, leur décès est passé à 0 afin de pouvoir être testé à nouveau.

Je n'ai pas beaucoup travaillé avec le tableau de bord de l'équipe, mais le téléportation devrait simplement être

 /tp @p[score_HEALTH=1] XYZ 

@a est utilisé pour trouver tous les joueurs correspondant à certains critères; @p se trouve un seul à la fois, mais utilisons le nom de ce joueur dans d'autres commandes.

Ou vous pourriez simplement utiliser /setworldspawn moins que vous ne fassiez un jeu basé sur l'équipe, alors, écoutez les autres réponses.