Welcome. I'm having a mysql problem with saving/loading. When a player connects my server health and Armor and money don't load for him.
Код:
public LoadPlayerData(playerid)
{
new
resultline[1024],
fetch[258],
file[128],
name[MAX_PLAYER_NAME]
;
GetPlayerName(playerid,name,sizeof(name));
format(query, 1024,"SELECT * FROM `"TABLENAME"` WHERE id = '%i'",playerDB[playerid][UserID]);
mysql_query(query);
mysql_store_result();
mysql_fetch_row(resultline);
mysql_fetch_field_row(fetch,"Xp");
SetPlayerScore(playerid,strval(fetch));
mysql_fetch_row(resultline);
mysql_fetch_field_row(fetch, "Health");
SetPlayerHealth(playerid,strval(fetch));
mysql_fetch_row(resultline);
mysql_fetch_field_row(fetch, "Armour");
SetPlayerArmour(playerid,strval(fetch));
new
Float:x,
Float:y,
Float:z
;
mysql_fetch_field_row(fetch,"pos_X");
x = floatstr(fetch);
mysql_fetch_field_row(fetch,"pos_Y");
y = floatstr(fetch);
mysql_fetch_field_row(fetch,"pos_Z");
z = floatstr(fetch);
SetPlayerPos(playerid,x,y,z);
mysql_fetch_field_row(fetch,"Interior");
SetPlayerInterior(playerid,strval(fetch));
mysql_fetch_field_row(fetch,"Wanted");
SetPlayerWantedLevel(playerid,strval(fetch));
ResetPlayerMoneyA(playerid);
mysql_fetch_field_row(fetch,"Money.Pocket");
GivePlayerMoneyA(playerid,strval(fetch));
mysql_fetch_field_row(fetch,"World");
SetPlayerVirtualWorld(playerid,strval(fetch));
mysql_fetch_field_row(fetch,"Car");
playerDB[playerid][pcar] = strval(fetch);
mysql_fetch_field_row(fetch,"Money.Bank");
playerDB[playerid][banke] = strval(fetch);
Код:
public SavePlayerData(playerid,bool:simple)
{
new Float:Health, Float:Armour, Query[128];
GetPlayerHealth(playerid, Health);
GetPlayerArmour(playerid, Armour);
format(Query, sizeof(Query), "UPDATE `"TABLENAME"` SET `Health` = '%f', `Armour` = '%f', `Director` = '%f', WHERE (`id` = '%i')", Health, Armour, playerDB[playerid][director], playerDB[playerid][UserID]); //
mysql_query(Query);
playerDB[playerid][authstate]=4;