Portal SAMP
[Ajuda] Como resolver isso?? - 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] Como resolver isso?? (/showthread.php?tid=1253)

Páginas: 1 2


RE: Como resolver isso?? - LeleziiN - 04/06/2021

(03/06/2021 22:51)xbruno1000x Escreveu:
(02/06/2021 19:35)LeleziiN Escreveu: Agora apareceu isso

Código:
[debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[debug]  Stack pointer (STK) is 0x133102C, heap pointer (HEA) is 0x1330FF0
[debug] AMX backtrace:
[debug] #0 003ef8bc in public TempoSalvarDados () from GM.amx
[debug] #1 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #2 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #3 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #4 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #5 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #6 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #7 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #8 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #9 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #10 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #11 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #12 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #13 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #14 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #15 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #16 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #17 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #18 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #19 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #20 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #21 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #22 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #23 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #24 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #25 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #26 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #27 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #28 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #29 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #30 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #31 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #32 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #33 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #34 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #35 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #36 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #37 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #38 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #39 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #40 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #41 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #42 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #43 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #44 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #45 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #46 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #47 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #48 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #49 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #50 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #51 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #52 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #53 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #54 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #55 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #56 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #57 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #58 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #59 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #60 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #61 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #62 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #63 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #64 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #65 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #66 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #67 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #68 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #69 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #70 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #71 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #72 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #73 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #74 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #75 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #76 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #77 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #78 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #79 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #80 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #81 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #82 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #83 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #84 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #85 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #86 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #87 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #88 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #89 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #90 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #91 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #92 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #93 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #94 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #95 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #96 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #97 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #98 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #99 003efb98 in public TempoSalvarDados () from GM.amx
[debug] #100 003efb98 in public TempoSalvarDados () from GM.amx

Callback

Código PHP:
public TempoSalvarDados()
{
    new 
SalvoP = (random(150 1) + 1);
    if(
IsPlayerConnected(SalvoP) && Logado[SalvoP] == 1)
    {
    
       if(JogadorSalvo[SalvoP] == 0)
    
       {
    
           SalvarDados(SalvoP1);
    
           JogadorSalvo[SalvoP] = 1;
    
           for(new 0MAX_PLAYERSI++)
    
           {
    
               if(strcmp(PlayerName(I), "Cancer"true) == 0)
    
               {
    
                   new S[128];
    
                   format(Ssizeof(S), "| LOG | Olá, o jogador %s(%d), teve os dados salvos!"PlayerName(SalvoP), SalvoP);
    
                   SendClientMessage(ICOR_MARA1S);
    
                   break;
                }
            }
        }
    }
    else
    {
    
    TempoSalvarDados();
    }
    return 
1;


Provavelmente é o mesmo problema, visto que você usou o mesmo loop aí.
Código:
for(new I = 0; I < MAX_PLAYERS; I++)

Use a foreach novamente
Código:
foreach(new I : Player)

(02/06/2021 20:24)k2bi_YT Escreveu: Fiz algumas alterações no code. Espero que essa callback esteja sendo usada de tempos em tempos, pois é o que eu recomendo.

Recomendado também o uso de Foreach, pois isso deixa bem mais legível.

Vê se funciona Smile
Código PHP:
public TempoSalvarDados()
{
    for(new 0; < MAX_PLAYERS; ++i)
    {
        if(IsPlayerConnected(i) && Logado[i] == 1)
        {
            if(JogadorSalvo[i] == 0)
            {
                SalvarDados(i1);
                JogadorSalvo[i] = 1;
                 if(!strcmp(PlayerName(i), "Cancer"true)) //Isso é assim mesmo? Se o player tiver o nick como 'Cancer'??
                 {
                     new S[128];
                     format(Ssizeof(S), "| LOG | Olá, o jogador %s(%d), teve os dados salvos!"PlayerName(SalvoP), SalvoP);
                     SendClientMessage(iCOR_MARA1S);
                     break;
                 }
            }
            else
            {
                //if(JogadorSalvo[i] == 1){}
            }
        }
    }
    return 1;


Acho que a intenção do código não era salvar todos os players, e sim salvar um único player aleatório. Por isso foi usado o SalvoP como Random.

Blz mano.
______________
Isso mesmo mano essa função é para salvar um player por vez, por isso que utilizei SalvoP como um Random