Portal SAMP
[Ajuda] Crashdetect - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Crashdetect (/showthread.php?tid=4083)

Páginas: 1 2


Crashdetect - NandoXs - 16/10/2023

Bom, estou com um problema no meu servidor, o crashdetect está enchendo o log do servidor, repetindo sempre a mesma coisa, vou por um pedaço do código que está mostrando no log do servidor:

//Esse é após iniciar o servidor 

[10:21:59] Carregando o script de filtro 'GYM.amx'...
[10:21:59] 
_______[SISTEMA DE GINÁSTICA]_________
[10:21:59] ______________________________

[10:21:59] [depuração] Erro de tempo de execução 4: "Índice da matriz fora dos limites"
[10:21:59] [debug] Tentativa de ler/gravar elemento da matriz no índice 1 em matriz de tamanho 1
[10:21:59] [depuração] Backtrace AMX:
[10:21:59] [depuração] #0 00003680 em público Iter_OnFilterScriptInit () em GYM.amx
[10:21:59] [depuração] #1 CallLocalFunction nativo () em samp03svr
[10:21:59] [depuração] # 2 000007d8 em público OnFilterScriptInit () em GYM.amx
[10:21:59] Carregados 2 scripts de filtro.

[10:22:00] [Logs] Logs sendo iniciados, tudo será salvo a partir de agora.
[10:22:00] -----------------------> ROCINHA <----------------- ------
[10:22:00] [ROCINHA] Dono da Rocina = 14
[10:22:00] ------------------------------------------- ------------
[10:22:00] [debug] Execução de retorno de chamada longa detectada (travamento ou problema de desempenho)
[10:22:00] [depuração] Backtrace AMX:
[10:22:00] [depuração] #0 000061d0 em ?? (50120156, 61) em GM_RJRP.amx
[10:22:00] [depuração] # 1 00005ca4 em ?? (50120156, 50119644, 50119132, 128, 128) em GM_RJRP.amx
[10:22:00] [depuração] # 2 000055f0 em ?? (50122300, -1, 0) em GM_RJRP.amx
[10:22:00] [depuração] # 3 0000488c em ?? (50122300, 49836332, 50121756, 128, 49861276) em GM_RJRP.amx
[10:22:00] [depuração] # 4 0000474c em ?? (50122300, 49836332, 49861276) em GM_RJRP.amx
[10:22:00] [depuração] # 5 004bad68 em ?? () em GM_RJRP.amx
[10:22:00] [depuração] # 6 0015a94c em público Iter_OnGameModeInit () em GM_RJRP.amx
[10:22:00] [depuração] #7 CallLocalFunction nativa () em samp03svr
[10:22:00] [depuração] # 8 00008b2c em público zcmd_OnGameModeInit () em GM_RJRP.amx
[10:22:00] [depuração] #9 CallLocalFunction nativo () em samp03svr
[10:22:00] [debug] #10 00000644 em público OnGameModeInit() em GM_RJRP.amx
[10:22:00] | carregando arquivos |

//Códigos que ficam a Repetir infinitamente

