Вход

Просмотр полной версии : [Вопрос] Ошибка обновления Exp



Dimon_Fanat
27.04.2018, 22:46
Всем добрый вечер, при создании системы exp столкнулся с такой проблемой. Ошибка при обновлении в БД.


[21:43:07] [ERROR] error #2013 while executing query "UPDATE `accounts` SET `LvL` = '0',`Exp` = '1' WHERE `ID` = '1'": Lost connection to MySQL server during query (C:\Users\d3mix\Desktop\MySql R41-4\gamemodes\newproject.pwn:623 -> C:\Users\d3mix\Desktop\MySql R41-4\gamemodes\newproject.pwn:606 -> C:\Users\d3mix\Desktop\MySql R41-4\gamemodes\newproject.pwn:509)



publics MinuteUpdate()
{
foreach(new i:Player)
{
if(PlayerAFK[i] < 3)
{
Player[i][pTimeGame]++;
if(Player[i][pTimeGame] >= 60)
{
Player[i][pTimeGame] = 0;
PayDay(i);
}
}
}
}


stock PayDay(playerid)
{
SendClientMessage(playerid,0x006400AA,"Поздравляем, с зарплатой.");
GiveExp(playerid,1);
}
stock GiveExp(playerid, exp)
{
Player[playerid][pExp] += exp;
new expamount;
if(Player[playerid][pLvL] == 0) expamount = 3;
else expamount = Player[playerid][pLvL]*5;
if(Player[playerid][pExp] >= expamount)
{
Player[playerid][pLvL]++;
SetPlayerScore(playerid,Player[playerid][pLvL]);
SendClientMessage(playerid,0x006400AA,"Поздравляем, Вы получили новый уровень.");
}
static const fmt_query[] = "UPDATE `accounts` SET `LvL` = '%d',`Exp` = '%d' WHERE `ID` = '%d'";
new query[sizeof(fmt_query)+(-2+6)+(-2+10)+(-2+11)];
format(query,sizeof(query),fmt_query,Player[playerid][pLvL],Player[playerid][pExp],Player[playerid][pID]);
mysql_tquery(database,query);
}

pawnoholic
28.04.2018, 00:22
Не хватает времени на выполнение запроса, увеличь тайминги в настройках MySQL сервера.

Распространённая проблема в сборке OpenServer для Windows, там даже увеличение таймингов не помогает.

Dimon_Fanat
28.04.2018, 13:40
Не хватает времени на выполнение запроса, увеличь тайминги в настройках MySQL сервера.

Распространённая проблема в сборке OpenServer для Windows, там даже увеличение таймингов не помогает.

Да действительно увеличение таймингов не особо и помогло, сделал подключение к базе данных хостинга, все заработало.