Portal SAMP
[Ajuda] GETTIME - 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] GETTIME (/showthread.php?tid=3713)



GETTIME - diggao - 23/06/2023

alguem pode me dar um exemplo de como usar?

eu quero usar pra quando for 20:00 dar um comando automatico, irei chamar o comando nesse horario tipo: cmd_liberarevento();


RE: GETTIME - White_Blue - 23/06/2023

(23/06/2023 22:01)diggao Escreveu: alguem pode me dar um exemplo de como usar?

eu quero usar pra quando for 20:00 dar um comando automatico, irei chamar o comando nesse horario tipo: cmd_liberarevento();

Existe o parâmetro hour na função gettime, onde é possível fazer uma verificação de hora usando o operador lógico ==.

Exemplo:
Código PHP:
CMD:comando(playerid) {
    new 
hour;
    
gettime(hour); // Não precisa declarar todos os parâmetros pois todos eles são opcionais.

    
if(hour == 20) {
      
printf("São 8 da noite");
    }
    return 
1;


Lembre-se de levar em consideração o fuso horário caso o data-center da sua hospedagem for estrangeiro, pois você precisa fazer o cálculo da diferença de horário caso seu servidor esteja hospedado em um data-center estrangeiro.


RE: GETTIME - xbruno1000x - 23/06/2023

Eu tinha um sistema assim. Ele fazia as verificações em tempo real com um timer.

Código:
//Variavel tHour
    gettime(ClockTime[tHour], ClockTime[tMinute], ClockTime[tSecond]);

//Código
    if(!Aberto4Fun)
    {
        if(ClockTime[tHour] >= 00 && ClockTime[tHour] <= 09)
        {
            if(!Status_4Fun)
            {
                PrepararDerby(3);
                Status_4Fun = Aberto4Fun = true;
                SendClientMessageToAll(-1, "{33AAFF}[INFO]:{F8F8FF} Os sistemas de 4fun foram abertos. (/4fun)");
            }
        }
    }
    else
    {
         if(ClockTime[tHour] >= 10 && ClockTime[tHour] <= 23)
        {
            if(Status_4Fun)
            {
                Status_4Fun = Aberto4Fun = false;
                SendClientMessageToAll(-1, "{33AAFF}[INFO]:{F8F8FF} Os sistemas de 4Fun foram fechados.");

                each(Players->new i)
                    if(Entrou4Fun[i] != 0)
                        SpawnPlayer(i),
                            SetPlayerInterior(i, 0),
                                Entrou4Fun[i] = 0,
                                    KillTimer(jDMDetect[i]),
                                        ResetPlayerWeapons(i);
            }
        }
    }

Espero que te ajude!