SA-MP Forums Archive
[Ajuda] Array index out of bounds - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Array index out of bounds (/showthread.php?tid=652047)



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(playeridpickupid)
{
    new 
ExpID GetProxExp(playerid);
    if(
Pickup[ExpID] == pickupid
    {
        new 
GranaExp randomEx(50100), Str[55];
        
format(Str,sizeof(Str), "Vocк roubou R$%i,00"GranaExp);
        
SendClientMessage(playeridLARANJAStr);
        
GivePlayerMoney(playeridGranaExp);
        
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 ?
pawn Код:
GetProxExp(playerid)
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(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.