[10:22:03] Number of vehicle models: 0
[10:22:03] [connection] incoming connection: 170.231.85.160:60712 id: 0
[10:22:03] [connection] incoming connection: 177.27.19.89:21148 id: 1
[10:22:03] [connection] incoming connection: 179.222.232.223:5074 id: 2
[10:22:03] [join] wesley_Org has joined the server (0:170.231.85.160)
[10:22:03] [sv:dbg:network:connect] : connecting player (2) with address (179.222.232.223) ...
[10:22:03] [sv:dbg:network:connect] : player (2) assigned key (dfe8deb34f9a18c7)
[10:22:03] [join] Gusta01 has joined the server (2:179.222.232.223)
[10:22:03] [join] IcezinnZ has joined the server (1:177.27.19.89)
[10:22:05] [debug] Long callback execution detected (hang or performance issue)
[10:22:05] [debug] AMX backtrace:
[10:22:05] [debug] #0 00490ef0 in ?? (-1, -1, -1, 25, -1) in GM_RJRP.amx
[10:22:05] [debug] #1 00435830 in public AtualizarServer2 () in GM_RJRP.amx
[10:22:08] [debug] Long callback execution detected (hang or performance issue)
[10:22:08] [debug] AMX backtrace:
[10:22:08] [debug] #0 00490fdc in ?? (-1, -1, -1, 25, -1) in GM_RJRP.amx
[10:22:08] [debug] #1 00435830 in public AtualizarServer2 () in GM_RJRP.amx
[10:22:08] [debug] Long callback execution detected (hang or performance issue)
[10:22:08] [debug] AMX backtrace:
[10:22:08] [debug] #0 003682c8 in public split (50115236, 50117636, 124) in GM_RJRP.amx
[10:22:08] [debug] #1 0041d9f0 in public carregarteleportes () in GM_RJRP.amx
[10:22:10] [debug] Long callback execution detected (hang or performance issue)
[10:22:10] [debug] AMX backtrace:
[10:22:10] [debug] #0 00490eec in ?? (-1, -1, -1, 38, -1) in GM_RJRP.amx
[10:22:10] [debug] #1 00435830 in public AtualizarServer2 () in GM_RJRP.amx
[10:22:13] [debug] Long callback execution detected (hang or performance issue)
[10:22:13] [debug] AMX backtrace:
[10:22:13] [debug] #0 00490f94 in ?? (-1, -1, -1, 38, -1) in GM_RJRP.amx
[10:22:13] [debug] #1 00435830 in public AtualizarServer2 () in GM_RJRP.amx
[10:22:15] [part] wesley_Org has left the server (0:0)
[10:22:15] [debug] Long callback execution detected (hang or performance issue)
[10:22:15] [debug] AMX backtrace:
[10:22:15] [debug] #0 00490f14 in ?? (-1, -1, -1, 33, -1) in GM_RJRP.amx
[10:22:15] [debug] #1 00435830 in public AtualizarServer2 () in GM_RJRP.amx
[10:22:18] [debug] Long callback execution detected (hang or performance issue)
[10:22:18] [debug] AMX backtrace:
[10:22:18] [debug] #0 00491020 in ?? (-1, -1, -1, 36, -1) in GM_RJRP.amx
[10:22:18] [debug] #1 00435830 in public AtualizarServer2 () in GM_RJRP.amx
[10:22:21] [debug] Long callback execution detected (hang or performance issue)
[10:22:21] [debug] AMX backtrace:
[10:22:21] [debug] #0 00491090 in ?? (-1, -1, -1, 21, -1) in GM_RJRP.amx
[10:22:21] [debug] #1 00435830 in public AtualizarServer2 () in GM_RJRP.amx
[10:22:23] [debug] Long callback execution detected (hang or performance issue)
[10:22:23] [debug] AMX backtrace:
[10:22:23] [debug] #0 00490f2c in ?? (-1, -1, -1, 37, -1) in GM_RJRP.amx
[10:22:23] [debug] #1 00435830 in public AtualizarServer2 () in GM_RJRP.amx
[10:22:26] [debug] Long callback execution detected (hang or performance issue)
[10:22:26] [debug] AMX backtrace:
[10:22:26] [debug] #0 00490f14 in ?? (-1, -1, -1, 37, -1) in GM_RJRP.amx
[10:22:26] [debug] #1 00435830 in public AtualizarServer2 () in GM_RJRP.amx
[10:22:27] [connection] 170.231.85.160:61211 requests connection cookie.
[10:22:27] [connection] incoming connection: 170.231.85.160:61211 id: 0
[10:22:28] [join] wesley_Org has joined the server (0:170.231.85.160)
[10:22:28] [debug] Long callback execution detected (hang or performance issue)
[10:22:28] [debug] AMX backtrace:
[10:22:28] [debug] #0 00490ef8 in ?? (-1, -1, -1, 26, -1) in GM_RJRP.amx
[10:22:28] [debug] #1 00435830 in public AtualizarServer2 () in GM_RJRP.amx
[10:22:29] [debug] Long callback execution detected (hang or performance issue)
[10:22:29] [debug] AMX backtrace:
[10:22:29] [debug] #0 00007cbc in ?? (50110304) in GM_RJRP.amx
[10:22:29] [debug] #1 00002fb4 in ?? (50110304, 49861312, 50109212, 50109760, 50109724, 128, 128) in GM_RJRP.amx
[10:22:29] [debug] #2 00004910 in ?? (50110704, 50110304, 50109760, 128, 49861312) in GM_RJRP.amx
[10:22:29] [debug] #3 0000474c in ?? (50110704, 50110304, 49861312) in GM_RJRP.amx
[10:22:29] [debug] #4 003aa470 in ?? (1) in GM_RJRP.amx
[10:22:29] [debug] #5 003c5484 in ?? (1, 1355, 1, -1, 49860764) in GM_RJRP.amx
[10:22:29] [debug] #6 00297878 in public OnDialogResponse (1, 1355, 1, -1, 49860764) in GM_RJRP.amx
[10:22:31] [debug] Long callback execution detected (hang or performance issue)
[10:22:31] [debug] AMX backtrace:
[10:22:31] [debug] #0 00490f38 in ?? (-1, -1, -1, 36, -1) in GM_RJRP.amx
[10:22:31] [debug] #1 00435830 in public AtualizarServer2 () in GM_RJRP.amx
[10:22:34] [debug] Long callback execution detected (hang or performance issue)
[10:22:34] [debug] AMX backtrace:
[10:22:34] [debug] #0 00490f44 in ?? (-1, -1, -1, 34, -1) in GM_RJRP.amx
[10:22:34] [debug] #1 00435830 in public AtualizarServer2 () in GM_RJRP.amx
[10:22:36] [debug] Long callback execution detected (hang or performance issue)
[10:22:36] [debug] AMX backtrace:
[10:22:36] [debug] #0 00490f4c in ?? (-1, -1, -1, 25, -1) in GM_RJRP.amx
[10:22:36] [debug] #1 00435830 in public AtualizarServer2 () in GM_RJRP.amx
[10:22:39] [debug] Long callback execution detected (hang or performance issue)
[10:22:39] [debug] AMX backtrace:


