SA-MP Forums Archive
[Pedido] Converter Tempo - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Pedido] Converter Tempo (/showthread.php?tid=676209)



Converter Tempo - MasterWinX - 02.06.2020

Estou procurando um cуdigo que converte os dias para: 'dias, hora, minuto e segundo'

Exemplo: tenho sistema de vip e falta 2 dias para acabar ai converte para 2 dias e a hora o minuto e etc.

Agradeзo a quem ajudar!


Re: Converter Tempo - k2bi - 02.06.2020

Esse sistema nгo й meu, porйm nгo lembro de quem eu peguei.
PHP Code:
ConvertTime(number)
{
    new 
hours 0mins 0secs 0string[100];
    
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(string100"%d dias, %02d:%02d:%02d"dayshoursminssecs);
    }
    else if(
hours 0)
    {
        
format(string100"%02d:%02d:%02d"hoursminssecs);
    }
    else
    {
        
format(string100"%02d:%02d"minssecs);
    }
    return 
string;




Re: Converter Tempo - MasterWinX - 02.06.2020

nгo й bem para converter os segundos e sim o "dia"


Re: Converter Tempo - darkxdll - 02.06.2020

https://sampforum.blast.hk/showthread.php?tid=583208&page=2

o n0minal postou algo semelhante, de uma lida neste tуpico.


Re: Converter Tempo - MasterWinX - 02.06.2020

tentei assim:

PHP Code:
stock ConvertDay(number)
{
    
number gettime() + (number 86400);
    new 
hours 0mins 0secs 0string[100];
    
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)
    {
        if(
days == 1)
            
format(string100"%d dia, %02d:%02d:%02d"dayshoursminssecs);
        else
              
format(string100"%d dias, %02d:%02d:%02d"dayshoursminssecs);
    }
    else if(
hours 0)
    {
        
format(string100"%02d:%02d:%02d"hoursminssecs);
    }
    else
    {
        
format(string100"%02d:%02d"minssecs);
    }
    return 
string;

e nгo funcionou


Re: Converter Tempo - Locky_ - 02.06.2020

Como й contabilizado o tempo do seu sistema? As vezes hб algum erro neste.

Por exemplo, se quero definir 30 dias de VIP para meu jogador
pawn Code:
MeuTempoVIP[playerid] = gettime() + (86400 * 30);
Agora para saber quanto tempo tenho
pawn Code:
new MeuTempo = MeuTempoVIP[playerid] - gettime(); // Basicamente eu obtenho o tempo se for maior que gettime, se for menor, jб expirou.
new Dias, Horas, Minutos, Segundos;
if(MeuTempo >= 86400) // й maior ou igual б 1 dia
{
    Dias = MeuTempo / 86400;
    MeuTempo -= 86400 * Dias;
}
if(MeuTempo >= 3600) // maior ou igual б 1 hora
{
    Horas = MeuTempo / 3600;
    MeuTempo -= 3600 * Horas;
}
if(MeuTempo >= 60) // maior ou igual a 1 minuto
{
    Minutos = MeuTempo / 60;
    MeuTempo -= 60 * Minutos;
}
Segundos = MeuTempo;
new MsgTempo[30];
format(MsgTempo, 30 ,"%02d dias %02d horas %02d minutos e %02d segundos", Dias, Horas, Minutos, Segundos);
Faзa a adaptaзгo conforme desejar. A lуgica basicamente й esta. Hб outras formas de exibir o tempo (no formato de data tambйm), para isto, deverб utilizar include ou plugins para exibir por exemplo que o vip de tal jogador expira em 02/06/2020 por exemplo.