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


Como resolver isso?? - LeleziiN - 02/06/2021

Bom galera eu estou usando o plugin CrashDetect no servidor e quando eu abror o samp.server.exe aparece isso
Código:
[debug] Run time error 4: "Array index out of bounds"
[debug]  Attempted to read/write array element at negative index -1
[debug] AMX backtrace:
[debug] #0 0033ea9c in public Taxi () from GM.amx

a Callback

Código PHP:
public Taxi()
{
    for(new 
0MAX_PLAYERS++)
    {
        if(
Taximetro[I][0] == 1)
        {
            if(
GetPlayerMoneyEx(I) > PrecoCorrida[I] + 3)
            {
            
    new string[128];
                
PrecoCorrida[I] = PrecoCorrida[I] + 3;
                
format(stringsizeof(string), "~ O taxímetro mostra: $%d"PrecoCorrida[I]);
                
SendClientMessage(Iverdestring);
                
SendClientMessage(Taximetro[I][1], verdestring);
            }
            if(
GetPlayerMoneyEx(I) < PrecoCorrida[I] + 3)
            {
                
SendClientMessage(ICOR_MARA2"| INFO | Você não tem mais dinheiro para o taxi!");
                
SendClientMessage(Taximetro[I][1], COR_MARA2"| INFO | Seu passageiro ficou sem dinheiro!");
                
GivePlayerMoneyEx(IPrecoCorrida[I]);
                
GivePlayerMoneyEx(Taximetro[I][1], PrecoCorrida[I]);
                
RemovePlayerFromVehicle(I);
                
PrecoCorrida[I] = 0;
                
Taximetro[I][1] = 0;
                
Taximetro[I][0] = 0;
            }
        }
        if(
NoTelefone[I] != -1)
        {
        
    if(!PlayerToPoint(RadioICoordenadas[GetHouseOwner(I)][0], Coordenadas[GetHouseOwner(I)][1], Coordenadas[GetHouseOwner(I)][2]))
            {
        
        SendClientMessage(ICOR_ORKUT"| INFO | A chamada foi perdida porque você foi muito longe do ícone de sua casa!");
        
        CmdDesligar(I);
        
    }
        }
    }
    return 
1;




RE: Como resolver isso?? - xbruno1000x - 02/06/2021

Código:
for(new I = 0; I < MAX_PLAYERS; I ++)

Creio que seja esse looping o problema. Por que você não utiliza a foreach?

Código:
foreach(new I : Player)



RE: Como resolver isso?? - ProKillerPa - 02/06/2021

Mande como voce declarou 'PrecoCorrida' e 'Taximetro'


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

(02/06/2021 11:22)xbruno1000x Escreveu:
Código:
for(new I = 0; I < MAX_PLAYERS; I ++)

Creio que seja esse looping o problema. Por que você não utiliza a foreach?

Código:
foreach(new I : Player)

Vlw mano funcionou aqui


RE: Como resolver isso?? - uyk - 02/06/2021

Acabei pegando essa callback para fazer um sistema aqui, gostei bastante, porém tento adicionar o "foreach(new I : Player)" como o Bruno recomendou, no entanto dá dois erros:

Código PHP:
error 017undefined symbol "foreach"
error 017undefined symbol "I" 



RE: Como resolver isso?? - xbruno1000x - 02/06/2021

(02/06/2021 17:18)uyk Escreveu: Acabei pegando essa callback para fazer um sistema aqui, gostei bastante, porém tento adicionar o "foreach(new I : Player)" como o Bruno recomendou, no entanto dá dois erros:

Código PHP:
error 017undefined symbol "foreach"
error 017undefined symbol "I" 

Isso se deve a necessidade da include foreach ou y_foreach.


RE: Como resolver isso?? - uyk - 02/06/2021

(02/06/2021 18:05)xbruno1000x Escreveu:
(02/06/2021 17:18)uyk Escreveu: Acabei pegando essa callback para fazer um sistema aqui, gostei bastante, porém tento adicionar o "foreach(new I : Player)" como o Bruno recomendou, no entanto dá dois erros:

Código PHP:
error 017undefined symbol "foreach"
error 017undefined symbol "I" 

Isso se deve a necessidade da include foreach ou y_foreach.
Mas a include já está definida e deu este erro


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

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;




RE: Como resolver isso?? - k2bi_YT - 02/06/2021

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;




RE: Como resolver isso?? - xbruno1000x - 03/06/2021

(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.