Portal SAMP
[Ajuda] erro no gm - 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] erro no gm (/showthread.php?tid=2041)

Páginas: 1 2


erro no gm - Hiagou - 16/01/2022

to com esse errro chatinho, alguem pode ajudar

Código:
(24525) : error 035: argument type mismatch (argument 3)


Código:
forward AtualizarRank();
public AtualizarRank()
{
for(new i = 0; i <= HighestID; i ++)
{
if(IsPlayerConnected(i))
{
checkrank("Score",             getPName(i), GetPlayerScore(i));
checkrank("Kill",                 getPName(i), Player[i][pMatou]);
checkrank("Money",             getPName(i), GetPlayerMoney(i));
checkrank("DueloW",                getPName(i), wDuelos[i]);
checkrank("DueloL",                getPName(i), lDuelos[i]);
checkrank("Procurado",            getPName(i), Player[i][pProcurado]);
checkrank("Hits",             getPName(i), Player[i][pRPTLidos]);
checkrank("MTXHits",                     getPName(i), Player[i][pHitsMTX]);
checkrank("Vips",                  getPName(i), Convert(Player[i][VIPExpira]); obs: o erro está nessa linha
}
}

return 1;
}



RE: erro no gm - k2bi_YT - 16/01/2022

Só faltava um ) antes do > ; <

Dei uma alterada no seu Loop, mas eu recomendo usar a include Foreach, ainda mais quando for fazer loop em players.

Código PHP:
forward AtualizarRank();
public 
AtualizarRank()
{
    for(new 0maxplayer GetPlayerPoolSize(); <= maxplayer; ++i)
    {
        if(IsPlayerConnected(i))
        {
            checkrank("Score",             getPName(i), GetPlayerScore(i));
            checkrank("Kill",                 getPName(i), Player[i][pMatou]);
            checkrank("Money",             getPName(i), GetPlayerMoney(i));
            checkrank("DueloW",                getPName(i), wDuelos[i]);
            checkrank("DueloL",                getPName(i), lDuelos[i]);
            checkrank("Procurado",            getPName(i), Player[i][pProcurado]);
            checkrank("Hits",             getPName(i), Player[i][pRPTLidos]);
            checkrank("MTXHits",                     getPName(i), Player[i][pHitsMTX]);
            checkrank("Vips",                  getPName(i), Convert(Player[i][VIPExpira]));
        }
    }
    return 1;




RE: erro no gm - Hiagou - 16/01/2022

o erro continua persistindo meu amigo.. quando eu tiro o Convert( , ai não da mais erro porque sera ?


RE: erro no gm - k2bi_YT - 16/01/2022

O problema é nessa função Convert então, talvez ela necessita de mais argumentos, como o próprio erro diz.

Verifique se você esta usando corretamente essa função. Deve conter algo mais nessa função.

Exemplo:

Código PHP:
Convert(Valor, const text[]) 


No caso é preciso de 2 argumentos, o valor e alguma palavra

Exemplo de uso:
Código PHP:
Convert(500"Essa é a minha conversao"); 

Caso queira mandar essa função para ver como deve ser usada, será mais facil de te ajudar


RE: erro no gm - Hiagou - 16/01/2022

Código:
Convert(number)
{
new hours = 0, mins = 0, secs = 0, string[128];
hours = floatround(number / 3600);
mins = floatround((number / 60) - (hours * 60));
secs = floatround(number - ((hours * 3600) + (mins * 60)));
new days = 0;

if(hours >= 24)
{
days = floatround((hours/24), floatround_floor);
hours = hours % 24;
}

if(days > 0)
{
format(string, 100, "%ddias, %dh %dm e %ds", days, hours, mins, secs);
}
else if(hours > 0)
{
format(string, 100, "%dh %dm e %ds", hours, mins, secs);
}
else
{
format(string, 100, "%dm e %ds", mins, secs);
}
return string;
}



RE: erro no gm - DeviceBlack - 16/01/2022

O caso é bem simples:
O 3° parametro de checkrank espera que retorne um valor inteiro, porem a função Convert esta retornando um valor string


RE: erro no gm - xbruno1000x - 16/01/2022

Isso não vai funcionar. O parâmetro que dá erro é de valores inteiros, a função convert retorna uma string.


RE: erro no gm - Hiagou - 17/01/2022

então no caso eu preciso fazer o que nessa função ?


RE: erro no gm - k2bi_YT - 17/01/2022

Ou você altere a função checkrank para o segundo parametro dele aceitar texto, porém você terá que usar em formato de texto os outros ranks ou você deixa apenas o Player[i][VIPExpira] sem o convert

Tente colocar no segundo parametro um const 2°parametro[]
Exemplo:
Código PHP:
//Aqui é a função checkrank onde é chamado
checkrank(1°params2°params//1-2° params é apenas um exemplo, vai estar outra coisa
//Tente colocar
checkrank(1°params, const 2°params[]) //Deve conter o const antes e esse sinal [] depois 

Não garanto que vai dar certo, mas cada função ao ser criada, saber como você vai querer fazer o uso dela, para retornar inteiros, textos, etc..


RE: erro no gm - Hiagou - 17/01/2022

si eu deixar o "Player[i][VIPExpira]" sem convert ele fica com monte de numeros queria usar o convert pra aparecer os dias,horas,minutos tendeu