GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: maxya le 31 Juillet 2014, 04:55:11

Titre: Problème sscanf mysql
Posté par: maxya le 31 Juillet 2014, 04:55:11
Salut !

Alors d'abord voila mon code:

stock LoginPlayer(playerid)
{
new query[256], name[MAX_PLAYER_NAME+1], string[256], a, message[256];

GetPlayerName(playerid, name, sizeof(name));
format(query, sizeof(query), "SELECT * FROM jinfo WHERE Pseudo = '%s' ", name);

mysql_query(query);
mysql_store_result();

  if(mysql_fetch_row_format(message,"|"))
  {
      sscanf(message, "p<|>ds[32]s[32]ddd", a, joueurinfo[playerid][jPseudo], joueurinfo[playerid][jPass], joueurinfo[playerid][jArgent], joueurinfo[playerid][jAdmin], joueurinfo[playerid][jMort]);

    }
   
    print(message);
    printf(joueurinfo[playerid][jPseudo]);
    printf(joueurinfo[playerid][jArgent]);
    printf(joueurinfo[playerid][jAdmin]);
    printf(joueurinfo[playerid][jMort]);
    format(string, sizeof(string), "Bienvenu %s", joueurinfo[playerid][jPseudo]);
    SendClientMessage(playerid, COLOR_ACTION, string);

mysql_free_result();
}

Le problème c'est que j'ai des symbole bizarre sur la console pour l'affichage des valeurs de jArgent, jAdmin et jMort, j'ai des cœurs et des smiley, sachant que la variable jArgent contiens 1, jAdmin 2 et jMort 3, c'est chelou parce que dans le premier printf celui de message, j'ai bel et bien 1|2|3 .

Je pense a un problème de type de variable (string, float, integer), mais je sais pas comment le résoudre .


Merci d'avance,
Cordialement,
Titre: Re : Problème sscanf mysql
Posté par: Ssk le 31 Juillet 2014, 09:16:17
Est tu sûr de récupérer les valeurs des colonnes renvoyé par MySQL dans le bon ordre ?
Titre: Re : Problème sscanf mysql
Posté par: maxya le 31 Juillet 2014, 13:53:45
Enfaîte, c'est bon, les valeurs sont effectivement récupéré, mais comme printf n'affiche que des strings et que mes variables sont des int sa fais des trucs bizarres .
Titre: Re : Problème sscanf mysql
Posté par: Ssk le 31 Juillet 2014, 16:54:36
Bah, non printf affiche tout.

Code: (pawn) [Sélectionner]
printf("Mon integer %d", 5);
Titre: Re : Problème sscanf mysql
Posté par: maxya le 31 Juillet 2014, 16:58:06
Non elle n'affiche que des string, printf formate le texte et le rends un string avant d’afficher moi je faisait directement:

printf(joueurinfo[playerid][jArgent]);

http://wiki.sa-mp.com/wiki/Printf (http://wiki.sa-mp.com/wiki/Printf)

Le premier paramètre et bien une chaîne de caractère ;) .
Titre: Re : Problème sscanf mysql
Posté par: Ssk le 31 Juillet 2014, 17:05:15
Dans ce cas fait ça,

Code: (pawn) [Sélectionner]
printf("%d", joueurinfo[playerid][jArgent]);
Je comprends pas réellement le soucis.
Titre: Re : Problème sscanf mysql
Posté par: Kiloutre le 31 Juillet 2014, 17:08:47
Citer
Le premier paramètre et bien une chaîne de caractère ;) .
Il n'a pas dit le contraire, il a juste affirmé que printf() pouvait inclure dans son formatage des int(eger) (des chiffres/nombres si tu préfères) et que donc il n'y avait aucun problème pour afficher ces valeurs
http://wiki.sa-mp.com/wiki/Template:FormatSpecifiersFR (http://wiki.sa-mp.com/wiki/Template:FormatSpecifiersFR)
Titre: Re : Problème sscanf mysql
Posté par: maxya le 31 Juillet 2014, 17:10:02
C'est juste qu'a 4h du mat' mon cerveau n'était pas très bien en place, donc je faisait un peu n'importe quoi .