stock OnPlayerUpdateRL(playerid)
{
if(PlayerLogged[playerid] == true && IsPlayerConnected(playerid))
{
new query[590], string[128];
PlayerInfo[playerid][pLostOnline] = gettime() - 3600;
query = "UPDATE `Accounts` SET ";
format(PlayerInfo[playerid][pAdminRobs],30,"%d,%d,%d,%d",PlayerInfo[playerid][pAdminRob][0],PlayerInfo[playerid][pAdminRob][1],PlayerInfo[playerid][pAdminRob][2],PlayerInfo[playerid][pAdminRob][3]);
acc_float_strcat(query, sizeof(query), "pFuelcar",PlayerInfo[playerid][pFuelcar]);
acc_int_strcat(query, sizeof(query), "pCash",PlayerInfo[playerid][pCash]);
acc_int_strcat(query, sizeof(query), "pJailTime",PlayerInfo[playerid][pJailTime]);
acc_int_strcat(query, sizeof(query), "pMarried",PlayerInfo[playerid][pMarried]);
acc_int_strcat(query, sizeof(query), "pMuteTime",PlayerInfo[playerid][pMuteTime]);
acc_int_strcat(query, sizeof(query), "pMember",PlayerInfo[playerid][pMember]);
acc_int_strcat(query, sizeof(query), "pLeader",PlayerInfo[playerid][pLeader]);
acc_int_strcat(query, sizeof(query), "pExp",PlayerInfo[playerid][pExp]);
acc_int_strcat(query, sizeof(query), "pMobile",PlayerInfo[playerid][pMobile]);
acc_int_strcat(query, sizeof(query), "pBank",PlayerInfo[playerid][pBank]);
acc_int_strcat(query, sizeof(query), "pZakonp",PlayerInfo[playerid][pZakonp]);
acc_int_strcat(query, sizeof(query), "pProz",PlayerInfo[playerid][pProz]);
acc_int_strcat(query, sizeof(query), "NZ",PlayerInfo[playerid][pNarcoZavisimost]);
acc_int_strcat(query, sizeof(query), "pWanted",PlayerInfo[playerid][pWanted]);
acc_int_strcat(query, sizeof(query), "pChas",PlayerInfo[playerid][pChas]);
acc_int_strcat(query, sizeof(query), "pMin",PlayerInfo[playerid][pMin]);
acc_int_strcat(query, sizeof(query), "pSec",PlayerInfo[playerid][pSec]);
acc_int_strcat(query, sizeof(query), "pRealDonate",PlayerInfo[playerid][pRealDonate]);
acc_str_strcat(query, sizeof(query), "pAdminRob",PlayerInfo[playerid][pAdminRobs]);
acc_int_strcat(query, sizeof(query), "pLostOnline",PlayerInfo[playerid][pLostOnline]);
strdel(query, strlen(query)-1, strlen(query));//Удаляем запятую
format(string,sizeof(string)," WHERE `ID` = '%d' LIMIT 1",PlayerInfo[playerid][MysqlpID]);
strcat(query, string);
mysql_function_query(dbHandle, query, true, "", "d", playerid);
printf("ID: %d - String: %d",PlayerInfo[playerid][MysqlpID],strlen(query));
if(strlen(query) > 600) printf("[ВНИМАНИЕ]: Аккаунт %s - %d [НЕ БЫЛ СОХРАНЁН]",Name(playerid),strlen(query));
}
return true;
}
acc_int_strcat(query[], len, name[], number)
{
new stringer[64];
format(stringer, sizeof(stringer), "`%s` = '%d',",name, number);
strcat(query, stringer, len);
return true;
}
acc_float_strcat(query[], len, name[], Float:number)
{
new stringer[64];
format(stringer, sizeof(stringer), "`%s` = '%f',", name, number);
strcat(query, stringer, len);
return true;
}
acc_str_strcat(query[], len, name[], str[])
{
new stringer[64];
format(stringer, sizeof(stringer), "`%s` = '%s',",name, str);
strcat(query, stringer, len);
return true;
}
query[590]
"`%s` = '%d',"
"`%s`='%d',"
query[1024]
if(strlen(query) > 600)
if(strlen(query) > 1024)
Скорее всего, длины массива
PHP код:
PHP код:
PHP код:
Ну, и увеличить query до PHP код:
UPD: Да, и вместо PHP код:
PHP код:
|
printf("ID: %d - String: %d",PlayerInfo[playerid][MysqlpID],strlen(query));
stock OnPlayerUpdateRL(playerid)
При этом в логе появляется сообщение "[ВНИМАНИЕ]: Аккаунт %s - %d [НЕ БЫЛ СОХРАНЁН]" ?
Если да, то что выдаёт эта строчка: PHP код:
И есть ли при этом апостроф или кавычки в имени аккаунта? Где и как часто вызывается функция PHP код:
|
OnPlayerUpdateRL(playerid);
Само собой она не будет появляться: как длина строки, хранящейся в массиве, может быть больше количества ячеек в нем?
Может есть что-то в mysql_log? И как настроен mysql_debug? |
stock OnPlayerUpdateRL(playerid)
{
if(PlayerLogged[playerid] == true && IsPlayerConnected(playerid))
{
new query[1524], string[256];
PlayerInfo[playerid][pLostOnline] = gettime() - 3600;
query = "UPDATE "TABLE_ACCOUNTS" SET ";
format(PlayerInfo[playerid][pAdminRobs],30,"%d,%d,%d,%d",PlayerInfo[playerid][pAdminRob][0],PlayerInfo[playerid][pAdminRob][1],PlayerInfo[playerid][pAdminRob][2],PlayerInfo[playerid][pAdminRob][3]);
acc_float_strcat(query, sizeof(query), "pFuelcar",PlayerInfo[playerid][pFuelcar]);
acc_int_strcat(query, sizeof(query), "pCash",PlayerInfo[playerid][pCash]);
acc_int_strcat(query, sizeof(query), "pJailTime",PlayerInfo[playerid][pJailTime]);
acc_int_strcat(query, sizeof(query), "pMarried",PlayerInfo[playerid][pMarried]);
acc_int_strcat(query, sizeof(query), "pMuteTime",PlayerInfo[playerid][pMuteTime]);
acc_int_strcat(query, sizeof(query), "pMember",PlayerInfo[playerid][pMember]);
acc_int_strcat(query, sizeof(query), "pLeader",PlayerInfo[playerid][pLeader]);
acc_int_strcat(query, sizeof(query), "pExp",PlayerInfo[playerid][pExp]);
acc_int_strcat(query, sizeof(query), "pMobile",PlayerInfo[playerid][pMobile]);
acc_int_strcat(query, sizeof(query), "pBank",PlayerInfo[playerid][pBank]);
acc_int_strcat(query, sizeof(query), "pZakonp",PlayerInfo[playerid][pZakonp]);
acc_int_strcat(query, sizeof(query), "pProz",PlayerInfo[playerid][pProz]);
acc_int_strcat(query, sizeof(query), "NZ",PlayerInfo[playerid][pNarcoZavisimost]);
acc_int_strcat(query, sizeof(query), "pWanted",PlayerInfo[playerid][pWanted]);
acc_int_strcat(query, sizeof(query), "pChas",PlayerInfo[playerid][pChas]);
acc_int_strcat(query, sizeof(query), "pMin",PlayerInfo[playerid][pMin]);
acc_int_strcat(query, sizeof(query), "pSec",PlayerInfo[playerid][pSec]);
acc_int_strcat(query, sizeof(query), "pRealDonate",PlayerInfo[playerid][pRealDonate]);
acc_str_strcat(query, sizeof(query), "pAdminRob",PlayerInfo[playerid][pAdminRobs]);
acc_int_strcat(query, sizeof(query), "pLostOnline",PlayerInfo[playerid][pLostOnline]);
strdel(query, strlen(query)-1, strlen(query));
format(string,sizeof(string)," WHERE `ID` = '%d' LIMIT 1",PlayerInfo[playerid][MysqlpID]);
strcat(query, string);
mysql_tquery(dbHandle, query, "", "");
printf("ID: %d - String: %d",PlayerInfo[playerid][MysqlpID],strlen(query));
if(strlen(query) > 1524) printf("[ВНИМАНИЕ]: Аккаунт %s - %d [НЕ БЫЛ СОХРАНЁН]",Name(playerid),strlen(query));
}
return true;
}
ID: 699 - String: 358