RE: Crashdetect - pushline - 16/10/2023

Poste o log do crashdetect sem traduzi-lo.
De uma olhada nas função AtualizarServer2 e carregarteleportes.
Elas apenas estão demorando pra terminar (Long callback execution detected (hang or performance issue)), mas ainda sim é bom olhar para ver o que está tendo erro de performance, e tentar otimizar elas.

E aparentemente seu crashdetect não mostrou a linha do erro, estás compilando com "-d3"?


RE: Crashdetect - NandoXs - 16/10/2023

Código da public AtualizarServer2

Código:
forward AtualizarServer2();
public AtualizarServer2()
{
    if(salvandoserver == 1 ) return 1;
    String_Gigante[0] = EOS;
    new tranc[200];

    for(new c; c<MAX_CASAS; c++)
    {
        if(Casa[c][casaExiste] == 1)
        {
            format(String_Gigante, 400, "");
            if(Casa[c][casaTipo] != 3) format(tranc, 200, "{9C9C9C}Casa ID %d\n\n", c);
            else format(tranc, 200, "{9C9C9C}Apartamento ID %d\n\n", c);
            strcat(String_Gigante, tranc);
            if(!Comparar(Nome(-1), Casa[c][casaDono])) format(tranc, 50, "{ffffff}Dono: {00ffff}%s\n",Casa[c][casaDono]);
            else
            {
                if(Casa[c][casaTipo]!=3)format(tranc, 200, "{00ff00}CASA A VENDA !\n{9C9C9C}Use /comprarcasa para comprar\n{ffffff}Valor da casa: {00ff00}R$ %s\n", ConvertMoney( Casa[c][casaPreco]));
                else format(tranc, 200, "{00ff00}APARTAMENTO A VENDA !\n{9C9C9C}Use /comprarcasa para comprar\n{ffffff}Valor do apartamento: {00ff00}R$ %s\n", ConvertMoney( Casa[c][casaPreco]));
            }
            strcat(String_Gigante, tranc);
            if(Casa[c][casaChave] == 0) format(tranc, 50, "{ffffff}Trancada: {00ffff}nao\n");
            else format(tranc, 100, "{ffffff}Trancada: {ff0000}SIM\n");
            strcat(String_Gigante, tranc);
            format(tranc, 150, "{ffffff}Tipo casa: {ffff00}%s\n", tipocasa(Casa[c][casaTipo]));
            strcat(String_Gigante, tranc);
            format(tranc, 150, "{ffffff}Descricao: {00ffff}%s\n", Casa[c][casaDescricao]);
            strcat(String_Gigante, tranc);
            format(tranc, 150, "{ffffff}Designer: {00ff00}%s\n", Casa[c][casaDesigner]);
            strcat(String_Gigante, tranc);
            if(Casa[c][casaChave] == 0)
            {
                if(Casa[c][casaTipo]!=3)strcat(String_Gigante, "\n{ffffff}Aperte {00ffff}F {ffffff}ou {00ffff}ENTER {ffffff}para\nentrar na casa");
                else strcat(String_Gigante, "\n{ffffff}Aperte {00ffff}F {ffffff}ou {00ffff}ENTER {ffffff}para\nentrar no apartamento");
            }
            if(IsValidDynamic3DTextLabel(Casa[c][casaEntrar3D])) UpdateDynamic3DTextLabelText( Casa[c][casaEntrar3D], 0xffffff99, String_Gigante);

            new pla = pegarinfo3( -1,-1,-1,c,-1 );
            if(pla  !=  -1)
            {
                if(vInfo[pla][vGaragem] == 1)format (String_Gigante, sizeof String_Gigante, "{ffff00}Garagem Casa: %d\n{ffffff}Aperte {00ffff}F {ffffff}ou {00ffff}ENTER{ffffff} para\npegar o veiculo", c);
                else format(String_Gigante, sizeof String_Gigante, "{ffff00}Garagem Casa: %d\n{ffffff}Saia do veiculo para guardar-lo", c);
            }
            if(IsValidDynamic3DTextLabel(Casa[c][casaGaragem3D])) UpdateDynamic3DTextLabelText( Casa[c][casaGaragem3D], 0xffffff99, String_Gigante);
            if(!Comparar(Nome(-1), Casa[c][casaDono]))
            {
                if(Casa[c][casaData] != getdate()+7)
                {
                    if(casacontas[c] > 6*60)
                    {
                        Casa[c][casaContas] += 200+random(500);
                        casacontas[c] = 0;
                    }
                    casacontas[c] ++;
                }
            }
        }
    }

    for(new el; el<MAX_CAIXAS_ELETRONICOS; el++)
    {
        if(CaixaEletronico[el][caixaeletronicoExiste] != 1) continue;
        if(CaixaEletronico[el][caixaeletronicoFundos] >= 150000) continue;
        if(CaixaEletronico[el][caixaeletronicoHora] >= gettime()) continue;
        CaixaEletronico[el][caixaeletronicoHora] = gettime()+60*10;
        CaixaEletronico[el][caixaeletronicoFundos] += random(20000);
        atualizarcaixaeletronico(el, 1);
    }

    for(new d; d<MAX_DINAMITES; d++)
    {
        if(Dinamite[d][dinamiteExiste] == 0) continue;
        if(Dinamite[d][dinamiteExiste] == 3) format(String_Gigante,  200, "{ff0000}[ DINAMITE ]\n{ffffff}Dono: {00ffff}%s\n{ffff00}DESARMANDO...", Dinamite[d][dinamiteDono]);
        if(Dinamite[d][dinamiteExiste] == 2) format(String_Gigante,  200, "{ff0000}[ DINAMITE ]\n{ffffff}Dono: {00ffff}%s\n{00ff00}INSTALANDO...", Dinamite[d][dinamiteDono]);
        if(Dinamite[d][dinamiteExiste] == 1 || Dinamite[d][dinamiteExiste] == 5 ) format(String_Gigante,  200, "{ff0000}[ DINAMITE ]\n{ffffff}Dono: {00ffff}%s\n{ffffff}Explosao: {ffff00}%s", Dinamite[d][dinamiteDono], ConvertTime(Dinamite[d][dinamiteTempo]-gettime()));
        if(!IsValidDynamic3DTextLabel(Dinamite[d][dinamite3D])) Dinamite[d][dinamite3D] = CreateDynamic3DTextLabel( String_Gigante, 0xffffff99, Dinamite[d][dinamiteX], Dinamite[d][dinamiteY], Dinamite[d][dinamiteZ], 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, Dinamite[d][dinamiteMundo], Dinamite[d][dinamiteInterior], -1, STREAMER_3D_TEXT_LABEL_SD, -1, 0 );
        UpdateDynamic3DTextLabelText( Dinamite[d][dinamite3D], 0xFFFFFF99,String_Gigante);
        if(Dinamite[d][dinamiteExiste] == 1 && Dinamite[d][dinamiteTempo] <= gettime()) explodirdinamite(d);
        if(Dinamite[d][dinamiteExiste] == 5 && Dinamite[d][dinamiteTempo] <= gettime()) explodirdinamite(d, 1);
    }


    for(new po; po<MAX_POSTOS; po++)
    {
        if(Posto[po][postoExiste] == 1)
        {
              format(String_Gigante,300,
              "{ffff00}[ %s ID %d ]\n\
              {ffffff}Preco por Litro: {00ff00}R$ %s\n\n\
              {ffffff}Digite {00ffff}/abastecer{ffffff} para\nabastecer seu veiculo aqui", Posto[po][postoNome], po, ConvertMoney(Posto[po][postoPreco]));
              if(IsValidDynamic3DTextLabel(Posto[po][posto3D]))UpdateDynamic3DTextLabelText( Posto[po][posto3D], 0xffffff99,String_Gigante);
        }
    }


    for(new de; de<MAX_BEBEDORES; de++)
    {
        if(Bebedor[de][bebedorExiste] == 1)
        {
              format(String_Gigante,300,"Bebedor ID %d\nAperte F ou ENTER para\nbeber agua aqui", de);
              if(IsValidDynamic3DTextLabel(Bebedor[de][bebedor3D]))UpdateDynamic3DTextLabelText( Bebedor[de][bebedor3D], 0xffffff99,String_Gigante);
        }
    }

    return 1;
}


