SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 02/06/2020, 01:12 AM   #1
MasterWinX
Big Clucker
 
MasterWinX's Avatar
 
Join Date: Mar 2019
Location: San Fierro
Posts: 94
Reputation: 1
Question Converter Tempo

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!
__________________
MasterWinX is offline   Reply With Quote
Old 02/06/2020, 01:17 AM   #2
k2bi
Big Clucker
 
k2bi's Avatar
 
Join Date: Sep 2017
Location: Novo Horizonte - SP
Posts: 186
Reputation: 5
Default Re: Converter Tempo

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;

k2bi is offline   Reply With Quote
Old 02/06/2020, 01:23 AM   #3
MasterWinX
Big Clucker
 
MasterWinX's Avatar
 
Join Date: Mar 2019
Location: San Fierro
Posts: 94
Reputation: 1
Default Re: Converter Tempo

não é bem para converter os segundos e sim o "dia"
__________________
MasterWinX is offline   Reply With Quote
Old 02/06/2020, 01:25 AM   #4
darkxdll
High-roller
 
darkxdll's Avatar
 
Join Date: Jul 2012
Location: C:\Windows\DLLs
Posts: 1,634
Reputation: 89
Default Re: Converter Tempo

https://forum.sa-mp.com/showthread.php?t=583208&page=2

o n0minal postou algo semelhante, de uma lida neste tópico.
darkxdll is offline   Reply With Quote
Old 02/06/2020, 01:48 AM   #5
MasterWinX
Big Clucker
 
MasterWinX's Avatar
 
Join Date: Mar 2019
Location: San Fierro
Posts: 94
Reputation: 1
Default Re: Converter Tempo

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
__________________
MasterWinX is offline   Reply With Quote
Old 02/06/2020, 08:24 PM   #6
Locky_
High-roller
 
Locky_'s Avatar
 
Join Date: Jul 2012
Posts: 1,605
Reputation: 338
Default Re: Converter Tempo

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.
Locky_ is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Como fazer para uma ação ser repetida de tempo em tempo BrunoSayden177 Português/Portuguese 4 18/10/2018 01:38 AM
MTA DM map converter Bier Scripting Help 1 26/01/2018 10:24 PM
[Ajuda] converter tempo waaT Português/Portuguese 3 14/07/2015 01:45 AM
[Ajuda] Tirando o tempo entre empregos e colocando level de tempo costadd Português/Portuguese 4 04/10/2013 02:12 PM
[Ajuda] Respeito de tempo em tempo FPB_Lipos Português/Portuguese 4 13/12/2012 09:13 PM


All times are GMT. The time now is 03:44 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.