Array index out of bounds -
Cuelinhu - 02.04.2018
alguem pode me ajuda? eu nao consigo arruma isso, fica floodando isso no server log
[debug] Accessing element at index 65535 past array upper bound 49
[debug] AMX backtrace:
[debug] #0 001765e8 in public OnPlayerPickUpPickup (1, 272) from NEWCITY.amx
[debug] Run time error 4: "Array index out of bounds"
Код:
public OnPlayerPickUpPickup(playerid, pickupid)
{
new ExpID = GetProxExp(playerid);
if(Pickup[ExpID] == pickupid) {
new GranaExp = randomEx(50, 100), Str[55];
format(Str, 55, "Vocк roubou R$%i,00", GranaExp);
SendClientMessage(playerid, LARANJA, Str);
GivePlayerMoney(playerid, GranaExp);
DestroyPickup(Pickup[ExpID]);
Pickup[ExpID] = 0xFFFF;
}
return true;
}
Re: Array index out of bounds -
FerrariL - 02.04.2018
Veja se resolve :
PHP код:
public OnPlayerPickUpPickup(playerid, pickupid)
{
new ExpID = GetProxExp(playerid);
if(Pickup[ExpID] == pickupid)
{
new GranaExp = randomEx(50, 100), Str[55];
format(Str,sizeof(Str), "Vocк roubou R$%i,00", GranaExp);
SendClientMessage(playerid, LARANJA, Str);
GivePlayerMoney(playerid, GranaExp);
DestroyPickup(Pickup[ExpID]);
Pickup[ExpID] = 0xFFFF;
}
return true;
}
Re: Array index out of bounds -
Cuelinhu - 02.04.2018
continua
Re: Array index out of bounds -
FerrariL - 02.04.2018
Que valor esta funзгo estб retornando ?
Pois o valor retornado pode estar excedendo o limite de cйlulas do seu vetor.
Re: Array index out of bounds -
Cuelinhu - 02.04.2018
Ae, vlw.
Re: Array index out of bounds -
Bruno13 - 02.04.2018
"Run time error 4: "Array index out of bounds", do inglкs: "Erro de tempo de execuзгo 4: Нndice da matriz fora dos limites".
Sempre antes de acessar o нndice de uma matriz verifica-se se o valor passado nгo estб fora dos limites - os limites sгo entre 0 e ((tamanho da matriz) - 1).
PHP код:
new
/*
* Declaro a matriz com tamanho 10.
*/
matriz[10],
/*
* Declaro a variбvel do нndice que armazenarб o valor utilizado para acessar a matriz.
*/
valorIndice = 4;
/*
* Verifico se 0 й menor que valorIndice que й menor que o tamanho total da matriz.
* No caso 0 < 4 < 10.
*/
if(0 < valorIndice < sizeof(matriz))
{
/*
* Defino o valor desse нndice da matriz como 2. Apenas um exemplo de acesso.
*/
matriz[valorIndice] = 2;
}
Esse й um problema que pode causar bugs fodidos e inesperados, previna a partir de hoje.