1. Si vous venez d'arriver sur le forum et que vous êtes un peu perdus, cliquez ici !
    Rejeter la notice

Command Block La commande /tellraw: du texte à la programmation complexe

Discussion dans 'Tutoriels' créé par Mlakuss, 8 Juin 2014.

  1. Oromis

    Oromis Enter the World

    Inscrit:
    8 Sept 2012
    Messages:
    25
    Points:
    95
    Sexe:
    Homme
    Oki, donc on ne peux ni détecter un score, ni une personne sur un livre non édité ?
     
  2. leminecraftt

    leminecraftt Nouveau

    Inscrit:
    16 Jan 2015
    Messages:
    1
    Points:
    10
    Sexe:
    Homme
    Comment faire pour gm quelqun des quil arrive sur mon serveur ??'
     
  3. Redz

    Redz Résident de l'End

    Inscrit:
    7 Sept 2014
    Messages:
    5 277
    Points:
    229
    /defaultgamemode creative
    (Ou un autre gamemode)

    Aucun lien avec le tellraw mais bon ^^
     
  4. MrSweeter

    MrSweeter Nouveau

    Inscrit:
    17 Jan 2015
    Messages:
    6
    Points:
    10
    Sexe:
    Homme
    J'ai un soucis, j'aimerais faire un clickevent qui dit GOOD
    j'ai fais cette commande
    /tellraw @a {text:"---------------Bienvenue---------------",color:"gold",bold:true,clickEvent:{action:"run_command",value:"/tellraw @a {text:"GOOD"}"}}

    mais ca me met ca
    Invalid json: Unterminated object at line 1 column 132

    et je vois pas ou est l'erreur
     
  5. Calambiel

    Calambiel Résident de l'End

    Inscrit:
    5 Août 2014
    Messages:
    6 600
    Points:
    219
    Tu as oublié de tenir compte de l'échappement, ta commande devrait être (il me semble) :
    Code (cpp):
    /tellraw @a {text:"---------------Bienvenue---------------",color:"gold",bold:true,clickEvent:{action:"run_command",value:"/tellraw @a {text:\"GOOD\"}"}}
     
  6. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    140
    Sexe:
    Homme
    Exact. Truc simple pour voir que ça ne fonctionne pas, je réécrit ta commande dans une balise code classique (dans NotePad ça marche aussi)
    Code (cpp):
    /tellraw @a {text:"---------------Bienvenue---------------",color:"gold",bold:true,clickEvent:{action:"run_command",value:"/tellraw @a {text:"GOOD"}"}}
    Le GOOD n'est pas écrit en rouge ce qui signifie qu'il n'est pas inclut dans la chaîne de caractères.
    Le jeu pense donc que tu essayes de faire "/tellraw @a {text:" et ne comprend pas ce qu'il y a derrière.

    La deuxième solution, c'est de remplacer les guillemets autours de GOOD par des apostrophes.

    Les guillemets/apostrophes, c'est comme dans parenthèses, sauf qu'on ne connaît pas leur sens à l'avance.
     
    • J'aime J'aime x 1
  7. MrSweeter

    MrSweeter Nouveau

    Inscrit:
    17 Jan 2015
    Messages:
    6
    Points:
    10
    Sexe:
    Homme
    Ok merci mais pk fallait il mettre \ alors que quand je met bienvenue je le met pas

    et 2eme ? comment met tu ta commandee dans un cadre code (cpp)
     
  8. Calambiel

    Calambiel Résident de l'End

    Inscrit:
    5 Août 2014
    Messages:
    6 600
    Points:
    219
    C'est marqué dans le tutoriel c'est une propriété du JSON qu'on appelle l'échappement.
    Je suis pas un pro en programmation mais pour simplifier quand tu fais "du JSON dans du JSON" la commande va considérer les textes entre guillemets autre que le texte de base comme des arguments et plus comme un texte (on peut rentrer les arguments de formatage entre guillemets) et donc ne plus considérer les guillemets.

    Avec l'échappement (soit \" soit ' comme l'a dit Mlakuss) tu lui dit de garder les guillemets lorsqu'il va passer à la commande suivante et en gardant ces guillements ta phrase est de nouveau considérée comme un texte.
    Un exemple, avec ta nouvelle commande ton texte sera : Good
    Si tu rajoutais encore un \" (ce qui donne {text:\"\"Good\"\"}) tu aurais comme texte : "Good" (avec les guillemet écrits dans le chat)

    Pour le code il y a une fonction d'insertion sur le forum avec l'option "Code" (4ème icone en partant de la droite, à coté de la disquette)
     
  9. MrSweeter

    MrSweeter Nouveau

    Inscrit:
    17 Jan 2015
    Messages:
    6
    Points:
    10
    Sexe:
    Homme
    ok merci pour l'info du NotePad ca m'aideras beaucoup mais je vois pas ce qu'est une balise code classique dsl
     
  10. Aerosmite

    Aerosmite Mineur de Fer

    Inscrit:
    18 Nov 2014
    Messages:
    613
    Points:
    86
    Sexe:
    Homme
    Je suis désolé car ce magnifique tutoriel doit sûrement le dire mais comment passe-t-on des lignes ? Merci d avance ;)
     
  11. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    140
    Sexe:
    Homme
    Et pas uniquement dans le tutoriel.
    Après, c'est vrai que je ne précise pas que ça fonctionne dans le tellraw "simple".
    Il s'agit de mise en forme "classique" quand on fait un peu de programmation (avec des limitations, on ne peut pas faire de retour chariot par exemple).
     
  12. MrSweeter

    MrSweeter Nouveau

    Inscrit:
    17 Jan 2015
    Messages:
    6
    Points:
    10
    Sexe:
    Homme
    Code (cpp):
    /tellraw @a [{text:"---------------",color:"gold",bold:true},{text:"MineSweeper",color:dark_red,bold:true},{text:"---------------",color:"gold",bold:true},{text:"\n\n Objectif",color:dark_green,bold:true, underlined :true },{text: " \n\n Découvrez les cases vides en évitant les mines. Plus vite vous aurez terminé, meilleur sera votre score. Plus votre score sera bas, plus rapide vous serez, meilleur vous deviendrez. " ,bold :false},{text : "\n\n Plateau", underlined :true ,color:dark_green,bold:true},{text: "\n\n Le Démineur offre un choix de trois plateaux standard de difficulté croissante. ",bold:false},{text : "\n\n Débutant : 81 cases, 10 mines",color :green},{text : "\n\n Intermediaire : 289 cases, 40 mines",color :gold},{text : "\n\n Avance :  441 cases, 100 mines",color:dark_red},{text: "\n\n\n Suivant>>>",color :dark_green,bold :true,underlined :true, clickEvent:{action:"run_command",value:"/tellraw @a [{text:\"---------------\",color:gold,bold:true},{text:\"MineSweeper\",color:dark_red,bold:true},{text:\"---------------\",color:gold,bold:true},{text:\"\n\nComment jouer\",color:dark_green,bold:true,underlined:true}]"}}]
    Ou puis je trouver un logiciel qui fonctionne comme la partie code (cpp) du forum

    et ou est l'erreur dans ma tres longue commande
    parce le debut fonctionne mais le clickEvent ne veux pas se faire
     
    #27 MrSweeter, 18 Jan 2015
    Dernière édition: 18 Jan 2015
  13. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    140
    Sexe:
    Homme
    Manque de chance. Ta commande doit être correcte et devrait fonctionner à merveille mais il y a un petit détail qu'on oublie facilement: les commandes exécutées via un clickEvent doivent pouvoir tenir dans le chat pour fonctionner.
    Lors d'un clickEvent, c'est comme si le joueur entrait lui même la commande dans le chat et, si elle est trop longue, elle s'en retrouve tronquée et ne fonctionne plus.
    Solution: mettre une commande /scoreboard et assigner une valeur à la personne en train de lire et dès qu'elle clique sur suivant, l'augmenter de 1 ce qui sera détecté via un petit circuit en redstone pour envoyer le texte suivant. La gamerule sendCommandfeedback permet de retirer les textes "le score a été modifié" ou "Block Placed".
     
  14. MrSweeter

    MrSweeter Nouveau

    Inscrit:
    17 Jan 2015
    Messages:
    6
    Points:
    10
    Sexe:
    Homme
    dommage car j'aurais bien voulu mettre tout dans une seule et meme commande
    merci quand meme pour l'info sinon pour le logiciel t a une idee
     
  15. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    140
    Sexe:
    Homme
    J'utilise NotePad++, il y a des options pour colorer le texte.
     

Partager cette page