2 votes

Pourquoi est-ce que je reçois une erreur "unexpected token" avec la commande Minecraft /give ?

J'essaie de créer un signe sur lequel vous pouvez faire un clic droit et qui effacera les cactus de votre inventaire, puis vous donnera 18 cookies nommés "$100 Cookie" avec le lore "$100". Mais lorsque je le place dans un bloc de commande et que je l'alimente, le bloc de commande dit ceci :

[04:23:51] L'analyse des balises de données a échoué : Unxpected token $ à : $100 Cookie\\",Lore:[$100]}}\"}}",Text3:"{\"text\":\"iIiIiIi\",\"color\":\"light_purple\",\"strikethrough\":true,\"obfuscated\":true}",Text4:"{\"text\":\"[Sell]\",\"color\":\"dark_purple\",\"bold\":true}"

La commande que j'utilise est :

give @p sign 1 0 {BlockEntityTag:{Text1:"{\"text\":\"[Sell]\",\"color\":\"dark_purple\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"clear @p[name=rainbowlack,r=3] cactus 0 2304\"}}",Text2:"{\"text\":\"2304 Cacti\",\"color\":\"red\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"give @p[name=rainbowlack,r=3] minecraft:cookie 18 0 {display:{Name:\"$100 Cookie\",Lore:[$100]}}\"}}",Text3:"{\"text\":\"iIiIiIi\",\"color\":\"light_purple\",\"strikethrough\":true,\"obfuscated\":true}",Text4:"{\"text\":\"[Sell]\",\"color\":\"dark_purple\",\"bold\":true}"},display:{Name:"Custom Sign"}}

Quel est le problème avec cette commande ? J'ai essayé les backslashes et d'autres trucs. Pouvez-vous essayer de corriger la commande et de tester votre solution potentielle dans le jeu ? Merci.

Vous devrez changer le [name=rainbowlack,r=3] à votre nom d'utilisateur, quel qu'il soit (exemple : [name=playerplayer123,r=3] ).


En rapport : Pourquoi mes guillemets provoquent-ils une erreur "unexpected token" avec cette commande ?

1 votes

Le double objectif actuel sur cette question ne couvre que le premier niveau d'évasion. Cette question concerne le deuxième niveau d'échappement, et une question sur le premier niveau d'échappement ne les aidera pas à résoudre ce problème. Je vote pour la réouverture de cette question pour cette raison. Si vous n'êtes pas d'accord, veuillez répondre.

4voto

Skylinerw Points 12529

Vous devez ajouter des caractères d'échappement supplémentaires aux guillemets plus profonds. Vous ouvrez le Text1 avec une balise " donc le tout prochain " Le personnage le ferme. Vous ouvrez le value pour l'événement de clic avec \" ce qui signifie que le prochain \" que vous utilisez le fermera, ce qui se produit dans votre imbriqué /give de la commande NBT (en particulier juste après la commande Name tag). C'est ce qui cause votre problème.

La formule pour déterminer le nombre de barres obliques inversées nécessaires est la suivante : 2n+1n est le nombre de barres obliques inversées actuelles. Pour les données NBT imbriquées, vous avez besoin de 3 barres obliques inverses par guillemet ( \\\" ).

Commande fixe :

/give @p sign 1 0 {BlockEntityTag:{Text1:"{\"text\":\"[Sell]\",\"color\":\"dark_purple\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"clear @p[name=rainbowlack,r=3] cactus 0 2304\"}}",Text2:"{\"text\":\"2304 Cacti\",\"color\":\"red\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"give @p[name=rainbowlack,r=3] minecraft:cookie 18 0 {display:{Name:\\\"$100 Cookie\\\",Lore:[$100]}}\"}}",Text3:"{\"text\":\"iIiIiIi\",\"color\":\"light_purple\",\"strikethrough\":true,\"obfuscated\":true}",Text4:"{\"text\":\"[Sell]\",\"color\":\"dark_purple\",\"bold\":true}"},display:{Name:"Custom Sign"}}

0voto

Aaron Franke Points 461

Placez des barres obliques inversées devant les $ des symboles. Si le reste de la commande est correct, cela devrait fonctionner :

/give @p sign 1 0 {BlockEntityTag:{Text1:"{\"text\":\"[Sell]\",\"color\":\"dark_purple\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"clear @p[name=rainbowlack,r=3] cactus 0 2304\"}}",Text2:"{\"text\":\"2304 Cacti\",\"color\":\"red\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"give @p[name=rainbowlack,r=3] minecraft:cookie 18 0 {display:{Name:\"\$100 Cookie\",Lore:[\$100]}}\"}}",Text3:"{\"text\":\"iIiIiIi\",\"color\":\"light_purple\",\"strikethrough\":true,\"obfuscated\":true}",Text4:"{\"text\":\"[Sell]\",\"color\":\"dark_purple\",\"bold\":true}"},display:{Name:"Custom Sign"}}

De même, l'inclusion du nom d'utilisateur ne devrait pas être nécessaire, d'après ce que je sais. Pourquoi pas :

/give @p sign 1 0 {BlockEntityTag:{Text1:"{\"text\":\"[Sell]\",\"color\":\"dark_purple\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"clear @p cactus 0 2304\"}}",Text2:"{\"text\":\"2304 Cacti\",\"color\":\"red\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"give @p minecraft:cookie 18 0 {display:{Name:\"\$100 Cookie\",Lore:[\$100]}}\"}}",Text3:"{\"text\":\"iIiIiIi\",\"color\":\"light_purple\",\"strikethrough\":true,\"obfuscated\":true}",Text4:"{\"text\":\"[Sell]\",\"color\":\"dark_purple\",\"bold\":true}"},display:{Name:"Custom Sign"}}

0 votes

Le signe est visible, mais la 2ème ligne indique {"text" : "2304 et ne me donne pas les cookies !

0 votes

Quelle est la sortie souhaitée de la 2ème ligne ?

0 votes

Je veux qu'il y ait écrit "2304 Cacti" en rouge et qu'il me donne 18 cookies avec le nom "Cookie à 100 $" et le lore "100 $".

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