ylepeta
Дебютант
Доброго вечера, многоуважаемые читатели форма, а так же скриптеры.
При авторизации возникает вот такая ошибка в консоли:
Ошибка появляется не на каждом аккаунте. Только на тех которые давно зарегестрированы на сервере.
Вот вся функция. Помогите пожалуйста исправить
При авторизации возникает вот такая ошибка в консоли:
Код:
[17:49:13] [debug] Run time error 4: "Array index out of bounds"
[17:49:13] [debug] Accessing element at negative index -1
[17:49:13] [debug] AMX backtrace:
[17:49:13] [debug] #0 002d5788 in public OnPlayerLoginMysql (playerid=0) at C:\Users\Yarik\Desktop\arz galante boosthost.ru\gamemodes\arizona.pwn:45626
Вот вся функция. Помогите пожалуйста исправить
Код:
public OnPlayerLoginMysql(playerid)
{
new string[2100], style, name[MAX_PLAYER_NAME], pass[50];
PI[playerid][pID] = cache_get_row_int(0, 0, mysql);
cache_get_row(0, 1, name, mysql);
cache_get_row(0, 2, pass, mysql);
cache_get_row(0, 3, PlayerRegIP[playerid], mysql, 16);
cache_get_row(0, 4, PlayerIp[playerid], mysql, 16);
cache_get_row(0, 5, PlayerReferal[playerid], mysql, MAX_PLAYER_NAME);
cache_get_row(0, 6, PlayerMail[playerid], mysql, 50);
PI[playerid][pLevel] = cache_get_row_int(0, 7, mysql);
PI[playerid][pExp] = cache_get_row_int(0, 8, mysql);
PI[playerid][pSex] = cache_get_row_int(0, 9, mysql);
PI[playerid][pRace] = cache_get_row_int(0, 10, mysql);
PI[playerid][pAdmin] = cache_get_row_int(0, 11, mysql);
PI[playerid][pMoney] = cache_get_row_int(0, 12, mysql);
PI[playerid][pBank] = cache_get_row_int(0, 13, mysql);
PI[playerid][pWanted] = cache_get_row_int(0, 14, mysql);
PI[playerid][pVIP] = cache_get_row_int(0, 15, mysql);
PI[playerid][pLeader] = cache_get_row_int(0, 16, mysql);
PI[playerid][pMember] = cache_get_row_int(0, 17, mysql);
PI[playerid][pRank] = cache_get_row_int(0, 18, mysql);
PI[playerid][pWarns] = cache_get_row_int(0, 19, mysql);
PI[playerid][pTimeToLastWarn] = cache_get_row_int(0, 20, mysql);
new maximum[150];
cache_get_field_content(0, "HouseKey", maximum), sscanf(maximum, "p<,>a<i>[3]", PI[playerid][pHouseKey]);
PI[playerid][pFWarns] = cache_get_row_int(0, 22, mysql);
PI[playerid][pSkin] = cache_get_row_int(0, 23, mysql);
PI[playerid][pTelNum] = cache_get_row_int(0, 24, mysql);
PI[playerid][pTelWork] = cache_get_row_int(0, 25, mysql);
PI[playerid][pTelBalance] = cache_get_row_int(0, 26, mysql);
PI[playerid][pPhone] = cache_get_row_int(0, 27, mysql);
PI[playerid][pJob] = cache_get_row_int(0, 28, mysql);
PI[playerid][pMuteTime] = cache_get_row_int(0, 29, mysql);
PI[playerid][pFMuteTime] = cache_get_row_int(0, 30, mysql);
PI[playerid][pJailTime] = cache_get_row_int(0, 31, mysql);
PI[playerid][pBailPrice] = cache_get_row_int(0, 32, mysql);
PI[playerid][pKungfu] = cache_get_row_int(0, 33, mysql);
PI[playerid][pKneehead] = cache_get_row_int(0, 34, mysql);
PI[playerid][pBoxing] = cache_get_row_int(0, 35, mysql);
PI[playerid][pElbow] = cache_get_row_int(0, 36, mysql);
style = cache_get_row_int(0, 37, mysql);
PI[playerid][pDCTime] = cache_get_row_int(0, 38, mysql);
PI[playerid][pPistol_Skill] = cache_get_row_int(0, 39, mysql);
PI[playerid][pSDPistol_Skill] = cache_get_row_int(0, 40, mysql);
PI[playerid][pEagle_Skill] = cache_get_row_int(0, 41, mysql);
PI[playerid][pShotGun_Skill] = cache_get_row_int(0, 42, mysql);
PI[playerid][pUZI_Skill] = cache_get_row_int(0, 43, mysql);
PI[playerid][pMP5_Skill] = cache_get_row_int(0, 44, mysql);
PI[playerid][pAK47_Skill] = cache_get_row_int(0, 45, mysql);
PI[playerid][pM4_Skill] = cache_get_row_int(0, 46, mysql);
PI[playerid][pSniper_Skill] = cache_get_row_int(0, 47, mysql);
PI[playerid][pBL] = cache_get_row_int(0, 48, mysql);
PI[playerid][pBankPass] = cache_get_row_int(0, 49, mysql);
PI[playerid][pZKP] = cache_get_row_int(0, 50, mysql);
PI[playerid][pHeal] = cache_get_row_int(0, 51, mysql);
Fullness[playerid] = cache_get_row_int(0, 52, mysql);
PI[playerid][pPack] = cache_get_row_int(0, 53, mysql);
PI[playerid][pPrison] = cache_get_row_int(0, 54, mysql);
PI[playerid][pHospCity] = cache_get_row_int(0, 55, mysql);
PI[playerid][pSkillLevel] = cache_get_row_int(0, 56, mysql);
PI[playerid][pVirMoney] = cache_get_row_int(0, 57, mysql);
PI[playerid][pOldRepl] = cache_get_row_int(0, 58, mysql);
PI[playerid][pAllRepl] = cache_get_row_int(0, 59, mysql);
PI[playerid][pCredit] = cache_get_row_int(0, 60, mysql);
PI[playerid][pDemorgan] = cache_get_row_int(0, 61, mysql);
PI[playerid][pFeFinder] = cache_get_row_int(0, 62, mysql);
PI[playerid][pObmen] = cache_get_row_int(0, 63, mysql);
PI[playerid][pContractTime] = cache_get_row_int(0, 64, mysql);
PI[playerid][pPlayedTime] = cache_get_row_int(0, 65, mysql);
PI[playerid][pAdmAction] = cache_get_row_int(0, 66, mysql);
PI[playerid][pDepChat] = cache_get_row_int(0, 67, mysql);
PI[playerid][pVipChat] = cache_get_row_int(0, 68, mysql);
PI[playerid][pFamilyChat] = cache_get_row_int(0, 69, mysql);
PI[playerid][pNewsChat] = cache_get_row_int(0, 70, mysql);
PI[playerid][pRacia] = cache_get_row_int(0, 71, mysql);
PI[playerid][pRabRacia] = cache_get_row_int(0, 72, mysql);
PI[playerid][pVipTime] = cache_get_row_int(0, 73, mysql);
cache_get_row(0, 74, PI[playerid][pMerrit], mysql, MAX_PLAYER_NAME);
PI[playerid][pShowCase] = cache_get_row_int(0, 75, mysql);
PI[playerid][pHealth] = cache_get_row_float(0, 76, mysql);
PI[playerid][pHungryShow] = cache_get_row_int(0, 77, mysql);
PI[playerid][pHospital] = cache_get_row_int(0, 78, mysql);
PI[playerid][pSlotItem][0] = cache_get_row_int(0, 79, mysql);
PI[playerid][pSlotItem][1] = cache_get_row_int(0, 80, mysql);
PI[playerid][pSlotItem][2] = cache_get_row_int(0, 81, mysql);
PI[playerid][pSlotItem][3] = cache_get_row_int(0, 82, mysql);
PI[playerid][pSlotItem][4] = cache_get_row_int(0, 83, mysql);
PI[playerid][pSlotItem][5] = cache_get_row_int(0, 84, mysql);
PI[playerid][pMore] = cache_get_row_int(0, 85, mysql);
PI[playerid][pKillShow] = cache_get_row_int(0, 86, mysql);
PI[playerid][pPlanshet] = cache_get_row_int(0, 87, mysql);
PI[playerid][pAPromo] = cache_get_row_int(0, 88, mysql);
PI[playerid][pFamilyMember] = cache_get_row_int(0, 89, mysql);
if(PI[playerid][pFamilyMember] != 0)
{
new famtext[5] = "";
if(FamilyInfo[PI[playerid][pFamilyMember]][famGalka]) famtext = "[$] ";
else if(FamilyInfo[PI[playerid][pFamilyMember]][famBrand]) famtext = "© ";
if(FamilyInfo[PI[playerid][pFamilyMember]][famGalka]) format(string, sizeof(string), "%s{%s}%s {FFFFFF}Family", famtext, FamilyChatColor[FamilyInfo[PI[playerid][pFamilyMember]][famChatColor]], FamilyInfo[PI[playerid][pFamilyMember]][famName]);
PlayerFamily[playerid] = Create3DTextLabel(string, -1, 30.0, 40.0, 50.0, 40.0, 0);
Attach3DTextLabelToPlayer(PlayerFamily[playerid], playerid, 0.0, 0.0, 0.05);
FPlayerText[playerid] = true;
}
PI[playerid][pFamilyMute] = cache_get_row_int(0, 90, mysql);
PI[playerid][pFamily] = cache_get_row_int(0, 91, mysql);
PI[playerid][pNameFamily] = cache_get_row_int(0, 92, mysql);
cache_get_row(0, 93, PI[playerid][pNameFamily2], mysql, 15);
PI[playerid][pPcix] = cache_get_row_int(0, 94, mysql);
player_tattoos[playerid]{0} = cache_get_row_int(0, 95, mysql);
player_tattoos[playerid]{1} = cache_get_row_int(0, 96, mysql);
player_tattoos[playerid]{2} = cache_get_row_int(0, 97, mysql);
player_tattoos[playerid]{3} = cache_get_row_int(0, 98, mysql);
PI[playerid][pDeposit] = cache_get_row_int(0, 99, mysql);
PI[playerid][pDepositChar] = cache_get_row_int(0, 100, mysql);
PI[playerid][pDepositChar2] = cache_get_row_int(0, 101, mysql);
cache_get_row(0, 102, PI[playerid][pGoogle], mysql);
PI[playerid][pEmailAuth] = cache_get_row_int(0, 103, mysql);
cache_get_row(0, 104, PI[playerid][pLastIP], mysql, 16);
PI[playerid][pEvent] = cache_get_row_int(0, 105, mysql);
PI[playerid][pReputation] = cache_get_row_int(0, 106, mysql);
PI[playerid][pInvLang] = cache_get_row_int(0, 107, mysql);
PI[playerid][pShowDokument] = cache_get_row_int(0, 108, mysql);
PI[playerid][pCarSkill] = cache_get_row_int(0, 109, mysql);
PI[playerid][pCarSkillNo] = cache_get_row_int(0, 110, mysql);
PI[playerid][pRespawnChat] = cache_get_row_int(0, 111, mysql);
new weaponsstr[200];
cache_get_row(0, 112, weaponsstr, mysql, sizeof(weaponsstr));
PI[playerid][pChestTime] = cache_get_row_int(0, 116, mysql);
PI[playerid][pSlotItem][6] = cache_get_row_int(0, 117, mysql);
PI[playerid][pSlotItem][7] = cache_get_row_int(0, 118, mysql);
PI[playerid][pBuySlot] = cache_get_row_int(0, 119, mysql);
PI[playerid][pInvColors] = cache_get_row_int(0, 120, mysql);
PI[playerid][pTypeSpeed] = cache_get_row_int(0, 121, mysql);
PI[playerid][pDamageInfo] = cache_get_row_int(0, 122, mysql);
PI[playerid][pChestTime2] = cache_get_row_int(0, 127, mysql);
PI[playerid][pPos_X] = cache_get_row_float(0, 128, mysql);
PI[playerid][pPos_Y] = cache_get_row_float(0, 129, mysql);
PI[playerid][pPos_Z] = cache_get_row_float(0, 130, mysql);
PI[playerid][pPos_A] = cache_get_row_float(0, 131, mysql);
PI[playerid][pAWarns] = cache_get_row_int(0, 132, mysql);
cache_get_field_content(0, "CarLic", maximum), sscanf(maximum, "p<,>a<i>[3]", PI[playerid][pCarLic]);
cache_get_field_content(0, "BikeLic", maximum), sscanf(maximum, "p<,>a<i>[3]", PI[playerid][pBikeLic]);
cache_get_field_content(0, "PlaneLic", maximum), sscanf(maximum, "p<,>a<i>[3]", PI[playerid][pPlaneLic]);
cache_get_field_content(0, "PlvLic", maximum), sscanf(maximum, "p<,>a<i>[3]", PI[playerid][pPlvLic]);
cache_get_field_content(0, "FishLic", maximum), sscanf(maximum, "p<,>a<i>[3]", PI[playerid][pFishLic]);
cache_get_field_content(0, "GunLic", maximum), sscanf(maximum, "p<,>a<i>[3]", PI[playerid][pGunLic]);
cache_get_field_content(0, "OxotLic", maximum), sscanf(maximum, "p<,>a<i>[3]", PI[playerid][pOxotLic]);
cache_get_field_content(0, "Setcmd", maximum), sscanf(maximum, "p<,>a<i>[20]", PI[playerid][pDostupSetCmd]);
PI[playerid][pLic0] = cache_get_row_int(0, 140, mysql);
PI[playerid][pLic1] = cache_get_row_int(0, 141, mysql);
PI[playerid][pLic2] = cache_get_row_int(0, 142, mysql);
PI[playerid][pLic3] = cache_get_row_int(0, 143, mysql);
PI[playerid][pLic4] = cache_get_row_int(0, 144, mysql);
PI[playerid][pLic5] = cache_get_row_int(0, 145, mysql);
PI[playerid][pLic6] = cache_get_row_int(0, 146, mysql);
cache_get_row(0, 123, PI[playerid][pInfoRP],mysql, 128);
PI[playerid][pCorona] = cache_get_row_int(0, 148, mysql);
PI[playerid][pHouseUpdate] = cache_get_row_int(0, 149, mysql);
PI[playerid][pNoNalog] = cache_get_row_int(0, 150, mysql);
PI[playerid][pHouseSpawn] = cache_get_row_int(0, 151, mysql);
cache_get_field_content(0, "datareg", PI[playerid][pDataReg]);
GetPlayerIp(playerid, PlayerIp[playerid], 16);
new idx;
for(new x; x < 13; x ++)
{
PI[playerid][pGuns][x] = strval(strtok(weaponsstr, idx));
PI[playerid][pAmmos][x] = strval(strtok(weaponsstr, idx));
}
format(string, sizeof(string), "UPDATE `accounts` SET `OldIP` = '%s',`Online_status`='1001' WHERE `ID` = '%i'", PlayerIp[playerid], PI[playerid][pID]);
mysql_tquery(mysql, string);
for(new i; i < 11; i++) {
TextDrawHideForPlayer(playerid, IntroLogo[i]);
}
IsPlayerLogged{playerid} = true;
SetPlayerScore(playerid, PI[playerid][pLevel]);
GivePlayerMoney(playerid, PI[playerid][pMoney]);
if(PI[playerid][pHealth] > 5.0) J_SetPlayerHealth(playerid, PI[playerid][pHealth]);
else J_SetPlayerHealth(playerid, 20);
OnLoadPass(playerid);
Loadonlineinfo(playerid);
GetNumberCars(playerid,PI[playerid][pCars]);
LoadInventory(playerid);
LoadInventoryKolvo(playerid);
LoadAks(playerid);
UpdateInfoRP(playerid);
InvUpdateToColor(playerid);
CheckLic(playerid);
SetPlayerFightingStyle(playerid,style);
if(PI[playerid][pCorona] > 0){
Corona++;
UpdateTextCorona();
}
if(TeamDuty{playerid}) SetPlayerColor(playerid, TeamColors[GetTeamID(playerid)]);
else SetPlayerColor(playerid, 0xFDFCFC15);
if(IsAtGang(playerid) || IsAtMafia(playerid)) SetPlayerColor(playerid, TeamColors[GetTeamID(playerid)]);
if(PI[playerid][pLeader] > 0)
{
if(!GetString(OrgInfo[PI[playerid][pLeader]][oLeader], PN(playerid)))
{
if(IsACop(playerid))
{
if(UsingShield{playerid})RemovePlayerAttachedObject(playerid, 7);
PI[playerid][pShield] = 0.0;
}
SendClientMessage(playerid, COLOR_WHITE, ">> {FF6347} Ìåñòîì ñïàâíà àâòîìàòè÷åñêè íàçíà÷åí ÆÄ Âîêçàë. Èçìåíèòü ìåñòî ñïàâíà {FFFFFF}>> {FF6347}/setspawn!");
PI[playerid][pLeader] =
PI[playerid][pMember] =
PI[playerid][pDCTime]=
PI[playerid][pRank] = 0;
SetBumSkin(playerid);
SendClientMessage(playerid, COLOR_GREY, "Âû áûëè ñíÿòû ñ ïîñòà ëèäåðà");
}
}
new query[150];
format(query, 150, "SELECT * FROM `questsprogress` WHERE `name`='%s' ORDER BY `idquest`;", PN(playerid));
mysql_tquery(mysql, query, "LoadQuestMysql", "d", playerid);
format(string, sizeof(string), "~w~Welcome ~n~~b~ %s", PN(playerid));
GameTextForPlayer(playerid, string, 5000, 1);
if(PI[playerid][pLeader] != 0 || (PI[playerid][pAdmin] != 0 && PI[playerid][pAdmin] < 5))
{
foreach(new i: Player)
{
if(PI[i][pAdmin] && ADuty{playerid})
{
if(AdminInfo[playerid][admIP])
format(string, sizeof(string), "Èãðîê/àäìèí %s[%d] çàøåë [reg ip:%s] -- [norm ip: %s]", PN(playerid), playerid, PlayerRegIP[playerid], PlayerIp[playerid]);
else
format(string, sizeof(string), "Èãðîê/àäìèí %s[%d] çàøåë.", PN(playerid), playerid);
SendClientMessage(i, COLOR_RED, string);
}
}
}
if(!PI[playerid][pHungryShow]) Hunger(playerid,0);
SendClientMessage(playerid, COLOR_WHITE, "{DFCFCF}[Ïîäñêàçêà] {DC4747}Íà ñåðâåðå åñòü âîçìîæíîñòü ïîëó÷èòü ïîâûøåíèå áåñïëàòíî ÷åðåç /aquest");
SendClientMessage(playerid, COLOR_WHITE, "{DFCFCF}[Ïîäñêàçêà] {DC4747}Êóïèòü âëàäåëüöà ñåðâåðà ïî íèçêèì öåíàì /adonate . FULL äîñòóï âñåãî çà 50 ðóáëåé.");
SendClientMessage(playerid, COLOR_WHITE, "{DFCFCF}[Ïîäñêàçêà] {DC4747}Ñîâåòóåì ïîëó÷èòü ïàñïîðò, à çàòåì îòïðàâèòüñÿ íà ôåðìó èëè çàâîä äëÿ çàðàáîòêà äåíåã íà ïðàâà.");
//if(strcmp("No Mail Adress", PlayerMail[playerid], true) == 0) SendClientMessage(playerid, COLOR_WHITE, "{DFCFCF}[Ïîäñêàçêà]{8F1E1E} Ó âàñ íå ïðèâÿçàí e-mail àäðåñ. Ïðèâÿæèòå åãî äàáû ïîäòâåðäèòü âàø àêêàóíò /mm - Íàñòðîéêè - e-mail.");
if(PI[playerid][pBeg][0] == -1 && PI[playerid][pLevel] < 4)
{
PI[playerid][pBeg][0] = 0;
SendClientMessage(playerid, -1, !"{DFCFCF}>>>{DC4747} Ïîêà âû ìàëîèìóùèé {DFCFCF}(äî 4-ãî óðîâíÿ){DC4747}, íà óëèöå âû ìîæåòå ïîïðîøàéíè÷àòü äåíüãè.");
SendClientMessage(playerid, -1, !"{DC4747}Èñïîëüçóéòå êîìàíäó {DFCFCF}/beg{DC4747}, ÷òîáû ïîñòàâèòü òàáëè÷êó è áàíêó äëÿ äåíåã!");
}
if(GLS[37] > 0) SendClientMessage(playerid, COLOR_VALIK, "[Îáúÿâëåíèå] {FFFFFF}Íà ñåðâåðå âêëþ÷åí õ2 PayDay.");
if(GLS[40] > 0) SendClientMessage(playerid, COLOR_VALIK, "[Îáúÿâëåíèå] {FFFFFF}Íà ñåðâåðå âêëþ÷åí õ3 PayDay.");
if(GLS[41] > 0) SendClientMessage(playerid, COLOR_VALIK, "[Îáúÿâëåíèå] {FFFFFF}Íà ñåðâåðå âêëþ÷åí õ5 PayDay.");
for(new i; i < 3; i++)
{
new house = PI[playerid][pHouseKey][i];
if(house != -1)
{
new bool: on = false;
new s = GetHouseStyle(house);
for(new j; j < HouseRooms[s]; j++)
{
if(GetString(HRoomOwner[house][j], PN(playerid)))
{
on = true;
break;
}
}
if(on == false && !GetString(HouseInfo[house][hOwner], PN(playerid))) PI[playerid][pHouseKey][i] = -1;
}
}
if(PI[playerid][pRank]>0 && PI[playerid][pMember]==0)PI[playerid][pRank]=0;
if(PI[playerid][pCredit] > 200000)
{
format(string, sizeof(string), "Äîëã öåíòðàëüíîìó áàíêó øòàòà ñîñòàâëÿåò: %d$. Îïëàòèòå êðåäèò âî èçáåæàíèå áëîêèðîâêè àêêàóíòà.", PI[playerid][pCredit]);
SendClientMessage(playerid, COLOR_ACHAT, string);
format(string, sizeof(string), "[A] %s[%d] çàøåë â èãðó. Íà äàííûé ìîìåíò ó íåãî çàäîëæåííîñòü â áàíêå %d$", PN(playerid), playerid, PI[playerid][pCredit]);
SendAdminsMessage(COLOR_ORANGE, string);
OrgInfo[TEAM_BANK][oBank] += 100000;
SaveOrg(TEAM_BANK);
}
if(PI[playerid][pWarns] > 0)
{
PI[playerid][pMember] = 0;
PI[playerid][pLeader] = 0;
PI[playerid][pRank] = 0;
if(PI[playerid][pDCTime] == 2) PI[playerid][pDCTime]=0;
}
if(PI[playerid][pWarns] > 2)
{
SendClientMessage(playerid, COLOR_RED, "Âàø àêêàóíò çàáëîêèðîâàí!");
PI[playerid][pWarns] = 0;
BanPlayer(playerid);
}
switch(PI[playerid][pDCTime])
{
case 1: {
if(PI[playerid][pHouseKey][0] == -1 && PI[playerid][pHouseKey][1] == -1 && PI[playerid][pHouseKey][2] == -1) {
PI[playerid][pDCTime] = 0;
}
}
case 2: {
if(!PI[playerid][pMember]) {
PI[playerid][pDCTime] = 0;
}
}
}
PlayerFrezze[playerid] = 5;
CreatePlayerMapDraws(playerid);
GetPlayerIp(playerid, PI[playerid][pLastIP], 16);
if(PI[playerid][pVIP] < 5)
{
if(!ActualVIP(playerid))
{
if(PI[playerid][pVIP] > 0)
{
if(PI[playerid][pVIP] > 1)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "[Âàæíî] {FFFFFF}Ñðîê âàøåãî VIP àêêàóíòà èñòåê, óðîâåíü VIP ïîíèæåí è ïðîäëåí!");
PI[playerid][pVipTime] = gettime() + (30 * 24 * 60 * 60);
}
else if(PI[playerid][pVIP] == 1) SendClientMessage(playerid, COLOR_LIGHTBLUE, "[Âàæíî] {FFFFFF}Ñðîê âàøåãî VIP àêêàóíòà èñòåê, óðîâåíü VIP áûë ñíÿò.");
PI[playerid][pVIP] --;
}
}
}
PlayerSpawn(playerid);
LoadOwnableCars(PN(playerid));
return aml(-6, playerid, "", PlayerIP(playerid));
}
