• 29 Avril 2025, 22:05:33


Auteur Sujet: Problème avec une variable  (Lu 772 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Jcvag44800

  • *
  • Grand Banditisme
  • Messages: 616
    • Voir le profil
Problème avec une variable
« le: 23 Octobre 2011, 22:06:16 »
Salut à tous ^^'

Voilà, une variable ne charge pas, enfin elle n'est pas récupéré :

ClassSel_InitTextDraws(playerid)
{
new file[256], name[256];
    format(file, sizeof(file), SERVER_USER_FILE, name);
    PlayerInfo[playerid][pLangue] = dini_Int(file, "Langue");
    if(PlayerInfo[playerid][pLangue] == 1)
    {
txtLosSantos = TextDrawCreate(10.0, 380.0, "Los Santos");
ClassSel_InitCityNameText(txtLosSantos);
txtSanFierro = TextDrawCreate(10.0, 380.0, "San Fierro");
ClassSel_InitCityNameText(txtSanFierro);
txtLasVenturas = TextDrawCreate(10.0, 380.0, "Las Venturas");
ClassSel_InitCityNameText(txtLasVenturas);
txtClassSelHelper = TextDrawCreate(10.0, 415.0,
   " Appuie sur ~b~~k~~GO_LEFT~ ~w~ou ~b~~k~~GO_RIGHT~ ~w~pour changer de ville.~n~ Appuie sur ~r~~k~~PED_FIREWEAPON~ ~w~pour la sélectionner.");
TextDrawUseBox(txtClassSelHelper, 1);
TextDrawBoxColor(txtClassSelHelper,0x222222BB);
TextDrawLetterSize(txtClassSelHelper,0.3,1.0);
TextDrawTextSize(txtClassSelHelper,400.0,40.0);
TextDrawFont(txtClassSelHelper, 2);
TextDrawSetShadow(txtClassSelHelper,0);
    TextDrawSetOutline(txtClassSelHelper,1);
    TextDrawBackgroundColor(txtClassSelHelper,0x000000FF);
    TextDrawColor(txtClassSelHelper,0xFFFFFFFF);
    }
if(PlayerInfo[playerid][pLangue] == 2)
{
txtLosSantos = TextDrawCreate(10.0, 380.0, "Los Santos");
ClassSel_InitCityNameText(txtLosSantos);
txtSanFierro = TextDrawCreate(10.0, 380.0, "San Fierro");
ClassSel_InitCityNameText(txtSanFierro);
txtLasVenturas = TextDrawCreate(10.0, 380.0, "Las Venturas");
ClassSel_InitCityNameText(txtLasVenturas);
txtClassSelHelper = TextDrawCreate(10.0, 415.0,
   " Press ~b~~k~~GO_LEFT~ ~w~or ~b~~k~~GO_RIGHT~ ~w~to switch cities.~n~ Press ~r~~k~~PED_FIREWEAPON~ ~w~to select.");
TextDrawUseBox(txtClassSelHelper, 1);
TextDrawBoxColor(txtClassSelHelper,0x222222BB);
TextDrawLetterSize(txtClassSelHelper,0.3,1.0);
TextDrawTextSize(txtClassSelHelper,400.0,40.0);
TextDrawFont(txtClassSelHelper, 2);
TextDrawSetShadow(txtClassSelHelper,0);
    TextDrawSetOutline(txtClassSelHelper,1);
    TextDrawBackgroundColor(txtClassSelHelper,0x000000FF);
    TextDrawColor(txtClassSelHelper,0xFFFFFFFF);
    }
}

Quand je vais sur le serveur, le Text n'apparait pas, c'est à dire qu'il évite les deux If ...
J'ai pourtant fait en sorte qu'elle se charge, mais non, ça ne marche pas :'(


Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Problème avec une variable
« Réponse #1 le: 26 Octobre 2011, 02:00:46 »
Pour les condition, il est impossible qu'un même nombre soit égal à a et à b quand a est différent de b donc le mieux et de faire un block avec des else if plutôt que d'enchaîner des tests inutiles.
J'ai factorisé le code, deux codes avec beaucoup de lignes se répète, tu t'imagine si tu as 200 langues sur ton serveur, ça va te faire beaucoup de ligne pour rien.
J'ai rangé et optimisé le code ce qui donne ceci ...

Pastebin GTAOnline.fr - Outil de collaboration dans le développement

Si le message rouge Unknown language. s'affiche, c'est que la valeur de PlayerInfo[playerid][pLangue] n'est pas bonne.
Pour cela, dans le else que je t'ai mit, tu peux utiliser le code suivant pour déterminer l'erreur.


printf("La valeur de Langue est: %i", PlayerInfo[playerid][pLangue]);

Hors ligne Jcvag44800

  • *
  • Grand Banditisme
  • Messages: 616
    • Voir le profil
Re : Problème avec une variable
« Réponse #2 le: 26 Octobre 2011, 11:58:31 »
Merci à toi :)

Je testerais quand j'aurais fini des trucs ^^