Portal SAMP
[Ajuda] comparador de datas pra vencimentos (vip/ban) - 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] comparador de datas pra vencimentos (vip/ban) (/showthread.php?tid=3788)



comparador de datas pra vencimentos (vip/ban) - AllanSG - 15/07/2023

Olá, estou tentando fazer um sistema de vip e ban onde eu determino os dias, porém não encontrei um jeito bom de fazer isso, alguem sabe algum script q faria o trabalho de comparar datas e setar a data certinha tipo contando hoje + 30 dias = 15/08/2023?

vi alguns sistemas usando getdate()+dias porem se eu colocar em dezembro pra vencer em janeiro o bgl ia bugar pq a contagem de dias do getdate reinicia


RE: comparador de datas pra vencimentos (vip/ban) - Device-Black - 15/07/2023

Utilize gettime() com alguns cálculos...
1 hora tem 3600 segundos, então um dia tem 86400
Entao ...
Código PHP:
Player[playerid][vip_time] = gettime() + (30 86400); // 30 dias

if(Player[playerid][vip_time] < gettime()) {
    
// Retirar o vip


Pra calcular quantos dias faltam, voce pode simplesmente pegar esse valor e fazer uns cálculos...
Código PHP:
new meses Player[playerid][vip_time] / 2592000;
new 
semanas = (Player[playerid][vip_time] - (meses 2592000)) / 604800;
new 
dias = (Player[playerid][vip_time] - ((meses 2592000) + (semanas 604800))) / 86400;

new 
string[0x7F];
format(string0x7F"Faltam: %d meses, %d semanas e %d dias para o seu vip acabar!"mesessemanasdias); 

Mas se quiser apenas usar os dias tipo o getdate, pode fazer um macro
Código PHP:
#define __days (gettime() / 86400)

Player[playerid][vip_date] = __days 30;

if(
Player[playerid][vip_date] < __days) {
    
// Remover o vip