Перейти к содержанию
Simba113

Не сохраняет деньги и здоровье в mysql

Рекомендуемые сообщения

Simba113

Добрый день, такая проблема, когда выдаёшь деньги командой или после завершения работы, кол-во денег в mysql не изменяется и не сохраняется, то есть выдал я себе 500 рублей, перезашёл и снова 0 рублей, что может быть не так? 

Сохранение

Цитата

stock SavePlayerData(playerid)
{
    if(PLAYER_DATA[playerid][data_LOGGED] == true && IsPlayerConnected(playerid))
    {
        
        if(PLAYER_DATA[playerid][data_CS_TEAM] != 0) ResetWeaponAll(playerid);
        new query[3050], string[256];
        query = "UPDATE `accounts` SET ";
        acc_int_strcat(query, sizeof(query), "logdate_day", PLAYER_DATA[playerid][data_LOGDATE_DAY]);
        acc_int_strcat(query, sizeof(query), "logdate_month", PLAYER_DATA[playerid][data_LOGDATE_MONTH]);
        acc_int_strcat(query, sizeof(query), "logdate_year", PLAYER_DATA[playerid][data_LOGDATE_YEAR]);
        acc_int_strcat(query, sizeof(query), "skin", PLAYER_DATA[playerid][data_SKIN]);
        acc_int_strcat(query, sizeof(query), "money", PLAYER_DATA[playerid][data_MONEY]);
        acc_int_strcat(query, sizeof(query), "lvl", PLAYER_DATA[playerid][data_LVL]);
        acc_int_strcat(query, sizeof(query), "exp", PLAYER_DATA[playerid][data_EXP]);
        acc_int_strcat(query, sizeof(query), "skinm", PLAYER_DATA[playerid][data_SKINM]);
        acc_int_strcat(query, sizeof(query), "member", PLAYER_DATA[playerid][data_MEMBER]);
        acc_int_strcat(query, sizeof(query), "leader", PLAYER_DATA[playerid][data_LEADER]);
        acc_int_strcat(query, sizeof(query), "podmember", PLAYER_DATA[playerid][data_PODMEMBER]);
        acc_int_strcat(query, sizeof(query), "rank", PLAYER_DATA[playerid][data_RANK]);
        acc_int_strcat(query, sizeof(query), "admlvl", PLAYER_DATA[playerid][data_ADMLVL]);
        acc_str_strcat(query, sizeof(query), "login_ip", PLAYER_DATA[playerid][data_LOGIN_IP]);
        acc_int_strcat(query, sizeof(query), "mute", PLAYER_DATA[playerid][data_MUTE]);
        acc_int_strcat(query, sizeof(query), "mutetime", PLAYER_DATA[playerid][data_MUTETIME]);
        acc_int_strcat(query, sizeof(query), "warn", PLAYER_DATA[playerid][data_WARN]);
        acc_int_strcat(query, sizeof(query), "warntime", PLAYER_DATA[playerid][data_WARNTIME]);
        acc_int_strcat(query, sizeof(query), "salary", PLAYER_DATA[playerid][data_SALARY]);
        acc_int_strcat(query, sizeof(query), "bank", PLAYER_DATA[playerid][data_BANK]);
        acc_int_strcat(query, sizeof(query), "licb", PLAYER_DATA[playerid][data_LICB]);
        acc_int_strcat(query, sizeof(query), "licg", PLAYER_DATA[playerid][data_LICG]);
        acc_int_strcat(query, sizeof(query), "contry", PLAYER_DATA[playerid][data_CONTRY]);

команда GiveMoney 
 

Цитата

CMD:givemoney(playerid,params[])
{
    new money_text[64];
    if(antiflood[playerid] > 0) return SendClientMessage(playerid, COLOR_WARNING,"Не флуди!");
    antiflood[playerid]++;
    if(PLAYER_DATA[playerid][data_LOGGED] == false) return SendClientMessage(playerid,COLOR_WARNING,"Вы не авторизованы на сервере!");
    if(PLAYER_DATA[playerid][data_ADMLVL] < 6) return true;
    if(admin_ban_time[playerid] > 0) return SendClientMessage(playerid, COLOR_WARNING, "Дествия заблокированы по подозрению во взломе.");
    if(sscanf(params, "ui", params[0], params[1])) return SendClientMessage(playerid, COLOR_WARNING, "Используйте: /givemoney [ID/ник] [кол-во]");
    if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COLOR_WARNING, "Игрока нет на сервере");
    PLAYER_DATA[params[0]][data_MONEY] += params[1];
    format(money_text, sizeof money_text, "Администратор #%d выдал вам денежные средства в размере %d руб.", PLAYER_DATA[playerid][data_NAME],params[1]);
    SendClientMessage(params[0], COLOR_GREEN, money_text);
    format(money_text, sizeof money_text, "Вы выдали %s денежные средства в размере %d руб", PLAYER_DATA[params[0]][data_NAME],params[1]);
    SendClientMessage(playerid, COLOR_GREEN, money_text);
    
    new string[128];
    format(string, sizeof string, "Администратор #%d выдал игроку %d руб", PLAYER_DATA[playerid][data_NAME], PLAYER_DATA[params[0]][data_NAME], params[1]);
    SendAdminMessage(COLOR_GREY, string);
    Log("GIVEMONEY", string);
    return 1;
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16Shadows
  1. Не вызывается SavePlayerData
  2. Проблемы с соединением с MySql
  3. Криво форматированный SQL-запрос

У Вас, кстати, в команде только значение переменной изменяется, функция GivePlayerMoney, изменяющая значение на счётчике денег, не вызывается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.