01.10.2010, 02:27
Okay, sure. This is the "SavePlayerAccount(...);" and "LoadAccountVariables(...);" functions.
pawn Code:
stock SavePlayerAccount(playerid)
{
if(PlayerStatistics[playerid][pAuth] == 1)
{
PlayerStatistics[playerid][pScore] = GetPlayerScore(playerid);
PlayerStatistics[playerid][pMoney] = GetPlayerMoney(playerid);
PlayerStatistics[playerid][pSkin] = GetPlayerSkin(playerid);
format(Query, sizeof(Query), "UPDATE `Accounts` SET `Password` = '%s', `AdminLevel` = '%d', `AdminDuty` = '%d', `Money` = '%d', `Score` = '%d', `Skin` = '%d' WHERE `UserID` = '%d'", PlayerStatistics[playerid][pPassword], PlayerStatistics[playerid][pAdminLevel], PlayerStatistics[playerid][pAdminDuty], PlayerStatistics[playerid][pMoney], PlayerStatistics[playerid][pScore], PlayerStatistics[playerid][pSkin], PlayerStatistics[playerid][pDatabaseID]);
mysql_query(Query);
GetPlayerPos(playerid, PlayerStatistics[playerid][pPositionX], PlayerStatistics[playerid][pPositionY], PlayerStatistics[playerid][pPositionZ]);
format(Query, sizeof(Query), "UPDATE `Accounts` SET `PositionX` = '%f', `PositionY` = '%f', `PositionZ` = '%f' WHERE `UserID` = '%d'", PlayerStatistics[playerid][pPositionX], PlayerStatistics[playerid][pPositionY], PlayerStatistics[playerid][pPositionZ], PlayerStatistics[playerid][pDatabaseID]);
mysql_query(Query);
}
return 1;
}
stock LoadAccountVariables(playerid)
{
if(IsPlayerConnected(playerid))
{
format(Query, sizeof(Query), "SELECT * FROM `Accounts` WHERE `UserID` = %d", PlayerStatistics[playerid][pDatabaseID]);
mysql_query(Query);
mysql_store_result();
mysql_fetch_row(Query, "|");
sscanf(Query, "e<p<|>ds[23]s[129]dddddfff>", PlayerStatistics[playerid]);
SpawnPlayer(playerid);
}
else
{
printf("[MySQL ERROR] LoadAccountVariables() was called, but to a non-connected ID.", playerid);
}
mysql_free_result();
}