Effectivement, c'est possible, les caractères accentuées existent dans la police mais ne sont pas au bon endroit, il faut donc faire une fonction de conversion.
Voici une fonction (faîte et testée par mes soins) qui converti un texte pour qu'il s'affiche correctement dans un GameText ou un TextDraw :
/*******************************************************
* FONCTION DE CONVERSION DE TEXTE POUR GAMETEXT ET TEXTDRAW *
************************************************************/
ConvertirTextePourGameText (Texte[])
{
new i;
for (i=0 ; i<strlen (Texte) ; i++)
{
switch (Texte[i])
{
case 'à': Texte[i] = 128;
case 'â': Texte[i] = 130;
case 'ä': Texte[i] = 131;
case 'ç': Texte[i] = 133;
case 'è': Texte[i] = 134;
case 'é': Texte[i] = 135;
case 'ê': Texte[i] = 136;
case 'ë': Texte[i] = 137;
case 'î': Texte[i] = 140;
case 'ï': Texte[i] = 141;
case 'ô': Texte[i] = 144;
case 'ö': Texte[i] = 145;
case 'ù': Texte[i] = 146;
case 'û': Texte[i] = 148;
case 'ü': Texte[i] = 149;
}
}
}
Attention : Elle ne fonctionne que pour les caractères accentués français.
Exemples d'utilisation :
new Texte[255] = "~r~B éèàöô GAUCHE SOURIS ~w~suivante~n~~r~ENTREE ~w~precedente~n~~r~SHIFT DROIT ~w~fin";
ConvertirTexte (Texte);
txtDanceHelper = TextDrawCreate (100.0, 400.0,Texte);
cmd = strtok (cmdtext, idx);
if(strcmp(cmd, "/aff", true)==0)
{
/* On récupère le caractère */
ConvertirTexte (cmdtext[idx]);
GameTextForPlayer (playerid, cmdtext[idx], 8000, 5);
return 1;
}
++
Syg