Do nada array index out of bounds?
#1

[23:38:23] [debug] Run time error 4: "Array index out of bounds"
[23:38:23] [debug] Accessing element at index 9 past array upper bound 8
[23:38:23] [debug] AMX backtrace:
[23:38:23] [debug] #0 0024ec18 in public cmd_testarfurniture (0x00000000, 0x009099e0) from roleplay.amx
[23:38:23] [debug] #1 native CallLocalFunction () [004743b0] from samp-server.exe
[23:38:23] [debug] #2 0001f0ec in ?? (0x00000000, 0x0090999c) from roleplay.amx
[23:38:23] [debug] #3 00005270 in public OnPlayerCommandText (0x00000000, 0x0090999c) from roleplay.amx

Estou recebendo esse erro de uma hora pra outra. Nгo lembro de mudar nada no script, que й o seguinte:

new PlayerText:FURNITURE_TD[MAX_PLAYERS][10];

for(new i = 0; i < sizeof(FURNITURE_TD); i++)
{
format(string, 128, "%d", i);
SendClientMessage(playerid, COLOR_RED, string);
//PlayerTextDrawShow(playerid, FURNITURE_TD[playerid][i]);
}

Se eu colocar sizeof(FURNITURE_TD[]) ele pega, mas acho muito estranho de uma hora pra outra ele querer que eu comece a usar [], eu tф programando hб alguns dias esse sistema sem colocar [] e ele sempre funcionou normal, de uma hora pra outra para?? No caso ele tб fazendo o loop com o valor de MAX_PLAYERS, nгo com o valor "10" como deveria ser.
Reply
#2

Nesse caso vocк esta fazendo um loop para a segunda dimensгo da array e esta pegando o tamanho da primeiro dimensгo que й definido por MAX_PLAYERS, e no loop vai de 0 atй o nъmero da definiзгo de MAX_PLAYERS (a definiзгo padrгo й 500).

Olhe este tutorial sobre arrays:
https://sampforum.blast.hk/showthread.php?tid=458432

PHP код:
new matriz[2][3][4][5];
printf("%d %d %d %d"sizeof(matriz), sizeof(matriz[]), sizeof(matriz[][]), sizeof(matriz[][][]));
//Saнda: 2 3 4 5 
Sempre que dar esse erro й de que vocк esta tentando acessar um нndice que nгo existe em uma array.
Reply
#3

Quote:
Originally Posted by MultiKill
Посмотреть сообщение
Nesse caso vocк esta fazendo um loop para a segunda dimensгo da array e esta pegando o tamanho da primeiro dimensгo que й definido por MAX_PLAYERS, e no loop vai de 0 atй o nъmero da definiзгo de MAX_PLAYERS (a definiзгo padrгo й 500).

Olhe este tutorial sobre arrays:
https://sampforum.blast.hk/showthread.php?tid=458432

PHP код:
new matriz[2][3][4][5];
printf("%d %d %d %d"sizeof(matriz), sizeof(matriz[]), sizeof(matriz[][]), sizeof(matriz[][][]));
//Saнda: 2 3 4 5 
Sempre que dar esse erro й de que vocк esta tentando acessar um нndice que nгo existe em uma array.
Sim, eu entendo isso.

Sу estou achando muito estranho que eu fiz todo o script usando sizeof(array) e ele puxava o valor da segunda dimensгo. O script funcionou sempre com sizeof(Furniture_TD), e do nada parou.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)