4
« le: 31 Août 2011, 13:58:12 »
Merci pour tes conseils, je les est appliquer et j'ai pris le plugin de G-Style (Mysql.dll)
Le problème avec ce plugin c'est que j'arrive pas a save mes données avec le onplayerupdate.
Pour le moment j'utilise le système de mordern topia qui est assez complexe je trouve pour le Onplayerupdate.
Voila mon morceaux de code :
Onplayerupdate
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 1)
{
MySQLCheckConnection();
new query[MAX_STRING];
format(query, MAX_STRING, "UPDATE players SET ");
MySQLUpdatePlayerStr(query, PlayerInfo[playerid][pSQLID], "Password", PlayerInfo[playerid][pKey]);
MySQLUpdatePlayerInt(query, PlayerInfo[playerid][pSQLID], "Tut", PlayerInfo[playerid][pTut]);
MySQLUpdatePlayerInt(query, PlayerInfo[playerid][pSQLID], "Faction", PlayerInfo[playerid][pFaction]);
MySQLUpdatePlayerInt(query, PlayerInfo[playerid][pSQLID], "Race", PlayerInfo[playerid][pRace]);
MySQLUpdatePlayerInt(query, PlayerInfo[playerid][pSQLID], "Sexe", PlayerInfo[playerid][pSex]);
MySQLUpdateFinish(query, PlayerInfo[playerid][pSQLID]);
}
}
Fonction :
public MySQLUpdateFinish(query[], sqlplayerid) // by Luk0r
{
if (strcmp(query, "WHERE id=", false) == 0) mysql_query(query);
else
{
new whereclause[32];
format(whereclause, sizeof(whereclause), " WHERE id=%d", sqlplayerid);
strcat(query, whereclause, MAX_STRING);
mysql_query(query);
format(query, MAX_STRING, "UPDATE joueurs SET ");
}
return 1;
}
public MySQLUpdatePlayerInt(query[], sqlplayerid, sqlvalname[], sqlupdateint) // by Luk0r
{
MySQLUpdateBuild(query, sqlplayerid);
new updval[64];
format(updval, sizeof(updval), "%s=%d", sqlvalname, sqlupdateint);
strcat(query, updval, MAX_STRING);
return 1;
}
public MySQLUpdatePlayerFlo(query[], sqlplayerid, sqlvalname[], Float:sqlupdateflo) // by Luk0r
{
/* new query[128];
format(query, sizeof(query), "UPDATE players SET %s=%f WHERE id=%d", sqlvalname, sqlupdateflo, sqlplayerid);
mysql_query(query);*/
new flotostr[32];
format(flotostr, sizeof(flotostr), "%f", sqlupdateflo);
MySQLUpdatePlayerStr(query, sqlplayerid, sqlvalname, flotostr);
return 1;
}
public MySQLUpdatePlayerStr(query[], sqlplayerid, sqlvalname[], sqlupdatestr[]) // by Luk0r
{
MySQLUpdateBuild(query, sqlplayerid);
new escstr[128];
new updval[128];
mysql_real_escape_string(sqlupdatestr, escstr);
format(updval, sizeof(updval), "%s='%s'", sqlvalname, escstr);
strcat(query, updval, MAX_STRING);
return 1;
}
Si vous voyez l'erreur dans la sauvegarde faite le moi savoir :D, De mon coté si je trouve j'indiquerai mon erreur.
Merci,