SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 15/05/2019, 01:04 PM   #1
RayanSanty
Little Clucker
 
Join Date: Aug 2018
Location: San Fierro
Posts: 45
Reputation: 0
Exclamation [sampgdk:error] Too many callback arguments (at most 32 allowed)

Rapaziada, venho tendo este problema há um dia, eu ligo meu servidor de boas, entra umas 10 a 20 pessoas, ele começa a bugar, nao aparece a tela de login, o servidor buga completamente, eu olho os logs e aparece isto:

Code:
[sampgdk:error] Too many callback arguments (at most 32 allowed)
[sampgdk:error] Too many callback arguments (at most 32 allowed)
[sampgdk:error] Too many callback arguments (at most 32 allowed)
[sampgdk:error] Too many callback arguments (at most 32 allowed)
[sampgdk:error] Too many callback arguments (at most 32 allowed)
[sampgdk:error] Too many callback arguments (at most 32 allowed)
[sampgdk:error] Too many callback arguments (at most 32 allowed)
[sampgdk:error] Too many callback arguments (at most 32 allowed)
Alguém sabe como resolver? Sabem se isto é algum erro de plugin desatualizada?

Quando eu ligo o server com senha, consigo entrar de boas, so buga quando entra outros players

Isso é o que da no crashdetect
Code:
[10:10:43] [debug] Run time error 4: "Array index out of bounds"
[10:10:43] [debug]  Attempted to read/write array element at negative index -400
[10:10:43] [debug] AMX backtrace:
[10:10:43] [debug] #0 002edb20 in public Atualizar3Dtexts () in BFL.amx
[10:10:43] [debug] #1 001199c8 in public ab_OnGameModeInit () in BFL.amx
[10:10:43] [debug] #2 native CallLocalFunction () in samp-server.exe
[10:10:43] [debug] #3 000067ac in public SSCANF_OnGameModeInit () in BFL.amx
[10:10:43] [debug] #4 native CallLocalFunction () in samp-server.exe
[10:10:43] [debug] #5 00005800 in public Itter_OnGameModeInit () in BFL.amx
[10:10:43] [debug] #6 native CallLocalFunction () in samp-server.exe
[10:10:43] [debug] #7 0000088c in public OnGameModeInit () in BFL.amx
RayanSanty is offline   Reply With Quote
Old 15/05/2019, 02:22 PM   #2
MultiKill
High-roller
 
Join Date: Apr 2014
Posts: 1,677
Reputation: 107
Default Re: [sampgdk:error] Too many callback arguments (at most 32 allowed)

Code:
[10:10:43] [debug] Run time error 4: "Array index out of bounds"
[10:10:43] [debug]  Attempted to read/write array element at negative index -400
Você está tentando acessar um índice inválido de alguma array, nesse caso é o índice -400.

Olhe as callbacks Atualizar3Dtexts e OnGameModeInit, faça desbugs com print e printf para saber exatamente em qual parte do seu código o problema acontece. E preste atenção em qual momento está acontecendo, se é ao entrar no servidor, em um veículo ou usar algum comando.

Sobre o erro do sampgdk é resultado do erro na hora da execução:

Quote:
Originally Posted by xeeZ View Post
The reason that sampgdk error message is shown is that callback parameters are not popped off the stack by the runtime when such an error happens, so they add up with each call and eventually exceed 32.
MultiKill is online now   Reply With Quote
Old 15/05/2019, 02:35 PM   #3
RayanSanty
Little Clucker
 
Join Date: Aug 2018
Location: San Fierro
Posts: 45
Reputation: 0
Default Re: [sampgdk:error] Too many callback arguments (at most 32 allowed)

Quote:
Originally Posted by MultiKill View Post
Code:
[10:10:43] [debug] Run time error 4: "Array index out of bounds"
[10:10:43] [debug]  Attempted to read/write array element at negative index -400
Você está tentando acessar um índice inválido de alguma array, nesse caso é o índice -400.

Olhe as callbacks Atualizar3Dtexts e OnGameModeInit, faça desbugs com print e printf para saber exatamente em qual parte do seu código o problema acontece. E preste atenção em qual momento está acontecendo, se é ao entrar no servidor, em um veículo ou usar algum comando.

Sobre o erro do sampgdk é resultado do erro na hora da execução:
Desbug com print e printf seria compilar a gamemode com algo parecido com isto?
Code:
printf("=======================================================================");
	printf("Servidor Ligado: [%02d/%02d/%d %02d:%02d:%02d]", v[2], v[1], v[0], v[3], v[4], v[5]);
    printf("=======================================================================");

É muito dificil saber se é um comando que executam, veiculo ou quando entra, pois não buga enquanto eu estou sozinho no servidor, e quando tem outros players, o log sobe muito rápido e começa a floodar o erro do sampgdk
RayanSanty is offline   Reply With Quote
Old 15/05/2019, 03:02 PM   #4
MultiKill
High-roller
 
Join Date: Apr 2014
Posts: 1,677
Reputation: 107
Default Re: [sampgdk:error] Too many callback arguments (at most 32 allowed)

Quote:
Originally Posted by RayanSanty View Post
Desbug com print e printf seria compilar a gamemode com algo parecido com isto?
Code:
printf("=======================================================================");
	printf("Servidor Ligado: [%02d/%02d/%d %02d:%02d:%02d]", v[2], v[1], v[0], v[3], v[4], v[5]);
    printf("=======================================================================");

É muito dificil saber se é um comando que executam, veiculo ou quando entra, pois não buga enquanto eu estou sozinho no servidor, e quando tem outros players, o log sobe muito rápido e começa a floodar o erro do sampgdk

Sim, para ver os valores de certas variáveis ou ver em qual bloco de instrução entrou, ou para ver qual foi a última mensagem no console antes do erro:

PHP Code:
print("desbug");
new var[
5];

print(
"desbug 1");
SetPlayerHealth(..);


print(
"desbug 2");

/*
Se vid estiver com um valor negativo ou maior que 4 irá mostrar o erro na hora da execução e o último desbug será "desbug 2"
*/
var[vid] = 1
A callback citada no erro é a Atualizar3Dtexts, se você desbugar ela ou postar aqui posso dar uma olhada e tentar ajudar.

Como você esta tentando acessar o índice -400 pode ser por exemplo em uma array que tem nome dos veículos.Já que a função GetVehicleModel pode ter retornado a 0 por ter sido passado um id de veículo não existente.

E como os modelos de veículos são de 400 a 611, é feito uma subtração para acessar o índice da array:
PHP Code:
array[modelo 400
E se a função retornar 0, irá tentar acessar o índice -400.

Recomendo olhar códigos assim também e ver se é isso o problema.
MultiKill is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[sampgdk] error: Too many callback arguments (at most 32 allowed) HNIC Server Support 4 31/01/2018 01:43 PM
[sampgdk:error] Too many callback arguments (at most 32 allowed) feartonyb Scripting Help 17 31/10/2015 04:08 PM
[Ajuda] [sampgdk] error: Too many callback arguments (at most 32 allowed) [BWL]Chamaleon Português/Portuguese 3 15/06/2015 06:38 PM
[sampgdk:error] Too many callback arguments (at most 32 allowed) LiamM Scripting Help 12 12/06/2015 01:10 PM
[sampgdk] error: Too many callback arguments (at most 32 allowed) Andrei1255 Server Support 2 16/04/2015 10:23 AM


All times are GMT. The time now is 01:53 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.