PDA

Просмотр полной версии : [Вопрос] Не сохранение настроек в бд.



Eleot
10.06.2017, 12:34
Здравствуйте всем, вчера столкнулся с такой проблемой, заключается она в текстовом документе, mysql_log, в ней написано: [ERROR] cache_get_row_int - invalid datatype(много строчек от данной ошибке) и [ERROR] cache_get_row_float - invalid datatype(2 строчки), эти ошибки появились после того, как я создал в pInfo(Записи в бд) новую переменную(pGoogleCode(Гугл аунтефекатор)), потом в 2-ух стоках прописал их(в сохранениях аккаунта(регистрация) и загрузка его(авторизация)) и как раз после этого у меня вылезла данная ошибка, я попробовал удалить эту переменную в 2-ух стоках и вставил прям точь в точь с того основного мода, где ничего не было изменено, я конечно же вставил, пробовал всё сделать заново(зарегать аккаунт и авторизоваться), но ошибка осталась, хотя до того, как я ничего не изменял в тех стоках, такой ошибке не было. Это ошибка нарушает именно загрузку аккаунта, так как, если человек авторизируется, то у меня может абсолютно рандомно сделаться 8795 опыта из 4, может стать лидером какой-либо организации или замом(Хотя до выхода после регистрации он был обычным бомжом), то есть всё нарушается и очень коряво загружается аккаунт. Я долго решал эту проблему и решил скачать плагин crashdetect, вот, что он мне показал:

[06:00:00] [debug] Run time error 4: "Array index out of bounds"
[06:00:00] [debug] Accessing element at index 65535 past array upper bound 999
[06:00:00] [debug] AMX backtrace:
[06:00:00] [debug] #0 001c7774 in MysqlUpdatePlayerInt (playerid=65535, field[]=@0077e0f0 "spawnchange", data=0) at C:\Users\User\Desktop\Diamond RP Orange\gamemodes\diamond.pwn:27160
[06:00:00] [debug] #1 0033c850 in PayDay () at C:\Users\User\Desktop\Diamond RP Orange\gamemodes\diamond.pwn:37221
[06:00:00] [debug] #2 000174b8 in public SecTimer () at C:\Users\User\Desktop\Diamond RP Orange\gamemodes\diamond.pwn:3724

Вот сток на который он самый 1-ый ругается:

stock MysqlUpdatePlayerInt(playerid, field[], data)
{
new Query[128];
format(Query, sizeof(Query), "UPDATE "T_ACCOUNTS" SET %s = '%i' WHERE id = '%i' LIMIT 1", field, data, PI[playerid][pID]); // Эта строчка(27160)
return mysql_tquery(dbHandle, Query, "", "");
}

Вот на что он ругается 2-ой раз:

MysqlUpdatePlayerInt(targetid, "spawnchange", 0);
strmid(HouseInfo[houseid][hOwner], "None", 0, strlen("None"), MAX_PLAYER_NAME); // Строка(37221)

Вот на что он ругается 3-ий раз:

if(gCurMinutes != m) // Строка(3724)

Очень прошу Вас помочь мне с этим!

Batya_Montes
10.06.2017, 13:13
Array index out of bounds
выход за пределы массива
http://pro-pawn.ru/showthread.php?12957

Eleot
10.06.2017, 13:26
Ну какого массива, я показал эту строчку, но какой же массив?