Paul_Denton
Новичок
Здравствуйте. Написал сохранение аккаунтов в MySQL R39.6.
Проблема в том, что аккаунты сохраняются не всегда. Поиграл - осталось столько-же денег сколько и было когда заходил на сервер. Еще поиграл - значение сохранилось.
Код:
Что не так?
Заранее спасибо.
Проблема в том, что аккаунты сохраняются не всегда. Поиграл - осталось столько-же денег сколько и было когда заходил на сервер. Еще поиграл - значение сохранилось.
Код:
PHP:
public OnPlayerDisconnect(playerid, reason)
{
SaveAccount(playerid);
RemovePlayerInfo(playerid);
}
stock SaveAccount(playerid)
{
PlayerInfo[playerid][pScore] = GetPlayerScore(playerid);
PlayerInfo[playerid][pCash] = AntiCheatGetMoney(playerid);
new query_string[1024];
format(query_string, sizeof(query_string), "%UPDATE `playerinfo` SET `NICKNAME` = '%s' WHERE `ID` = '%d'", PlayerInfo[playerid][pName], PlayerInfo[playerid][pID]);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
format(query_string, sizeof(query_string), "%UPDATE `playerinfo` SET `PASSWORD` = '%s' WHERE `ID` = '%d'", PlayerInfo[playerid][pPass], PlayerInfo[playerid][pID]);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
format(query_string, sizeof(query_string), "%UPDATE `playerinfo` SET `SCORE` = '%d' WHERE `ID` = '%d'", PlayerInfo[playerid][pScore], PlayerInfo[playerid][pID]);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
format(query_string, sizeof(query_string), "%UPDATE `playerinfo` SET `CASH` = '%d' WHERE `ID` = '%d'", PlayerInfo[playerid][pCash], PlayerInfo[playerid][pID]);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
format(query_string, sizeof(query_string), "%UPDATE `playerinfo` SET `ADMIN` = '%d' WHERE `ID` = '%d'", PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][pID]);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
format(query_string, sizeof(query_string), "%UPDATE `playerinfo` SET `MUTED` = '%d' WHERE `ID` = '%d'", PlayerInfo[playerid][pMute], PlayerInfo[playerid][pID]);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
format(query_string, sizeof(query_string), "%UPDATE `playerinfo` SET `MUTETIME` = '%d' WHERE `ID` = '%d'", PlayerInfo[playerid][pMuteTime], PlayerInfo[playerid][pID]);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
format(query_string, sizeof(query_string), "%UPDATE `playerinfo` SET `PRISONED` = '%d' WHERE `ID` = '%d'", PlayerInfo[playerid][pPrison], PlayerInfo[playerid][pID]);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
format(query_string, sizeof(query_string), "%UPDATE `playerinfo` SET `PRISONTIME` = '%d' WHERE `ID` = '%d'", PlayerInfo[playerid][pPrisonTime], PlayerInfo[playerid][pID]);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
format(query_string, sizeof(query_string), "%UPDATE `playerinfo` SET `VIP` = '%d' WHERE `ID` = '%d'", PlayerInfo[playerid][pVIP], PlayerInfo[playerid][pID]);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
return 1;
}
stock RemovePlayerInfo(playerid)
{
PlayerInfo[playerid][pID] = 0;
PlayerInfo[playerid][pName][0] = EOS;
PlayerInfo[playerid][pPass][0] = EOS;
PlayerInfo[playerid][pAdmin] = 0;
PlayerInfo[playerid][pScore] = 0;
PlayerInfo[playerid][pCash] = 0;
PlayerInfo[playerid][pMute] = 0;
PlayerInfo[playerid][pMuteTime] = 0;
PlayerInfo[playerid][pPrison] = 0;
PlayerInfo[playerid][pPrisonTime] = 0;
PlayerInfo[playerid][pVIP] = 0;
PlayerInfo[playerid][OnDuty] = 0;
PlayerInfo[playerid][pIP][0] = EOS;
return 1;
}
Заранее спасибо.
