1 votes

Test pour la santé des joueurs 0

J'essaie de tester @a santé à 0 (lorsque le joueur meurt) en utilisant la commande /scoreboard. Les commandes que j'utilisais ne semblent pas fonctionner ; la sortie du bloc de commandes est "introuvable". J'ai ajouté un objectif :

/scoreboard objectives add health health

Et j'ai ajouté le testfor :

/testfor @p[score_health_min=0,score_health=0]

Pourtant, c'est là qu'apparaît l'erreur :

L'entité '@p[score_health_min=0,score_health=0]' est introuvable.

Comment le faire correctement ?

2voto

evanr Points 735

Bien que la réponse ci-dessus soit valable, je pense que cette solution serait plus rapide et plus efficace.

scoreboard objectives add dieTime stat.timeSinceDeath
execute @a[score_dieTime=0] ~ ~ ~ say I am dead!

0voto

IronAnvil Points 5606

Je suppose que vous avez ceci dans un bloc de commande répétitif. Lorsqu'il est exécuté de cette façon, s'il n'y a actuellement aucun joueur mort, l'"erreur" que le bloc de commande produira est la suivante :

L'entité '@p[score_health_min=0,score_health=0]' est introuvable.

Cela fonctionne correctement. Vos commandes fonctionnent correctement en l'état, il n'y a aucun problème avec elles. Le seul cas où le résultat serait différent est si vous cliquez sur le bloc de commande alors qu'un joueur est mort et n'a pas encore réapparu.


J'ai cependant quelques suggestions :

  • À moins que vous ne fassiez quelque chose de très spécifique nécessitant de cibler uniquement le joueur le plus proche, utilisez l'option @a au lieu de @p car cela lui permettra d'être multijoueur.
  • Étant donné que vous testez un nombre égal ou inférieur à 0, vous n'avez pas besoin d'utiliser l'attribut argument minimum .
  • En testfor command n'est pas si utile que cela, vous pouvez utiliser la fonction sélecteur de cible dans une commande qui fait quelque chose d'utile à la place.

Un exemple de commande avec le sélecteur de cible suggéré pour faire dire bonjour au joueur mort :

execute @a[score_health=0] ~ ~ ~ say Hello

Note : Ceci se répétera jusqu'à ce que le joueur mort réapparaisse, donc le chat sera rempli par un joueur disant bonjour.

Cela peut être surmonté en ayant un bloc de commande à chaîne conditionnelle avec commande :

scoreboard players reset @a health

Une autre façon de procéder consiste à utiliser l'option critères du nombre de décès . Cela vous permettra d'obtenir un score minimum de 1.

Commande pour créer l'objectif :

/scoreboard objectives add Deaths deathCount

Puis deux blocs de commande. Le premier a Repeat Unconditional Always Active avec commandement :

execute @a[score_Deaths_min=1] ~ ~ ~ say hello

Le deuxième a Chain Conditional Always Active avec commandement :

scoreboard players reset @a Deaths

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