Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Сохранение аккаунтов в MySQL происходит не всегда

Статус
В этой теме нельзя размещать новые ответы.

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;
}
Что не так?

Заранее спасибо.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу