J'espère créer une commande qui fera quelque chose lorsque la commande /testfor fait apparaître 0 d'une entité spécifiée. Par exemple :
/testfor @e[x,y,z,r,type=Zombie,count=0]
J'espère créer une commande qui fera quelque chose lorsque la commande /testfor fait apparaître 0 d'une entité spécifiée. Par exemple :
/testfor @e[x,y,z,r,type=Zombie,count=0]
Utiliser un compteur de tableau d'affichage auquel on ajoute 1 par entité qui répond aux exigences
Mise en place :
/scoreboard objectives add Counter dummy
/summon ArmorStand <X> <Y> <Z> {CustomName:Counter}
Horloge (20 Hz) :
/scoreboard players set @e[type=ArmorStand,name=Counter] Counter 0
/execute @e[type=VillagerGolem,x=<X>,y=<Y>,z=<Z>,r=<Range>] ~ ~ ~ scoreboard players add @e[type=ArmorStand,name=Counter] Counter 1
/execute @e[type=ArmorStand,name=Counter,score_counter=0] ~ ~ ~ <Desiered Command>
Trucs et astuces techniques :
Mise en place :
Tout d'abord, un objectif de tableau de bord appelé Counter est créé. Ensuite, une armure appelée Counter est invoquée.
Boucle :
Le score est d'abord remis à zéro, puis pour chaque Golem de fer à portée, 1 est ajouté au score de l'ArmorStand. Enfin, la commande d'exécution ne s'exécutera que sur tout socle d'armure appelé Counter dont le score est égal à 0.
Si vous modifiez le score_counter de la dernière commande, vous pouvez modifier le nombre de Golems de Fer que vous souhaitez avant que la commande ne soit exécutée.
En utilisant 2 blocs de commande, 1 comparateur, 1 bloc de construction, 1 torche de redstone. Vous pouvez accomplir ceci ainsi :
testfor @e[r=radius, type=VillagerGolem]
your command
Tu devras quand même mettre une horloge dessus. La mienne est sous le golem :)
À titre d'information, il est déconseillé d'utiliser l'option c=0
parce que cela ne veut pas dire qu'il faut trouver s'il y a 0, mais plutôt que lorsque vous faites une correspondance, il faut en faire 0. Donc dans votre cas, cela n'a aucun effet réel.
Faites une déclaration if else. Par exemple. Commencez par créer un tableau d'affichage.
/scoreboard objectives add IfElse dummy
Grâce à ce tableau d'affichage, vous saurez si quelque chose a réussi ou non. Vous utiliserez le score 0 si quelque chose ne s'est pas produit (un test a échoué) et le score 1 si quelque chose a réussi.
La pose d'une horloge, où vous avez mis votre premier bloc de commande à répéter, sur un morceau de redstone. Maintenant, pour qu'un score soit porté, vous avez besoin d'un support d'armure. Donc invoquez une armure qui a le nom "IfElse1" ou quelque chose comme ça.
Maintenant, pour le premier bloc de votre ligne de commande, vous voulez mettre les scores de l'amortisseur (des amortisseurs) à 0, de sorte que chaque fois que l'horloge finit de tester les scores/les changer, ils seront remis à la normale. (Score 0)
/scoreboard players set @e[name=IfElse1] IfElse 0
(Armorstand)and(Scoreboard)
Si vous allez utiliser plusieurs déclarations IfElse dans votre engin, je suggère de lui donner un tag, de sorte que vous pouvez cibler et réinitialiser tous vos IfElse(x) armorstands facilement en utilisant un seul bloc de commande. Donc quelque chose comme ça :
/scoreboard players set @e[tag=IfElseAll] IfElse 0
Vous pourriez donc mettre ceci comme première commande à la place.
Ensuite, il s'agit de tester l'opposé de ce que vous voulez réellement découvrir et obtenir un résultat. Pour savoir si quelque chose n'est pas vrai, vous devez d'abord découvrir le type de résultat que vous obtiendrez en faisant une vérification. Donc quelque chose comme ça
/testfor @e[type=Player,r=20]
(On pourrait ajouter une étiquette de région, à vérifier dans une case, ou une étiquette, ou n'importe quoi qui pourrait être donné au joueur pour le compter comme étant dans le jeu.
Exemple :
étiquette :
/testfor @e[type=Player,tag=InGame]
score :
/testfor @e[type=Player,score_GameStatus_min=1,score_GameStatus=1]
Ensuite, vous voulez avoir un bloc de commande conditionnel. Ce bloc de commande obtiendra une sortie si le test a réussi, ou ne sera pas activé du tout s'il n'a pas réussi. En d'autres termes, c'est là que vous placeriez votre sortie s'il y a des joueurs dans le jeu. Mais nous essayons de trouver le contraire, donc vous mettez ce qui suit.
/scoreboard players set @e[name=IfElse1] IfElse 1
Ceci changera le score par défaut des armorstands (0). à 1. Indiquant qu'il y a des joueurs dans le jeu. Mais si ce n'est pas le cas. Le score restera(0). (Si vous souhaitez qu'il y ait des joueurs dans le jeu, vous pouvez ajouter des blocs de commande conditionnels. Mais n'oubliez pas que si l'un d'eux échoue, la chaîne ne s'active pas jusqu'au bout).
Maintenant, après votre test pour les joueurs, vous savez s'il y a des joueurs ou non dans votre jeu, déterminé par l'état du score "No players(0)". "Joueurs (1)". Maintenant, pour obtenir un résultat sur le fait qu'il n'y a pas de joueurs dans le jeu, faites une autre commande testfor dans la même chaîne "qui n'est pas conditionnelle".
/testfor @e[name=IfElse1,score_IfElse_min=0,score_IfElse=0]
(Vérification d'un score minimum de 0, et maximum de 0 pour l'armure "IfElse1" dans le tableau d'affichage "IfElse").
Maintenant, créez une autre chaîne de blocs de commande conditionnelle, avec les résultats que vous souhaitez. Pour qu'il n'y ait pas de joueurs dans le jeu.
Et vous devriez être prêt.
Pas besoin de comparateurs, ni de redstone.
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.