27.07.2013, 11:25
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.
Loading:
Saving:
Srr for my bad english.
Loading:
Код:
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;