(16/10/2023 11:00)pushline Escreveu: Poste o log do crashdetect sem traduzi-lo.
De uma olhada na função AtualizarServer2, aparenta ser ela que está quebrando seu server.
E aparentemente seu crashdetect não mostrou a linha do erro, estás compilando com "-d3"?
Estou compilando normalmente sem o -d3


RE: Crashdetect - pushline - 16/10/2023

Cara, não posta o código assim, não dá pra ler nada. Use pastebin, ou a tag php do fórum.
E compila com -d3, que assim o crashdetect mostra a linha de erro (principalmente na parte do array out of bounds ( rro de tempo de execução 4: "Índice da matriz fora dos limites"))


RE: Crashdetect - NandoXs - 16/10/2023

(16/10/2023 11:05)pushline Escreveu: Cara, não posta o código assim, não dá pra ler nada. Use pastebin, ou a tag php do fórum.
E compila com -d3, que assim o crashdetect mostra a linha de erro (principalmente na parte do array out of bounds ( rro de tempo de execução 4: "Índice da matriz fora dos limites"))

Foi mal, nao uso muito fórum, só quando realmente eu não sei como resolver


RE: Crashdetect - pushline - 16/10/2023

só usar a tag code
tipo assim:

[code"] [/"code]
sem as aspas em volta e colocar o codigo no meio das duas coisas


