Aller au contenu
remy29

Skripts MultiLanguages(∞) & Config [1]| Difficulté: ★★★ (complexe)

Messages recommandés

Introduction:

Bonjour à tous.

Aujourd'hui je fait mon premier tutoriel donc soyez indulgent svp.

Ce tutoriel vous permettra de faire que vos skripts puissent gérer un nombre de langages illimités et en plus d'utiliser un fichier config.

Il sera divisé en plusieurs parties (parce qu’il est long).

PS: Dans ce tuto, les codes seront basés sur ceux de mon skript TnTRun que je suis en train de coder.

 

Sommaire:

Partie 1: ici

Partie 2: cliquer ici

Partie 3: Bientôt!

 

Partie 1:

Alors, commençons.

Sachant que ce que nous voulons faire en sorte que notre skript puisse supporter un nombre illimités de langages, il faut bien un endroit où stocker nos langues, qui seront des fichier .yml.

Il nous faut donc créer un répertoire/dossier. Sachant que le chargement se fera au chargement du skript, il nous faut utiliser l’événement "on load":

Contenu masqué

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

Rien de bien compliqué pour l'instant, mais ce n'est pas fini pour les dossier.

Comme nous sommes très perfectionnistes , nous voulons séparer nos fichier langages de notre fichier config.yml car oui nous voulons créer un fichier config.yml car on a marre des options dans les skript. Et si vous en avez pas marre, bah ça changera un peu ^^. Mais celui ci n'existe pas encore, nous alons creer un 2 ème dossier dans le premier, pour nos petits langages:

Contenu masqué

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

Parfait. Tous est prêt pour recevoir nos petits langages chéris. Mais il nous manque notre fichier config.yml. On va donc le créer et écrire un petit logo dedans :D

Contenu masqué

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

Bien. Maintenant que nous faut-t'il? Des valeurs dans notre fichier config.yml pardi!

Est la première est bien celle qui est utilisé dans touts les skripts dans "options:". Je parle bien entendu de la variable "prefix" ou "logo" comme vous voulez. Donc on va récupérer cette valeur dans le fichier config et l'enregistrer dans une variable.

Contenu masqué

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Hooooo! Mais on est bête! La valeur n'est pas écrite dans le fichier! Il faut donc qu'on détecte si la variable est nulle, c'est à dire si elle ne contient rien. Nous allons donc écrire dans notre variable comme nous 'lavons fait plus haut. Mais ce n'est pas aussi simple! Le problème est que à chaque fois que notre skript va charger, la variable va de nouveaux s'écrire dans le fichier! Pour remédier à cela, il nous suffi de regarder si la variable est nulle ou pas, et si elle est nulle d'écrire dans le fichier cette variable dans le fichier. Mais encore un problème se pose à nous, si la variable à été défini dans le fichier, quelle à été récupéré, et que le texte dans le fichier à été effacé, lors du chargement, le skript va incrémenter la nouvelle valeur à notre variable prefix. Le problème c'est que comme notre nouvelle valeur est nulle, la variable ne va pas s’incrémenter de cette valeur, c'est comme ça, me demandez pas pourquoi. Le fait est que notre skript ne va réécrire dans le fichier vu que la variable n'est pas nulle. Pour remédier à ça, il nous suffit d’effacer la variable juste avant. On veut aussi une prise en compte des colors codes, parce que sinon c'est moche ^^.

Bien maintenant, en code ça donne quoi?

Contenu masqué

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

Et voilà c'est la fin de cette première partie. Je posterai très prochainement la 2ème. Dîtes moi si vous avez aimé (ou pas) si j'ai fait des erreurs dans les codes (ça arrive toujours), des fautes d'ortho (je croi qyan a) ou des suggestions pour la partie 2.

Cordialement,

remy29.

  • J'aime 2

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai rien pigé ? On fait quoi ???

 

set {tntrun.config.prefix} to value "Prefix" get of "plugins/TnTRun/config.yml" #On récupère la valeur if {tntrun.config.prefix} is not set: #On regarde si la variable n'est pas défini write file "Prefix: '&8[&9TnTRun&8]'" to "plugins/TnTRun/config.yml" #Si c'est le cas on écrit le réglage dans le fichier set {tntrun.config.prefix} to value "Prefix" get of "plugins/TnTRun/config.yml" #Et on redéfini la variable avec la nouvelle valeur

Partager ce message


Lien à poster
Partager sur d’autres sites
J'ai rien pigé ? On fait quoi ???

Regarde plus haut

--

Bien, mais tu savais qu'on pouvait faire plus simple x) ? :

 

Contenu masqué

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

Et si je laisse le fichier mais que j'éfface tout dedans??

Et pour explication en rapport avec ton 2ème code, la 2ème partie en parlera. Bon d'accord, j'explique :

Le but est de pouvoir gérer un nombre de language illimités sans avoir a modifier le code. Juste en créant un fichier. Mais surtout, regardez /lang sur E****** (dsl pub j'était obligé d'en citer un) . Chaque joueur peut avoir un language différent simultanément.

 

PS: Pour + d'explication si c'est pas clair, le nom d'un fichier langue sera par exemple fr_FR, et contiendra touts les messages.

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui et bha soir tu fais des variable direct dans le code , soit un fichier, cela a déjà été fais look XpBank ou SkStats ( Il vas bientôt sortir) de plus je comptais faire un Skript "LangHook" avec des message dedans préconfigué et un fichier lang spécial pour chaque skript, et les dev n'aurai plus qu'a invoké des fonctiton pour obttenire la lang qu'il souhaite

Partager ce message


Lien à poster
Partager sur d’autres sites

Encore une fois vous n'avez pas compris. J'ai regardé xpbank . Tu peux bien changer de langage mais...

1. C'est le même langage pour TOUTS les joueurs!

2. Ce n'est facile d'ajouter un langage, il faut chercher dans le code, ect...

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.