remy29 Posté(e) le 23 juillet 2016 Posté(e) le 23 juillet 2016 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: cliquer ici (Je vous conseille de la voir si vous ne l'avez pas vue) Partie 2: ici Partie 3: Bientôt! Partie 2: Alors on se retrouve pour la partie 2! Dernièrement, j'ai eu des remarques faîtes sur la partie 1. Les personnes les ayants posés ne semblait pas avoir compris la chose et ceux à quoi servait le skript. C'est surement de ma faute vu que je n'ai pas abordé le sujet dans la partie 1. Donc commençons. Dernièrement nous venons de définir notre variable prefix. Celle ci est commune à touts les langages c'est pour ça quelle est dans le fichier config.yml, mais nous nous voulons des langues. Pour cela, il nous faut déjà savoir quels sont les langages donc les fichier dans le répertoire /plugins/TnTRun/languages/. Pour cela il nous faut un petit code: set {tntrun.langs::*} to file in "plugins/TnTRun/languages" #on défini la variable Rien de plus simple. Maintenant nous allons créer nos premiers fichiers de langages soit fr_FR.yml et en_EN.yml et les mettres dans notre dossier. Maintenant quelles valeur allons nous mettre dans notre fichier? Celle qui appariait juste quand un fait la commande. L'aide/help index. Mais n'allons pas trop vite. Qui as t'il en haut de l'help. Exact. Une barre. Nous allons donc écrire dans nos fichier .yml la première valeur. #Dans fr_FR.yml: AboveHelp: '&e-------- %prefix% &e-------' #Dans en_EN.yml AboveHelp: '&e-------- %prefix% &e-------' Oui je sais c'est la même chose. Maintenant nous devons récupérer la valeur AboveHelp dans le code pour chaque langage. Comme nos fichiers sont enregistrés dans la variable {tntrun.langs::*} nous devons d'abord loop cette variable. Ensuite, nous récupérerons la valeur AboveHelp par rapport à la loop-value actuelle. notre l'enregistrerons dans une variable. Et on mettre un petit logo avant pour rendre le code plus lisible. loop {tntrun.langs::*}: #on loop-la variable #|-----------|# #| AboveHelp |# #|-----------|# clear {tntrun.lang.%loop-value%.abovehelp} #on éfface la varibale set {tntrun.lang.%loop-value%.abovehelp} to value "AboveHelp" get of "plugins/TnTRun/languages/%loop-value%" #on défini la variable Voilà. Dans la partie 1, j'avais expliqué pourquoi clear la variable. Mais ensuite je la ré-écrivait dans le fichier config.yml, ce que je ne peut pas faire là. Pourquoi? Parce que, dans le fichier config, les variables sont communes à touts les langues, alors qu'ici non: on ne va pas écrire une valeur en anglais dans un fichier de langage coréen. Il nous faut donc pourtant remédier à cette cause expliqué dans la partie 1. Pour cela, il nous faut tout simplement employer la même vérification que dans la partie 1, pour ensuite désactiver le langage. Pour cela nous ajouteront le langage dans une variable temporaire. Nous nous occuperont de cette variable dans la partie 3. Allez, en code: if {tntrun.lang.%loop-value%.abovehelp} is not set: #on regarde si la variable est nulle add loop-value to {_langtodisable::*} #on ajoute le langage à une variable temporaire Mais bon, ça ne suffit pas. Il faut déjà remarquer que le langage n'est pas activer, puis ensuite chercher la ligne manquante dans le fichier... Nous voulons rendre ça plus simple. Pour cela nous allons créer un fichier error.txt qui servira à expliquer l'erreur... Ca donne ça: if file "plugins/TnTRun/error.txt" doesn't exists: #on regarde si le fichier n'existe pas create file "plugins/TnTRun/error.txt" #si c'est le cas on le crée write file "[%now%] Language Error (%loop-value%): value ""AboveHelp"" not set." to "plugins/TnTRun/error.txt" #on écrit dedans l'erreur Mais un petit détail. Si une personne ne règle pas le problème tout de suite, l’erreur va continuer de s'écrire, ect. Il nous faut donc juste supprimer le fichier au tout début (en même temps que la création des fichiers). if file "plugins/TnTRun/error.txt" exists: #on vérifie si le fichier existe delete file "plugins/TnTRun/error.txt" #si c'est le cas on l'éfface Et voilà! C'est la fin de la partie 2! 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. Je met juste après le code en entier. Cordialement, remy29. on load: #Notre fameux événement #===* Folders *===# if folder "plugins/TnTRun" doesn't exists: #On vérifie si le dossier n'existe pas create folder "plugins/TnTRun" #Si c'est le cas, on créer ce dossier if folder "plugins/TnTRun/languages" doesn't exists: #On vérifie si le dossier n'existe pas create folder "plugins/TnTRun/languages" #Si c'est le cas, on créer ce dossier if file "plugins/TnTRun/error.txt" exists: #on vérifie si le fichier existe delete file "plugins/TnTRun/error.txt" #si c'est le cas on l'éfface #===* Config *===# if file "plugins/TnTRun/config.yml" doesn't exists: #on regarde si le fichier n'existe pas create file "plugins/TnTRun/config.yml" #si c'est le cas on le crée wait 1 tick #On attend un tick #Puis on écrit le logo write file "##---------------------##" to "plugins/TnTRun/config.yml" write file "##| |##" to "plugins/TnTRun/config.yml" write file "##| TnT Run |##" to "plugins/TnTRun/config.yml" write file "##| by remy29 |##" to "plugins/TnTRun/config.yml" write file "##| |##" to "plugins/TnTRun/config.yml" write file "##---------------------##" to "plugins/TnTRun/config.yml" write file "" to "plugins/TnTRun/config.yml" write file "##Fichier de configuration." to "plugins/TnTRun/config.yml" write file "" to "plugins/TnTRun/config.yml" write file "" to "plugins/TnTRun/config.yml" #|--------|# #| Prefix |# #|--------|# clear {tntrun.config.prefix} #On éfface la variable 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 replace all "&" with "§" in {tntrun.config.prefix} #Prise en compte des colors codes. #===* Langs *===# set {tntrun.langs::*} to file in "plugins/TnTRun/languages" #on défini la variable loop {tntrun.langs::*}: #on loop-la variable #|-----------|# #| AboveHelp |# #|-----------|# clear {tntrun.lang.%loop-value%.abovehelp} #on éfface la varibale set {tntrun.lang.%loop-value%.abovehelp} to value "AboveHelp" get of "plugins/TnTRun/languages/%loop-value%" #on défini la variable if {tntrun.lang.%loop-value%.abovehelp} is not set: #on regarde si la variable est nulle add loop-value to {_langtodisable::*} #on ajoute le langage à une variable temporaire if file "plugins/TnTRun/error.txt" doesn't exists: #on regarde si le fichier n'existe pas create file "plugins/TnTRun/error.txt" #si c'est le cas on le crée write file "[%now%] Language Error (%loop-value%): value ""AboveHelp"" not set." to "plugins/TnTRun/error.txt" #on écrit dedans l'erreur
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant