Aller au contenu
blueblasterz

Les messages json, sans addons/API

Messages recommandés

Super, je ne connaissais pas ça du tout \o/

J'avais entendu qu'avec les dernières versions de Bensku y'avais du JSON intégré mais je ne m'étais pas penche dessus.

Bravo

Partager ce message


Lien à poster
Partager sur d’autres sites
Super, je ne connaissais pas ça du tout \o/

J'avais entendu qu'avec les dernières versions de Bensku y'avais du JSON intégré mais je ne m'étais pas penche dessus.

Bravo

 

Moi non plus franchement :o je l'utiliserais pour des systemes de Report chat ou autre !!

Partager ce message


Lien à poster
Partager sur d’autres sites
Bonjour/bonsoir !

Dans les dernières versions de Skript se trouve une nouvelle fonctionnalité assez utile, permettant d'utiliser le format JSON dans des messages de manière à mon goût très simple et plus pratique qu'avec json.sk.

 

Qu'est ce qu'un message contentant du 'json' ? Comment en faire via Skript ?

Le json est un format permettant de stocker des données, et n'est pas utilisé que par Minecraft. Dans Minecraft, il permet entre autres d'envoyer des messages en couleur, contenant des commandes cliquables, des infobulles, et autres choses que l'on verra par la suite. Pour l'utiliser directement dans minecraft, il faut se servir de la commande "/tellraw", une commande à la syntaxe très restrictive et compliquée à utiliser.

C'est le mode de fonctionnement de l'API json.sk. L'inconvénient est qu'avec ceci, il est difficile (impossible ?) d'envoyer plusieurs formats différents sur la même ligne, par exemple 2 commandes cliquables sur 2 portions de textes différentes de
la même
ligne. De plus cela envoie dans la console le log de la commande tellraw.

Il existe aussi une syntaxe contenue dans SkQuery permettant d'envoyer des messages json, pouvant contenir plusieurs formats, mais cette syntaxe reste assez restrictive elle aussi, et nécessite l'addon.

La nouvelle méthode

Depuis longtemps il existe dans skript des bouts de codes intégrable directement dans l'effet "message/send", permettant de faire la mise en forme :

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Ils sont très peu utilisés, car il est bien plus simple de se servir de "&4 , &l , &2 , &r , ...". Mais c'est avec des balises de ce type que l'on va intégrer des commandes/tooltip à nos messages.

Voici les 4 balises disponibles :

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Et voici quelques exemples d'utilisations et le résultat en jeu:

[spoiler=Exemples]

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

[spoiler=Résultats]
(Après avoir cliqué sur le message)

#1

[ATTACH=full]7864[/ATTACH]

J'ai sauté quelques lignes pour ne pas cacher le texte, mais normalement il n'y a pas de saut de ligne.

On remarque que dans les tooltips, le code couleur doit être mit avec le symbole § et non &, si vous écrivez le texte directement. Néanmoins si le texte de la tooltip est stocké dans une variable, alors le caractère & fonctionnera.

Exemple :

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

affichera bien Bonsoir en bleu dans la tooltip.

 

#2

[ATTACH=full]7867[/ATTACH]

et au clic :

[ATTACH=full]7868[/ATTACH]

[spoiler=Résultats]

#3

[ATTACH=full]7866[/ATTACH]

Juste pour montrer qu'il est possible de faire plusieurs commandes dans le même message, sur plusieurs parties de textes différentes. C'est bien sûr aussi possible avec les url.

 

 

Remarques

● Certaines combinaisons de formatage ne sont pas possibles, si elles sont mises sur
la même portion de texte
:

- commande + commande suggérée

- commande + url

- commande suggérée + url

 

● Ils n'est pas possible d'associer plus d'un format du même type à la même portion de texte. Par exemple, les codes suivants ne fonctionneront que partiellement :

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

● Les caractères < et > écrits dans l'un des formatages le fera boguer. Je n'ai personnellement pas trouvé d'autre moyen que de les remplacer par un caractère unicode comme ➤ ou ▶

 

● Les commandes cliquables et les commandes suggérées ne peuvent pas faire plus de 100 caractères, sinon seuls les 100 premiers caractères seront exécutés.

 

● Placer le symbole § dans une commande cliquable fera kick le client, avec l'erreur "illegal characters in chat". Si vous placez un § dans une commande suggérée, la couleur sera bien appliquée dans le tchat, mais le joueur sera kick s'il exécute la commande, avec la même erreur.

 

● Les urls doivent commencer par "http(s)://", sinon le texte ne sera pas cliquable

 

● Ces formats ne sont pas utilisables avec l'effet broadcast

 

Je rappelle qu'il faut avoir une version assez récente de skript, prenez les

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.
pour être sûr, et parce que c'est bien d'être à jour ;) Pour info, cette fonctionnalité a été ajoutée dans la dev26.

 

Voilà, en espérant que ça vous sera utile :)

 

 

Oui mais peux-tu me donner la dernière version de Skript car celle sur Bukkit ne fonctionne pas avec ta méthode

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 02/03/2018 à 20:13, blueblasterz a dit :

