Prérequis :
Vous devez être capable de créer et d'activer des scripts avant ce tutoriel, je ne vais pas vous apprendre à faire des scripts et je partirai du principe que vous êtes capables de :
- Créer un script .sqs et .sqf
- Appeler un script dans votre mission via un déclencheur et/ou un script
Si vous ne le savez pas encore, je vous invite à lire
ce petit tuto.
Bien il est temps de commencer.
- Préambule
Vous avec probablement déjà écrit un script, par exemple un briefing et vous vous êtes surement aperçus que vos accents n'apparaissaient pas.
C'est normal : en effet de base des fichiers sqs ou sqf sont encodés en "ANSII" qui utilise 256 caractères
la table ASCII comprenant ces caractères.
Vous pouvez voir que les accents ne sont pas là, ni les caractères étrangers tels que l'alphabet chinois, grec, russe, etc...
C'est pourquoi un autre système de codage est apparu : l'UTF-8.
Nous allons devoir encoder nos fichiers en UTF-8 pour avoir des accents.
Travaillons avec un exempleImaginons que nous voulons montrer un message au joueur avec un script (en sqf, je vous expliquerai pourquoi après).
Dans un script on utilise la commande : hint "message".
Ce qui donnera ici
- Code:
-
hint "un message avec des accents : voilà c'était des accents.";
N'oubliez pas le point-virgule nécessaire aux scripts sqf.
Et oui je sais, ce message est débile, mais il a le mérite d'avoir des accents
Lorsque nous utilisons ce message nous obtenons ceci en jeu :
Vous pouvez voir que les accents n'apparaissent pas.
Il est temps de s'attaquer à la conversion !
Au boulotPour coder un message en UTF-8 nous avons besoin d'autre chose que le bloc-note de Windows.
J'utilise Notepad++ qui est très pratique (léger, facile d'utilisation, pas mal de fonctionnalités, et surtout gratuit).
On le télécharge
ici.
Je ne vous montre pas comment l'installer, c'est très simple
Ensuite, chargez notre fichier sqf avec notre logiciel, vous devriez obtenir ceci :
Cliquez sur l'onglet "Encodage", puis sur "convertir en UTF-8" si vous avez déjà écrit le code ou sur "Encoder en UTF-8" si vous n'avez rien écrit.
Vous devriez voir ceci
Et voilà, nous obtenons ceci en jeu maintenant
Mission accomplie
AnnexesPremière chose :
Je vous ai dit au début de créer un script sqf et non sqs.
C'est pour une raison simple : le sqs ne supporte pas l'encodage UTF-8, j'ai déjà essayé et le script ne fonctionne tout simplement pas.
Donc si vous voulez avoir des accents, alors travaillez avec des scripts sqf et non sqs.
Deuxième chose :
Euuuuuuuuuh, bah je crois que j'ai tout dit
Si vous avez des questions, surtout n'hésitez pas, j'y répondrai
(je suis si gentil)