Mich@elson
Умник
Никак не могу разобраться с массивами. А точнее сам выход за пределы массива.
К примеру, ошибка которую мне показывает crashdetect в логе (строка: 1799):
Как я понимаю:
У массива размер 2000, а я пытаюсь 65535 индекс туда засунуть.
Вот сам publics: kick
Вот строка 1799:
Вопрос: как найти где выход за пределы массива и как это исправить?
К примеру, ошибка которую мне показывает crashdetect в логе (строка: 1799):
PHP:
[debug] Run time error 4: "Array index out of bounds"
[debug] Accessing element at index 65535 past array upper bound 1999
[debug] AMX backtrace:
[debug] #0 000157e4 in public kick (giveplayerid=35) at C:\Mod\gamemodes\New.pwn:1799
PHP:
[debug] Accessing element at index 65535 past array upper bound 1999
Вот сам publics: kick
PHP:
publics: kick(giveplayerid)
{
if(PlayerInfo[giveplayerid][pLogin] == 1) OnPlayerUpdateAc(giveplayerid);
if(caridhouse[giveplayerid] != -1)
{
new bool:proverka;
for(new idx=0, i=0; idx<cvector_size(players); idx++)
{
i = cvector_get(players, idx); if(avtocar[i] == caridhouse[giveplayerid]) proverka = true;
}
if(proverka == true) caroff[caridhouse[giveplayerid]] = 1;
else DestroyVehicle(caridhouse[giveplayerid]);
PlayerInfo[giveplayerid][pProcents] = PlayerInfo[giveplayerid][pProcents];
PlayerInfo[giveplayerid][pFuelcar] = Fuell[caridhouse[giveplayerid]]; //========== строка 1799 !
caridhouse[giveplayerid] = -1;
createdcar --;
}
Kick(giveplayerid);
return true;
}
PHP:
PlayerInfo[giveplayerid][pFuelcar] = Fuell[caridhouse[giveplayerid]];
Последнее редактирование:
