GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Hatomalis le 08 Décembre 2012, 00:59:29

Titre: Problème Float et MySQL.
Posté par: Hatomalis le 08 Décembre 2012, 00:59:29
Salut tout le monde !

J'ai besoin d'aide pour un Float, en fait je charge les CheckPoints des courses:

format(Requete, sizeof(Requete), "SELECT * FROM `racecp`");
  mysql_query(Requete);
mysql_store_result();
    if(mysql_num_rows())
    {
        while(mysql_fetch_row_format(Requete))
{
    CPid++;
sscanf(Requete,"p<|>e<iiffffiii>", CheckPointInfo[CPid]);

enum CPInfo
{
ID,
  RaceID,
  Float:POSCP[4],
Type,
Vehicule,
Vitesse
};
new CheckPointInfo[MAX_CP][CPInfo];//Variables pour les CheckPoint


Le problème c'est que POSCP[0] est égal à -./,),(-*,(.(( alors que les autres non. Dans la base de données la valeur est normal donc je ne vois pas d'où sa peut venir. Le pire c'est que sa fait ça à chaque système, quand je veux charger les véhicules ou des pickups par exemples. Toujours pour le premier Float chargé mais pas pour les autres.

J'espère que j'ai pas été trop confus, et surtout merci d'avance.
Titre: Re : Problème Float et MySQL.
Posté par: Malak le 08 Décembre 2012, 09:21:47
Essaye avec sa :
Code: (pawn) [Sélectionner]
    if(mysql_num_rows() != 0)
    {
mysql_fetch_row(Requete);
mysql_fetch_field_row(field, "ID");//le nom de la variable dans ta BD
CheckPointInfo[CPid][ID] = strval(field);
                mysql_fetch_field_row(field, "RaceID");//le nom de la variable dans ta BD
CheckPointInfo[CPid][RaceID] = strval(field);
                mysql_fetch_field_row(field, "Pos1");//le nom de la variable dans ta BD
CheckPointInfo[CPid][POSCP[0]] = floatstr(field);
                mysql_fetch_field_row(field, "Pos2");//le nom de la variable dans ta BD
CheckPointInfo[CPid][POSCP[1]] = floatstr(field);
                mysql_fetch_field_row(field, "Pos3");//le nom de la variable dans ta BD
CheckPointInfo[CPid][POSCP[2]] = floatstr(field);
                mysql_fetch_field_row(field, "Pos4");//le nom de la variable dans ta BD
CheckPointInfo[CPid][POSCP[3]] = floatstr(field);
                mysql_fetch_field_row(field, "Type");//le nom de la variable dans ta BD
CheckPointInfo[CPid][Type] = strval(field);
                mysql_fetch_field_row(field, "Vehicule");//le nom de la variable dans ta BD
CheckPointInfo[CPid][Type] = strval(field);
                mysql_fetch_field_row(field, "Vitesse");//le nom de la variable dans ta BD
CheckPointInfo[CPid][Type] = strval(field);
                mysql_free_result();
         }

Malak ++
Titre: Re : Problème Float et MySQL.
Posté par: Hatomalis le 08 Décembre 2012, 13:07:45
Ça marche merci !

Je précise pour ceux qui vont regarder ce sujet, que ce bug je ne l'ai pas avec Windows mais seulement avec Linux.


++
Titre: Re : Problème Float et MySQL.
Posté par: Malak le 08 Décembre 2012, 15:22:26
Je pense que SSCANF n'arrive pas intégrer dans la suite les 4 variable FLOAT dans un une sous table de  CheckPointInfo et normalement ce problème tu devrai l'avoir sous windows aussi.

Malak ++