RE: Crashdetect - NandoXs - 16/10/2023

(16/10/2023 11:42)pushline Escreveu: só usar a tag code
tipo assim:

[code"] [/"code]
sem as aspas em volta e colocar o codigo no meio das duas coisas

Consegui por lá, valeu por ensinar ai

(16/10/2023 11:05)pushline Escreveu: Cara, não posta o código assim, não dá pra ler nada. Use pastebin, ou a tag php do fórum.
E compila com -d3, que assim o crashdetect mostra a linha de erro (principalmente na parte do array out of bounds ( rro de tempo de execução 4: "Índice da matriz fora dos limites"))

Acabei de compilar, e obtive outros dados em meu server.log

Tentarei fazer um pastelbin mostrando-o

https://pastebin.com/CTVKexzA


RE: Crashdetect - xbruno1000x - 16/10/2023

(16/10/2023 11:02)NandoXs Escreveu: Código da public AtualizarServer2

Código:
forward AtualizarServer2();
public AtualizarServer2()
{
    if(salvandoserver == 1 ) return 1;
    String_Gigante[0] = EOS;
    new tranc[200];

    for(new c; c<MAX_CASAS; c++)
    {
        if(Casa[c][casaExiste] == 1)
        {
            format(String_Gigante, 400, "");
            if(Casa[c][casaTipo] != 3) format(tranc, 200, "{9C9C9C}Casa ID %d\n\n", c);
            else format(tranc, 200, "{9C9C9C}Apartamento ID %d\n\n", c);
            strcat(String_Gigante, tranc);
            if(!Comparar(Nome(-1), Casa[c][casaDono])) format(tranc, 50, "{ffffff}Dono: {00ffff}%s\n",Casa[c][casaDono]);
            else
            {
                if(Casa[c][casaTipo]!=3)format(tranc, 200, "{00ff00}CASA A VENDA !\n{9C9C9C}Use /comprarcasa para comprar\n{ffffff}Valor da casa: {00ff00}R$ %s\n", ConvertMoney( Casa[c][casaPreco]));
                else format(tranc, 200, "{00ff00}APARTAMENTO A VENDA !\n{9C9C9C}Use /comprarcasa para comprar\n{ffffff}Valor do apartamento: {00ff00}R$ %s\n", ConvertMoney( Casa[c][casaPreco]));
            }
            strcat(String_Gigante, tranc);
            if(Casa[c][casaChave] == 0) format(tranc, 50, "{ffffff}Trancada: {00ffff}nao\n");
            else format(tranc, 100, "{ffffff}Trancada: {ff0000}SIM\n");
            strcat(String_Gigante, tranc);
            format(tranc, 150, "{ffffff}Tipo casa: {ffff00}%s\n", tipocasa(Casa[c][casaTipo]));
            strcat(String_Gigante, tranc);
            format(tranc, 150, "{ffffff}Descricao: {00ffff}%s\n", Casa[c][casaDescricao]);
            strcat(String_Gigante, tranc);
            format(tranc, 150, "{ffffff}Designer: {00ff00}%s\n", Casa[c][casaDesigner]);
            strcat(String_Gigante, tranc);
            if(Casa[c][casaChave] == 0)
            {
                if(Casa[c][casaTipo]!=3)strcat(String_Gigante, "\n{ffffff}Aperte {00ffff}F {ffffff}ou {00ffff}ENTER {ffffff}para\nentrar na casa");
                else strcat(String_Gigante, "\n{ffffff}Aperte {00ffff}F {ffffff}ou {00ffff}ENTER {ffffff}para\nentrar no apartamento");
            }
            if(IsValidDynamic3DTextLabel(Casa[c][casaEntrar3D])) UpdateDynamic3DTextLabelText( Casa[c][casaEntrar3D], 0xffffff99, String_Gigante);

            new pla = pegarinfo3( -1,-1,-1,c,-1 );
            if(pla  !=  -1)
            {
                if(vInfo[pla][vGaragem] == 1)format (String_Gigante, sizeof String_Gigante, "{ffff00}Garagem Casa: %d\n{ffffff}Aperte {00ffff}F {ffffff}ou {00ffff}ENTER{ffffff} para\npegar o veiculo", c);
                else format(String_Gigante, sizeof String_Gigante, "{ffff00}Garagem Casa: %d\n{ffffff}Saia do veiculo para guardar-lo", c);
            }
            if(IsValidDynamic3DTextLabel(Casa[c][casaGaragem3D])) UpdateDynamic3DTextLabelText( Casa[c][casaGaragem3D], 0xffffff99, String_Gigante);
            if(!Comparar(Nome(-1), Casa[c][casaDono]))
            {
                if(Casa[c][casaData] != getdate()+7)
                {
                    if(casacontas[c] > 6*60)
                    {
                        Casa[c][casaContas] += 200+random(500);
                        casacontas[c] = 0;
                    }
                    casacontas[c] ++;
                }
            }
        }
    }

    for(new el; el<MAX_CAIXAS_ELETRONICOS; el++)
    {
        if(CaixaEletronico[el][caixaeletronicoExiste] != 1) continue;
        if(CaixaEletronico[el][caixaeletronicoFundos] >= 150000) continue;
        if(CaixaEletronico[el][caixaeletronicoHora] >= gettime()) continue;
        CaixaEletronico[el][caixaeletronicoHora] = gettime()+60*10;
        CaixaEletronico[el][caixaeletronicoFundos] += random(20000);
        atualizarcaixaeletronico(el, 1);
    }

    for(new d; d<MAX_DINAMITES; d++)
    {
        if(Dinamite[d][dinamiteExiste] == 0) continue;
        if(Dinamite[d][dinamiteExiste] == 3) format(String_Gigante,  200, "{ff0000}[ DINAMITE ]\n{ffffff}Dono: {00ffff}%s\n{ffff00}DESARMANDO...", Dinamite[d][dinamiteDono]);
        if(Dinamite[d][dinamiteExiste] == 2) format(String_Gigante,  200, "{ff0000}[ DINAMITE ]\n{ffffff}Dono: {00ffff}%s\n{00ff00}INSTALANDO...", Dinamite[d][dinamiteDono]);
        if(Dinamite[d][dinamiteExiste] == 1 || Dinamite[d][dinamiteExiste] == 5 ) format(String_Gigante,  200, "{ff0000}[ DINAMITE ]\n{ffffff}Dono: {00ffff}%s\n{ffffff}Explosao: {ffff00}%s", Dinamite[d][dinamiteDono], ConvertTime(Dinamite[d][dinamiteTempo]-gettime()));
        if(!IsValidDynamic3DTextLabel(Dinamite[d][dinamite3D])) Dinamite[d][dinamite3D] = CreateDynamic3DTextLabel( String_Gigante, 0xffffff99, Dinamite[d][dinamiteX], Dinamite[d][dinamiteY], Dinamite[d][dinamiteZ], 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, Dinamite[d][dinamiteMundo], Dinamite[d][dinamiteInterior], -1, STREAMER_3D_TEXT_LABEL_SD, -1, 0 );
        UpdateDynamic3DTextLabelText( Dinamite[d][dinamite3D], 0xFFFFFF99,String_Gigante);
        if(Dinamite[d][dinamiteExiste] == 1 && Dinamite[d][dinamiteTempo] <= gettime()) explodirdinamite(d);
        if(Dinamite[d][dinamiteExiste] == 5 && Dinamite[d][dinamiteTempo] <= gettime()) explodirdinamite(d, 1);
    }


    for(new po; po<MAX_POSTOS; po++)
    {
        if(Posto[po][postoExiste] == 1)
        {
              format(String_Gigante,300,
              "{ffff00}[ %s ID %d ]\n\
              {ffffff}Preco por Litro: {00ff00}R$ %s\n\n\
              {ffffff}Digite {00ffff}/abastecer{ffffff} para\nabastecer seu veiculo aqui", Posto[po][postoNome], po, ConvertMoney(Posto[po][postoPreco]));
              if(IsValidDynamic3DTextLabel(Posto[po][posto3D]))UpdateDynamic3DTextLabelText( Posto[po][posto3D], 0xffffff99,String_Gigante);
        }
    }


    for(new de; de<MAX_BEBEDORES; de++)
    {
        if(Bebedor[de][bebedorExiste] == 1)
        {
              format(String_Gigante,300,"Bebedor ID %d\nAperte F ou ENTER para\nbeber agua aqui", de);
              if(IsValidDynamic3DTextLabel(Bebedor[de][bebedor3D]))UpdateDynamic3DTextLabelText( Bebedor[de][bebedor3D], 0xffffff99,String_Gigante);
        }
    }

    return 1;
}

O conteúdo do seu código é básicamente loopings, e loopings realmente exibem esse aviso no crashdetect. Acho que tem um jeito de desativar esse aviso de long callback do crashdetect, mas tem que ver no github, porque não me recordo de cabeça.


RE: Crashdetect - pushline - 16/10/2023

adicione DisableCrashDetectLongCall(); no seu ongamemodeinit e ta tudo certo


RE: Crashdetect - PT_Player - 16/10/2023

Eu acho que seu problema esta nesta linha:

Código:
new pla = pegarinfo3( -1,-1,-1,c,-1 );

coloque esta funcao aqui sff