FillinExtasy
Умник
Вообщем и целом, есть мод, после того как "скриптер" оптимизировал его, появилсиь проблемы которые не понятны для моего мозга, рассказываю когда люди заходят и их 6 или больше все действия которые привязаны к бд например как донат рубли открываются очень долго, около минуты. Такая же проблема с алогин и обычной авторизацией, там есть кэш, с кэшом в павно, с таким я столкнулся впервые.
Код доната, не обращайте внимание на символы это руссификация.
Жду ответов.
Код доната, не обращайте внимание на символы это руссификация.
Код:
void donate_callback(playerid, type)
{
new urows, summ, invid, datetime[30], strm[1000], strings[1024],
onerows, tworows, Cache:oresult, Cache:tresult,
oquery[1024], squery[1024];
urows = cache_num_rows();
if(!urows)
{
string_format = "";
if(doubling_donate)
{
strcat(string_format, "{3399FF}» Èíôîðìàöèÿ\n");
strcat(string_format, "{3399FF}» Ïðîâåðèòü çà÷èñëåíèÿ\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïîëó÷åíèå èãðîâîé âàëþòû {63BD4E}(ÀÊÖÈß X2)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïîëó÷åíèå coins âàëþòû{63BD4E}(ÀÊÖÈß X2)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} VIP ñòàòóñ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñíÿòèå ïðåäóïðåæäåíèÿ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñìåíà íèêà {1D99D4}(20 äîíàò ðóáëåé)\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè àäìèí ïðàâà\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè ëèäåðñòâî\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè êîìàíäû àäìèíñòðàòîðà\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Âûéòè èç òþðüìû {1D99D4}(10 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïðèîáðåñòè ñêèí {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïðèîáðåñòè EXP + ïîèíòîâ â ñåìüþ, Êóðñ: {1D99D4}(1 coins = 1 ïîèíòîâ)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñîçäàòü ñåìüþ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñíÿòü áàí ÷àòà {1D99D4}(10 äîíàò ðóáëåé)");
}
else
{
strcat(string_format, "{3399FF}» Èíôîðìàöèÿ\n");
strcat(string_format, "{3399FF}» Ïðîâåðèòü çà÷èñëåíèÿ\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïîëó÷åíèå èãðîâîé âàëþòû\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïîëó÷åíèå coins âàëþòû\n");
strcat(string_format, "{FFCC00}»{FFFFFF} VIP ñòàòóñ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñíÿòèå ïðåäóïðåæäåíèÿ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñìåíà íèêà {1D99D4}(20 äîíàò ðóáëåé)\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè àäìèí ïðàâà\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè ëèäåðñòâî\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè êîìàíäû àäìèíñòðàòîðà\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Âûéòè èç òþðüìû {1D99D4}(10 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïðèîáðåñòè ñêèí {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïðèîáðåñòè EXP + ïîèíòîâ â ñåìüþ, Êóðñ: {1D99D4}(1 coins = 1 ïîèíòîâ)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñîçäàòü ñåìüþ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñíÿòü áàí ÷àòà {1D99D4}(10 äîíàò ðóáëåé)");
}
ShowPlayerDialog(playerid, D_DONATE, DIALOG_STYLE_LIST, "{1D99D4}Äîïîëíèòåëüíî", string_format, "Äàëåå", "Íàçàä");
}
else
{
switch(type)
{
case 0:
{
format(oquery, sizeof(oquery), "SELECT * FROM logs_donate WHERE user = '%d' AND active = 0 AND status = 1 ORDER BY data DESC LIMIT 0,20;", PI[playerid][pID]);
oresult = mysql_query(dbHandle, oquery);
onerows = cache_num_rows();
if(!onerows)
{
string_format = "";
if(doubling_donate)
{
strcat(string_format, "{3399FF}» Èíôîðìàöèÿ\n");
strcat(string_format, "{3399FF}» Ïðîâåðèòü çà÷èñëåíèÿ\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïîëó÷åíèå èãðîâîé âàëþòû {63BD4E}(ÀÊÖÈß X2)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïîëó÷åíèå coins âàëþòû{63BD4E}(ÀÊÖÈß X2)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} VIP ñòàòóñ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñíÿòèå ïðåäóïðåæäåíèÿ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñìåíà íèêà {1D99D4}(20 äîíàò ðóáëåé)\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè àäìèí ïðàâà\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè ëèäåðñòâî\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè êîìàíäû àäìèíñòðàòîðà\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Âûéòè èç òþðüìû {1D99D4}(10 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïðèîáðåñòè ñêèí {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïðèîáðåñòè EXP + ïîèíòîâ â ñåìüþ, Êóðñ: {1D99D4}(1 coins = 1 ïîèíòîâ)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñîçäàòü ñåìüþ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñíÿòü áàí ÷àòà {1D99D4}(10 äîíàò ðóáëåé)");
}
else
{
strcat(string_format, "{3399FF}» Èíôîðìàöèÿ\n");
strcat(string_format, "{3399FF}» Ïðîâåðèòü çà÷èñëåíèÿ\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïîëó÷åíèå èãðîâîé âàëþòû\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïîëó÷åíèå coins âàëþòû\n");
strcat(string_format, "{FFCC00}»{FFFFFF} VIP ñòàòóñ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñíÿòèå ïðåäóïðåæäåíèÿ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñìåíà íèêà {1D99D4}(20 äîíàò ðóáëåé)\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè àäìèí ïðàâà\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè ëèäåðñòâî\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè êîìàíäû àäìèíñòðàòîðà\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Âûéòè èç òþðüìû {1D99D4}(10 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïðèîáðåñòè ñêèí {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïðèîáðåñòè EXP + ïîèíòîâ â ñåìüþ, Êóðñ: {1D99D4}(1 coins = 1 ïîèíòîâ)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñîçäàòü ñåìüþ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñíÿòü áàí ÷àòà {1D99D4}(10 äîíàò ðóáëåé)");
}
ShowPlayerDialog(playerid, D_DONATE, DIALOG_STYLE_LIST, "{1D99D4}Äîïîëíèòåëüíî", string_format, "Äàëåå", "Íàçàä");
}
else
{
for(new i; i < onerows; i++)
{
invid = cache_get_field_content_int(i, "id", dbHandle);
summ = cache_get_field_content_int(i, "summ", dbHandle);
cache_get_field_content(i, "data", datetime, dbHandle, 96);
PI[playerid][pCredits] += summ;
PI[playerid][pTotalCredits] += summ;
MysqlUpdatePlayerInt(playerid, "credits", PI[playerid][pCredits]);
MysqlUpdatePlayerInt(playerid, "totalcredits", PI[playerid][pTotalCredits]);
MysqlUpdateDonateInt(invid, "active", 1);
format(strm, sizeof(strm), "%s%s - %i %s\n", strm, datetime, summ, (summ==1)?("ðóáëü"):(summ<5)?("ðóáëÿ"):("ðóáëåé"));
format(strings, sizeof(strings), "[Èíôîðìàöèÿ] {FFFFFF}Íà Âàø àêêàóíò ïîñòóïèëî %d ðóáëü", summ);
SendClientMessage(playerid, COLOR_YELLOW, strings);
format(strings, sizeof(strings), "%s ïîïîëíåíèå ñ÷¸òà ÷åðåç ñàéò íà ñóììó %d ðóáëü", GetName(playerid), summ);
SendLog("GiveCoins",strings);
}
SendClientMessage(playerid, COLOR_YELLOW, "[Èíôîðìàöèÿ] {FFFFFF}×òîáû èìè âîñïîëüçîâàòüñÿ, ââåäèòå /donate");
PlayerPlaySound(playerid, 6401, 0.0, 0.0, 0.0);
string_format = "";
if(doubling_donate)
{
strcat(string_format, "{3399FF}» Èíôîðìàöèÿ\n");
strcat(string_format, "{3399FF}» Ïðîâåðèòü çà÷èñëåíèÿ\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïîëó÷åíèå èãðîâîé âàëþòû {63BD4E}(ÀÊÖÈß X2)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïîëó÷åíèå coins âàëþòû{63BD4E}(ÀÊÖÈß X2)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} VIP ñòàòóñ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñíÿòèå ïðåäóïðåæäåíèÿ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñìåíà íèêà {1D99D4}(20 äîíàò ðóáëåé)\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè àäìèí ïðàâà\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè ëèäåðñòâî\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè êîìàíäû àäìèíñòðàòîðà\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Âûéòè èç òþðüìû {1D99D4}(10 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïðèîáðåñòè ñêèí {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïðèîáðåñòè EXP + ïîèíòîâ â ñåìüþ, Êóðñ: {1D99D4}(1 coins = 1 ïîèíòîâ)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñîçäàòü ñåìüþ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñíÿòü áàí ÷àòà {1D99D4}(10 äîíàò ðóáëåé)");
}
else
{
strcat(string_format, "{3399FF}» Èíôîðìàöèÿ\n");
strcat(string_format, "{3399FF}» Ïðîâåðèòü çà÷èñëåíèÿ\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïîëó÷åíèå èãðîâîé âàëþòû\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïîëó÷åíèå coins âàëþòû\n");
strcat(string_format, "{FFCC00}»{FFFFFF} VIP ñòàòóñ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñíÿòèå ïðåäóïðåæäåíèÿ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñìåíà íèêà {1D99D4}(20 äîíàò ðóáëåé)\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè àäìèí ïðàâà\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè ëèäåðñòâî\n");
strcat(string_format, "{3399FF}» Ïðèîáðåñòè êîìàíäû àäìèíñòðàòîðà\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Âûéòè èç òþðüìû {1D99D4}(10 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïðèîáðåñòè ñêèí {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ïðèîáðåñòè EXP + ïîèíòîâ â ñåìüþ, Êóðñ: {1D99D4}(1 coins = 1 ïîèíòîâ)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñîçäàòü ñåìüþ {1D99D4}(50 äîíàò ðóáëåé)\n");
strcat(string_format, "{FFCC00}»{FFFFFF} Ñíÿòü áàí ÷àòà {1D99D4}(10 äîíàò ðóáëåé)");
}
ShowPlayerDialog(playerid, D_DONATE, DIALOG_STYLE_LIST, "{1D99D4}Äîïîëíèòåëüíî", string_format, "Äàëåå", "Íàçàä");
}
cache_delete(oresult, dbHandle);
}
