1 votes

J'ai besoin d'aide avec /execute

J'essaie d'utiliser la commande /execute et de détecter l'air sous le joueur, de transformer le bloc en bloc barrière et de le détruire une seconde plus tard. En faisant cela, j'essaie de créer un mécanisme de double saut, mais pour l'instant, les commandes sont dans des blocs séparés utilisant des comparateurs et des répétiteurs. J'ai fait quelques recherches et j'ai obtenu ceci :

/execute @e[type=Player] ~ ~ ~ detect ~ ~-2 ~ air 1 fill ~-2 ~-1 ~-2 ~1 ~-1 ~1 barrier destroy 0

Mais, cela ne fonctionne pas et il en ressort que

[11:52:19] Failed to execute 'detect' as mr_assley19

Si quelqu'un peut proposer des alternatives ou une façon de réparer la commande que j'ai essayée, ce serait génial !

3voto

SirBenet Points 27779

Pour réparer la commande :

  • @e[type=Player] peut juste être @a
  • Il n'y a pas d'air avec une valeur de données de 1, donc la détection ne réussira jamais ; elle doit être de 0.
  • La valeur des données dans /fill devrait venir avant l'ancien mode de traitement des blocs

Donc votre commande devrait être :

execute @a ~ ~ ~ detect ~ ~-2 ~ air 0 fill ~-2 ~-1 ~-2 ~1 ~-1 ~1 barrier 0 destroy

Je ne suis pas sûr que cela fasse vraiment ce que vous voulez. Il n'y a aucun moyen d'exécuter deux commandes distinctes dans un bloc de commande, ni d'avoir un délai dans un seul bloc.

0 votes

Bien expliqué +1

1 votes

@a sélectionnera les joueurs morts, tandis que @e[type=Player] ne sélectionnera que les vivants. Il y a es une différence.

1 votes

@sharpturn Je ne dis pas qu'il n'y a pas de différence, mais que @a fonctionnera pour cela. En fait, ce serait mieux s'il ne restait pas de barrières après la mort des gens.

1voto

Ted Brownlow Points 186

Détecter la syntaxe :

    /detect <x1> <y1> <z1> <x2> <y2> <z2> <TileName> <dataValue>

La commande de détection a besoin de la valeur de données du bloc ainsi que de l'ID du bloc. La seule métadonnée valide pour l'air est 0. 1 fera que la détection retournera toujours faux parce que Minecraft ne peut pas trouver l'air avec la valeur de données 1.

Remplir la syntaxe :

    /fill <x1> <y1> <z1> <x2> <y2> <z2> <TileName> [dataValue] [oldBlockHandling] [dataTag]

Pour la commande de remplissage, vous avez simplement mélangé la dataValue et l'oldBlockHandling.

La commande finale devrait être :

    /execute @e[type=Player] ~ ~ ~ detect ~ ~-2 ~ air 0 fill ~-2 ~-1 ~-2 ~1 ~-1 ~1 barrier 0 destroy

0 votes

Ceux-ci ne fonctionnent pas tout à fait parce que dès que vous sautez, il crée continuellement et détruit le bloc vous laissant en l'air.

0voto

Bridgeyman Points 1098

Configuration du tableau d'affichage :

/scoreboard objectives add LivingTime dummy

Intérieur d'une horloge rapide (horloge 20 fois par seconde) :

/execute @a ~ ~ ~ detect ~ ~-2 ~ air 0 summon ArmorStand ~ ~ ~ {CustomName:"Target", Marker:1, Invisible:1}
/execute @e[type=ArmorStand,name=Target] fill ~-2 ~-1 ~-2 ~1 ~-1 ~1 barrier 0 destroy
/scoreboard players add @e[type=ArmorStand,name=Target] LivingTime 1
/execute @e[type=ArmorStand,name=Target,score_LivingTime_min=20] fill ~-2 ~-1 ~-2 ~1 ~-1 ~1 air 0 destroy
/kill @e[type=ArmorStand,name=Target,score_LivingTime_min=20]

La première commande (ignorant la commande de configuration) invoque un stand d'armure avec un nom personnalisé de cible à chaque joueur qui a un bloc d'air 2 blocs en dessous d'eux. La commande suivante remplit la zone située 2 blocs sous chaque stand d'armure dont le nom personnalisé est Target. Dans la troisième commande, le LivingTime pour chaque support d'armure est incrémenté et quand LivingTime est d'au moins 20, la zone située 2 blocs plus bas est remplacée par de l'air et le support d'armure est tué, supprimant son LivingTime .

0 votes

Cela ne fonctionne pas pouvez-vous s'il vous plaît développer sur ce point

0 votes

Cela ne fonctionne pas, je vais poser une question à ce sujet parce que cela devrait fonctionner.

1 votes

Il semble que cela nécessite un peu plus d'explications, car le demandeur ne comprend pas bien ce que vous lui dites.

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