Aller au contenu

Question

Posté(e)

Version de Minecraft : 1.12.2
Version de Skript : 2.3.7

Addons utilisés: skript-mirror ...

Description du script :

Salut ! Je souhaiterais créer mes propres syntaxes avec skript-mirror pour traduire mon serveur. J'ai deux questions oar rapport à sa :

 

Question 1 :

serait-il possible de créer qq chose de ce genre :

 

# mon code

send lang message:

    fr "mon message en fr"

    en "my message in en"

    es "mi je sais pas kwa 😉 en es"

    ...

 

 

Question 2 :

Est il possible de définir les languages de la question 1 (en, fr, es...) avec qq chose comme sa :

 

On load:

    register new language with id "fr"

 

Merci d'avance et ps : je ssuis sur téléphone donc je ne peux pas mettre mon code dans des balises.

14 réponses à cette question

Messages recommandés

  • 0
Posté(e)
il y a 5 minutes, TitiLaPierre a dit :

Version de Minecraft : 1.12.2
Version de Skript : 2.3.7

Addons utilisés: skript-mirror ...

Description du script :

Salut ! Je souhaiterais créer mes propres syntaxes avec skript-mirror pour traduire mon serveur. J'ai deux questions oar rapport à sa :

 

Question 1 :

serait-il possible de créer qq chose de ce genre :

 

# mon code

send lang message:

    fr "mon message en fr"

    en "my message in en"

    es "mi je sais pas kwa 😉 en es"

    ...

 

 

Question 2 :

Est il possible de définir les languages de la question 1 (en, fr, es...) avec qq chose comme sa :

 

On load:

    register new language with id "fr"

 

Merci d'avance et ps : je ssuis sur téléphone donc je ne peux pas mettre mon code dans des balises.

Sah bonne question mais inutile tu veux faire quoi avec ça ? Utilise des variables, optimise ça revient au même 

Sk-mirror ça fait pas tout 

  • 0
Posté(e)
Il y a 7 heures, TitiLaPierre a dit :

Je sais mais se serais plus long de vérifier la langue du joueur (stocké dans des variables) avant d'envoyer un message.

T'as cas faire un async, à t'es risques et a périls

  • 0
Posté(e) (modifié)

Sinon tu check la langue du joueur :

Tu définis {lang::%player%} à "en" ou "fr" ou autre

puis pour récup le message en question tu le fichier en fonction de la langue du joueur

Genre "/plugins/NomduScript/%{lang::%player%}%/messages.yml"

Du coup tu créer un yml dans chaque dossier des différentes langues

Modifié par Xamez
  • 0
Posté(e)
il y a 35 minutes, TitiLaPierre a dit :

Hum... c'est quoi un async @KneaXy ?

X)

Async (Merci SkQuery) c'est utiliser un autre thread 

Bon.... XD

Un thread c'est... Dans le processeur, y'a genre 4 cores (Coeur -_-), un core il y a 2 threads, donc 2 calculs en même temps x)

Y'a les files d'attente aussi.... XD ouais compliqué

1 thread = 2 files d'attente

Donc x)

1 core = 2 threads = 4 files d'attente (dans les processeurs récents en tout cas si je ne dis pas de conneries)

  • 0
Posté(e)
il y a 8 minutes, Xamez a dit :

Sinon tu check la langue du joueur :

Tu définis {lang::%player%} à "en" ou "fr" ou autre

puis pour récup le message en question tu le fichier en fonction de la langue du joueur

Genre "/plugins/NomduScript/%{lang::%player%}%/messages.yml"

Du coup tu créer un yml dans chaque dossier des différentes langues

Yml = + optimisé ? (Moi je suis pas sûr)

  • 0
Posté(e)
il y a 16 minutes, TitiLaPierre a dit :

Merci de ta réponse @Xamez mais je ne pense pas quelle soit la meilleur des solutions

 

Sinon, est ce que c'est pousser le bouchon trop loin @KneaXy si je te dis que je ne sais pas a quoi cela servirais de changer de thread ??

Si tu changes de thread, ça sera plus rapide forcément xD

Tu sais qu'un thread fait 1 opération à la fois, bien que cela soit très très rapide, c'est bien aussi de faire 2 opérations en même temps 

Mais async peut être dangereux, car il utilise le thread que Spigot utilise.

Minecraft : 1 thread, Spigot plugins etc : 1 thread, donc il faut pas trop utiliser le deuxième thread, mais ça reste plus "optimisé"

  • 0
Posté(e) (modifié)

Meilleur solution optimisé avec skript-yaml:

Lors de la connexion tu défini la variable de langue du joueur (que tu supprime lorsqu'il se déconnecte du serveur)

tu utilise 1 fichier .yml pour chaque langue, nommé du genre "FR.yml"

et tu utilise exactement le MÊME chemin dans chaque fichier.

Tu peu faire ça en async (avec MundoSK) mais je te propose plutôt la solution des fonctions qui sont par contre en sync

Voici ce que j'utilise :

function Lang(lang: text, node: text, replace: strings) :: string:
    set {_msg} to singleYML({_node}, "FR") #fonction qui utilise skript-yaml
    replace all "°" with "'" in {_msg} #support de l'apostrophe
    replace all "[0]" with nl in {_msg} #insertion d'un retour à la ligne
    loop {_replace::*}: #remplace par exemple tous les "[1]" par le pseudo du joueur
        replace all "[%loop-index%]" with "%loop-value%" in {_msg}
    return colored {_msg}

et dans mon fichier FR.yml j'ai par exemple le chemin "STATS.increase.level" où il est écrit "<cyan>[1] est monté au niveau [2]"

Modifié par Anarchick
  • 0
Posté(e)
Il y a 18 heures, Anarchick a dit :

Meilleur solution optimisé avec skript-yaml:

Lors de la connexion tu défini la variable de langue du joueur (que tu supprime lorsqu'il se déconnecte du serveur)

tu utilise 1 fichier .yml pour chaque langue, nommé du genre "FR.yml"

et tu utilise exactement le MÊME chemin dans chaque fichier.

Tu peu faire ça en async (avec MundoSK) mais je te propose plutôt la solution des fonctions qui sont par contre en sync

Voici ce que j'utilise :


function Lang(lang: text, node: text, replace: strings) :: string:
    set {_msg} to singleYML({_node}, "FR") #fonction qui utilise skript-yaml
    replace all "°" with "'" in {_msg} #support de l'apostrophe
    replace all "[0]" with nl in {_msg} #insertion d'un retour à la ligne
    loop {_replace::*}: #remplace par exemple tous les "[1]" par le pseudo du joueur
        replace all "[%loop-index%]" with "%loop-value%" in {_msg}
    return colored {_msg}

et dans mon fichier FR.yml j'ai par exemple le chemin "STATS.increase.level" où il est écrit "<cyan>[1] est monté au niveau [2]"

Merci de ta réponse @Anarchick, mais je souhaite d'abord voir les possibilités avec skript-mirror  (Si il y en a).

Si je n'en trouve pas, j'utiliserais ta technique.

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • 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.