1 votes

problème de tellraw avec du texte en portugais et en espagnol

Toujours lorsque le message contient un accent dans une lettre, il renvoie une erreur en json au lieu de fonctionner.

Exemple de texte : ýay

Résultat : [RCON] Composant de chat non valide : Fin de l'entrée à la ligne 1 colonne 36 chemin $[1]...ellraw @a [{"text" :" C=ay"}<--[ICI]

Mise à jour de

A l'aide de votre réponse, j'ai résolu le problème. Merci~ <3

Source : https://stackoverflow.com/questions/21647928/javascript-unicode-string-to-hex

module.exports = {

encode: function(tinythis, finalv = false) {
    var hex, i;

    var result = "";
    for (i = 0; i < tinythis.length; i++) {

        hex = tinythis.charCodeAt(i).toString(16);

        if (!finalv) {
            result += ("000" + hex).slice(-4);
        } else {
            result += '\\u' + ("000" + hex).slice(-4);
        }

    }

    return result;

},

decode: function(tinythis) {
    var j;
    var hexes = tinythis.match(/.{1,4}/g) || [];
    var back = "";
    for (j = 0; j < hexes.length; j++) {
        back += String.fromCharCode(parseInt(hexes[j], 16));
    }

    return back;
}

};

       const hexC = require('./file.js');

        for (var items in cmd) {
            cmd[items].text = hexC.encode(cmd[items].text, true);
        }

        console.log(JSON.stringify(cmd).replace(/\\\\u/g, '\\u'));
        this.cmd = 'tellraw ' + player + ' ' + JSON.stringify(cmd).replace(/\\\\u/g, '\\u');

0 votes

Ça marche pour moi : /tellraw @s {"text":"ýay"} -> ýay . Quelle est votre commande complète ? Peut-être que quelque chose d'autre a causé ça.

3voto

Jax Points 1877

Si c'est un message d'erreur JSON que vous obtenez, vous devriez pouvoir utiliser les codes d'échappement JSON. (voici un outil en ligne) pour contourner le problème : essayez de dire \u00FDay au lieu de ýay .

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