Run time error 4: "Array index out of bounds" -
MtPlayerZ - 08.01.2019
Dei uma pesquisada pelo Search e algumas explicaзхes para o erro nгo faziam sentido para meu caso:
Erro:
Код:
Run time error 4: "Array index out of bounds"
Cod.:
PHP код:
Vendedor[0] = CreateActor(168,1578.9000244141,-1863.0999755859,13.5,131.500122);//Spawn
Carrinho[0] = CreateDynamicObject(1340,1578.1000000,-1863.9000000,13.7000000,0.0000000,0.0000000,220.0000000); //CarrinhoSpawn
Vendedor[1] = CreateActor(168,1754.9,-1898.9,14.1,272.001);//Rodoviaria
Carrinho[1] = AddStaticVehicleEx(588,1754.5000000,-1898.5000000,13.4000000,0.0000000,245,245,15); //VanRodoviaria[trancada]
foreach(Player, i){ SetVehicleParamsForPlayer(Carrinho[1], i, 0, 1); }
for(new i=0; i<=10; i++)
{
new Text3D:txt = Create3DTextLabel("{FFFF80}Vai um lanchinho ae?\n{80FF80}Custa sу {008000}3,00 {80FF80}real.", -1, 30.0, 40.0, 50.0, 40.0, 0);
Attach3DTextLabelToPlayer(txt, Vendedor[i], 0.0, 0.0, 1.5);
}
Como corrijo e porque esta dando este erro?
Obs: as arrays utilizadas foram declaradas no topo da gm da seguinte forma:
PHP код:
new Vendedor[10], Carrinho[10];
O tamanho destas arrays sгo 10 pq pretendo colocar 10 actors vendedores de lanche.
Re: Run time error 4: "Array index out of bounds" -
AutoMatic2 - 08.01.2019
no caso vc tem que criar os 10 Vendedor e os 10 Carrinhos pra dar certo nao? pq iam sobrar 8 Vendedor e 8 Carrinhos vc so crio 2 vezes
PHP код:
Vendedor[0] = CreateActor(168,1578.9000244141,-1863.0999755859,13.5,131.500122);//Spawn
Carrinho[0] = CreateDynamicObject(1340,1578.1000000,-1863.9000000,13.7000000,0.0000000,0.0000000,220.0000000); //CarrinhoSpawn
Vendedor[1] = CreateActor(168,1754.9,-1898.9,14.1,272.001);//Rodoviaria
Carrinho[1] = AddStaticVehicleEx(588,1754.5000000,-1898.5000000,13.4000000,0.0000000,245,245,15); //VanRodoviaria[trancada]
E a array ta definida como 10 sendo que ta usando so 2. Deve ser isso :/ To meio confuso com essa parte q vc mandou -'
Eu sei que esse erro da quando vc define a array como valor de 2 e vc cria 3 por exemplo. Ai da esse erro, agora nгo sei se da esse erro quando sobra. tenta definir as arrays para 2 e vк se deu.
Re: Run time error 4: "Array index out of bounds" -
MtPlayerZ - 08.01.2019
Quote:
Originally Posted by AutoMatic2
no caso vc tem que criar os 10 Vendedor e os 10 Carrinhos pra dar certo nao? pq iam sobrar 8 Vendedor e 8 Carrinhos vc so crio 2 vezes
PHP код:
Vendedor[0] = CreateActor(168,1578.9000244141,-1863.0999755859,13.5,131.500122);//Spawn
Carrinho[0] = CreateDynamicObject(1340,1578.1000000,-1863.9000000,13.7000000,0.0000000,0.0000000,220.0000000); //CarrinhoSpawn
Vendedor[1] = CreateActor(168,1754.9,-1898.9,14.1,272.001);//Rodoviaria
Carrinho[1] = AddStaticVehicleEx(588,1754.5000000,-1898.5000000,13.4000000,0.0000000,245,245,15); //VanRodoviaria[trancada]
E a array ta definida como 10 sendo que ta usando so 2. Deve ser isso :/ To meio confuso com essa parte q vc mandou -'
Eu sei que esse erro da quando vc define a array como valor de 2 e vc cria 3 por exemplo. Ai da esse erro, agora nгo sei se da esse erro quando sobra. tenta definir as arrays para 2 e vк se deu.
|
Mandei o codigo meio confuso mesmo, agora ele esta mais caertinho:
PHP код:
Vendedor[0] = CreateActor(168,1578.9000244141,-1863.0999755859,13.5,131.500122);//Spawn
Vendedor[1] = CreateActor(168,1754.9,-1898.9,14.1,272.001);//Rodoviaria
No Topo do GM:
PHP код:
new Vendedor[2];
e continua o mesmo erro:
Код:
Run time error 4: "Array index out of bounds"
[debug] Attempted to read/write array element at index 2 in array of size 2
Re: Run time error 4: "Array index out of bounds" -
MultiKill - 08.01.2019
Vocк esta tentando acessar um нndice invбlido da array Vendedor, os нndices vгo de 0 a 9 (jб que tem 10 cйlulas).
PHP код:
//assim irб rodar de 0 a 10 e quando chegar no 11 irб parar jб que 11 nгo й menor e nem igual a 10
for(new i=0; i<=10; i++)
//assim irб rodar de 0 a 9 e quando chegar em 10 irб parar jб que 10 nгo й menor que 9
for(new i=0; i<10; i++)
Use
sizeof para pegar o tamanho da array e use a condiзгo
i < sizeof(Vendedor)
PHP код:
for(new i = 0; i < sizeof(Vendedor); i++)
Para saber mais sobre loops:
https://sampforum.blast.hk/showthread.php?tid=290735
Sobre arrays:
https://sampforum.blast.hk/showthread.php?tid=458432
Re: Run time error 4: "Array index out of bounds" -
MtPlayerZ - 08.01.2019
Quote:
Originally Posted by MultiKill
Vocк esta tentando acessar um нndice invбlido da array Vendedor, os нndices vгo de 0 a 9 (jб que tem 10 cйlulas).
PHP код:
//assim irб rodar de 0 a 10 e quando chegar no 11 irб parar jб que 11 nгo й menor e nem igual a 10
for(new i=0; i<=10; i++)
//assim irб rodar de 0 a 9 e quando chegar em 10 irб parar jб que 10 nгo й menor que 9
for(new i=0; i<10; i++)
Use sizeof para pegar o tamanho da array e use a condiзгo i < sizeof(Vendedor)
PHP код:
for(new i = 0; i < sizeof(Vendedor); i++)
Para saber mais sobre loops:
https://sampforum.blast.hk/showthread.php?tid=290735
Sobre arrays:
https://sampforum.blast.hk/showthread.php?tid=458432
|
eu sei usar loops, o problema nгo esta nessa parte atй porque se eu deixar em comentario esse loop o mesmo erro aparece.
Esqueci de flaar, esse erro nгo esta aparecendo no compilador, ta compilando normal e o erro aparece no console quando estou abrindo o servidor, e por causa disso ele nгo esta carregando o resto do OnGameModeInit.
Re: Run time error 4: "Array index out of bounds" -
MultiKill - 08.01.2019
Quote:
Originally Posted by MtPlayerZ
eu sei usar loops, o problema nгo esta nessa parte atй porque se eu deixar em comentario esse loop o mesmo erro aparece.
Esqueci de flaar, esse erro nгo esta aparecendo no compilador, ta compilando normal e o erro aparece no console quando estou abrindo o servidor, e por causa disso ele nгo esta carregando o resto do OnGameModeInit.
|
Й um erro na hora da execuзгo como eu disse vocк estava acessando um нndice invбlido da array Vendedor quando aquele cуdigo й executado.
Se vocк diminuiu o tamanho da array para 2 cйlulas e nгo alterou o loop o erro vai continuar.
PHP код:
new array[5];
main(){
for(new i; i < 500; i++){
array[i] = i + 1;
}
}
No cуdigo acima criei uma array com 5 cйlulas, o нndice por padrгo comeзa com 0 e vai atй o tamanho dela menos um, no caso aqui vai de 0 a 4.
Esse cуdigo vai gerar um erro na hora da execuзгo e nгo no compilador, jб que ele tentar acessar vбrios нndices que nгo existem, que no caso vai ser de 5 atй 499.
Se tu tentar acessar o нndice -1 irб dar um erro jб que nгo existe.
Tu jб sabe o que fazer, veja tu esta tentando acessar нndice invбlido dessa array em outras partes tambйm.
Recomendo o uso do plugin
crashdetect, ele ajuda a dar mais detalhes em erros na execuзгo.
Re: Run time error 4: "Array index out of bounds" -
MtPlayerZ - 08.01.2019
Quote:
Originally Posted by MultiKill
Й um erro na hora da execuзгo como eu disse vocк estava acessando um нndice invбlido da array Vendedor quando aquele cуdigo й executado.
Se vocк diminuiu o tamanho da array para 2 cйlulas e nгo alterou o loop o erro vai continuar.
PHP код:
new array[5];
main(){
for(new i; i < 500; i++){
array[i] = i + 1;
}
}
No cуdigo acima criei uma array com 5 cйlulas, o нndice por padrгo comeзa com 0 e vai atй o tamanho dela menos um, no caso aqui vai de 0 a 4.
Esse cуdigo vai gerar um erro na hora da execuзгo e nгo no compilador, jб que ele tentar acessar vбrios нndices que nгo existem, que no caso vai ser de 5 atй 499.
Se tu tentar acessar o нndice -1 irб dar um erro jб que nгo existe.
Tu jб sabe o que fazer, veja tu esta tentando acessar нndice invбlido dessa array em outras partes tambйm.
Recomendo o uso do plugin crashdetect, ele ajuda a dar mais detalhes em erros na execuзгo.
|
Etendi o que vc quiz dizer, ja estou usando o crashdetect, tanto que postei ali em cima o debug.
o problema era quase esse que vc disse mesmo, esse lopp ai era pra ser outra coisa, й que eu copiei e colei e esqueci de tirar o Vendedor[i] ja que esse loop estava certo la em baixo antes de fechar OnGameModeInit.
Valeu pela ajuda galeris, +rep ae pros parceiro!