Bonjour/bonsoir !

Dans les dernières versions de Skript se trouve une nouvelle fonctionnalité assez utile, permettant d'utiliser le format JSON dans des messages de manière à mon goût très simple et plus pratique qu'avec json.sk.

 

Qu'est ce qu'un message contentant du 'json' ? Comment en faire via Skript ?

 

 

Le json est un format permettant de stocker des données, et n'est pas utilisé que par Minecraft. Dans Minecraft, il permet entre autres d'envoyer des messages en couleur, contenant des commandes cliquables, des infobulles, et autres choses que l'on verra par la suite. Pour l'utiliser directement dans minecraft, il faut se servir de la commande "/tellraw", une commande à la syntaxe très restrictive et compliquée à utiliser.

 

C'est le mode de fonctionnement de l'API json.sk. L'inconvénient est qu'avec ceci, il est difficile (impossible ?) d'envoyer plusieurs formats différents sur la même ligne, par exemple 2 commandes cliquables sur 2 portions de textes différentes de
la même
ligne. De plus cela envoie dans la console le log de la commande tellraw.

 

Il existe aussi une syntaxe contenue dans SkQuery permettant d'envoyer des messages json, pouvant contenir plusieurs formats, mais cette syntaxe reste assez restrictive elle aussi, et nécessite l'addon.

 

 

 

La nouvelle méthode

 

 

Depuis longtemps il existe dans skript des bouts de codes intégrable directement dans l'effet "message/send", permettant de faire la mise en forme :

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.
 

 

Ils sont très peu utilisés, car il est bien plus simple de se servir de "&4 , &l , &2 , &r , ...". Mais c'est avec des balises de ce type que l'on va intégrer des commandes/tooltip à nos messages.

 

Voici les 4 balises disponibles :

 

 

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.
 

 

 

Et voici quelques exemples d'utilisations et le résultat en jeu:

 

 
[spoiler=Exemples]

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.
 

 

 

 

 

 
[spoiler=Résultats]
(Après avoir cliqué sur le message)

 

#1

 

[ATTACH=full]7864[/ATTACH]

 

 
J'ai sauté quelques lignes pour ne pas cacher le texte, mais normalement il n'y a pas de saut de ligne.

 

On remarque que dans les tooltips, le code couleur doit être mit avec le symbole § et non &, si vous écrivez le texte directement. Néanmoins si le texte de la tooltip est stocké dans une variable, alors le caractère & fonctionnera.

 

Exemple :

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.
 

 

affichera bien Bonsoir en bleu dans la tooltip.

 

 

 

#2

 

[ATTACH=full]7867[/ATTACH]

 

et au clic :

 

[ATTACH=full]7868[/ATTACH]

 

[spoiler=Résultats]

 

 

 

#3

 

[ATTACH=full]7866[/ATTACH]

 

Juste pour montrer qu'il est possible de faire plusieurs commandes dans le même message, sur plusieurs parties de textes différentes. C'est bien sûr aussi possible avec les url.

 

 

 

 

 

Remarques

 

 

● Certaines combinaisons de formatage ne sont pas possibles, si elles sont mises sur
la même portion de texte
:

 

- commande + commande suggérée

 

- commande + url

 

- commande suggérée + url

 

 

 

● Ils n'est pas possible d'associer plus d'un format du même type à la même portion de texte. Par exemple, les codes suivants ne fonctionneront que partiellement :

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.
 

 

 

 

 

● Les caractères < et > écrits dans l'un des formatages le fera boguer. Je n'ai personnellement pas trouvé d'autre moyen que de les remplacer par un caractère unicode comme ➤ ou ▶

 

 

 

● Les commandes cliquables et les commandes suggérées ne peuvent pas faire plus de 100 caractères, sinon seuls les 100 premiers caractères seront exécutés.

 

 

 

● Placer le symbole § dans une commande cliquable fera kick le client, avec l'erreur "illegal characters in chat". Si vous placez un § dans une commande suggérée, la couleur sera bien appliquée dans le tchat, mais le joueur sera kick s'il exécute la commande, avec la même erreur.

 

 

 

● Les urls doivent commencer par "http(s)://", sinon le texte ne sera pas cliquable

 

 

 

 
● Ces formats ne sont pas utilisables avec l'effet broadcast

 

 

 

 

 

Je rappelle qu'il faut avoir une version assez récente de skript, prenez les

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.
pour être sûr, et parce que c'est bien d'être à jour 😉 Pour info, cette fonctionnalité a été ajoutée dans la dev26.

 

Voilà, en espérant que ça vous sera utile 🙂

 

 

 

 

 

 

Super tuto, sérieusement !

Pour le problème avec les < et >, je vous conseil ces symbole (Qui marche également correctement sur Minecraft !) :

‹ et ›

De plus, tu pourrais indiquer depuis quelle version cela march ? 

Merci d'avance !

Bonne Journée !

Modifié par SkyCraft78

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.