1 votes

Minecraft /test for shop help

J'ai besoin d'aide pour réparer cette commande. J'ai essayé mais cela ne fonctionne pas dans la version 1.9. La commande est testfor @a[r=3,score_GameTokens_min=5] > give @p cooked_porkchop 3 | /scoreboard players remove @p[r=3] GameTokens 5 . Lorsque j'essaie, le système me dit : "Invalid stuff" et attend { comme premier caractère. Si vous pouvez résoudre ce problème, je vous en serais reconnaissant. J'ai déjà essayé de le modifier plusieurs fois et j'ai fait des recherches en ligne, mais il n'y en avait pas, alors j'ai dû créer un nouveau fil de discussion.

2 votes

Je suis curieux. Qu'est-ce qui vous a fait croire que vous pouviez enchaîner les commandes en utilisant > y | ? Les commandes de Minecraft ne sont pas bash.

1 votes

@MrLemon J'aimerais tellement que ça marche. :P

3voto

Addison Crump Points 403

Vous voudrez probablement utiliser un bloc d'impulsion avec la commande suivante (merci @Skylinerw pour avoir réduit la commande !) :

/give @p[r=3,score_GameTokens_min=5] cooked_porkchop 3

Suivi d'un bloc de commande de chaînage inconditionnel toujours actif :

/scoreboard players remove @p[score_GameTokens_min=5] GameTokens 5

Vous devrez vous assurer que @p cible toujours le bon joueur - l'intégration d'un objectif fictif temporaire pour retracer le joueur qui achète pourrait être bénéfique ici. Si vous avez besoin d'aide à ce sujet, posez une autre question sur le site principal.

1 votes

Pour dissiper les malentendus : /testfor fonctionne bien et peut potentiellement faire moins travail que /scoreboard . En utilisant /scoreboard comme cela, il faut traiter chaque cible obtenue dans cette zone et vérifier leur score. Utilisation de /testfor permet de réduire le nombre de fois qu'une commande est traitée par le sélecteur lui-même (puisque la vérification du score est effectuée dans le sélecteur) : /testfor @p[r=3,score_GameTokens_min=5] . Si vous avez un problème avec une commande, je vous recommande de poser d'abord une question à son sujet, car elle fonctionne correctement. En réalité, la première commande n'est même pas nécessaire.

0 votes

@Skylinerw Dans les versions 1.9 que j'ai essayées (1.9, 1.9.1-pre1 à 3), testfor ne transmettait systématiquement pas la valeur de condition correcte (soit vraie, soit fausse, mais de manière incorrecte) à un bloc de chaîne conditionnelle. Je vais intégrer vos suggestions dans ma réponse et voir si quelqu'un d'autre rencontre le même problème (cela pourrait être de mon côté, je ne suis pas sûr).

0 votes

Si vous utilisiez le r a été modifié une poignée de fois pour résoudre des problèmes et être plus précis (par exemple, r=0 ne sélectionne plus un espace de bloc entier). Rien n'a changé concernant /testfor lui-même, et tout problème résultant d'un sélecteur et d'une SuccessCount d'un bloc de commande se produisait quelle que soit la commande utilisée. Il y avait encore des problèmes où les blocs de commande exécutés étaient forcés d'attendre le prochain tick pour s'activer, ce qui entraînait des résultats inattendus des chaînes de commande, ce qui a été "résolu" dans les préversions 1.9.1 (1000 blocs de commande par tick augmenté à 65536).

1voto

Paul Smith Points 1064

Essayez d'utiliser un comparateur.

Premier bloc de commande :

/testfor @a[r=3,score_GameTokens_min=5]

Puis utiliser un comparateur suivi d'un répéteur allant vers 2 blocs de commande :

/give @p cooked_porkchop 5

/scoreboard players remove @p GameTokens 5

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