[Ajuda] Ban bugado..
#1

ola. bom, como diz o titulo meu /ban ta bugado e.e
pawn Код:
new AccBan[256];

                    new ano, mes, dia;
                    new hora,minuto,segundo;
                    gettime(hora,minuto,segundo);
                    getdate(ano, mes, dia);

                    new diasban = dia + 30;
                    new mesban = mes;
                    if(diasban > 28)
                    {
                        diasban -= 28;
                        mesban += 1;
                    }
bom, quando chega no mes 12, ele bane o kra por 30 dias.. so que fica 18/13/2015 '-------'
queria por pra banir e no caso zerar, ir pro mes 18/01/2016

se alguem puder ajudar, agradeзo .
Reply
#2

Vocк nгo precisa de tudo isso, vocк poderia usar apenas gettime.

https://sampforum.blast.hk/showthread.php?tid=254915

Quote:
Originally Posted by __
Посмотреть сообщение
Some useful calculations
Add these on to gettime() to calculate the appropriate times.

1 minute (60 seconds) is 60 * 1 = 60
2 minutes (120 seconds) is 60 * 2 = 120

1 hour (60 minutes) is 60 * 60 = 3600
2 hours (120 minutes) is 60 * 120 = 7200

1 day (24 hours) is 60 * 60 * 24 = 86400
2 days (48 hours) is 60 * 60 * 48 = 172800

1 week (7 days) is 60 * 60 * 24 * 7 = 604800
2 weeks (14 days) is 60 * 60 * 24 * 14 = 1209600

1 month (30 days) is 60 * 60 * 24 * 30 = 2592000
2 months (60 days) is 60 * 60 * 24 * 60 = 5184000

1 year (365 days) is 60 * 60 * 24 * 365 = 31536000
2 years (730 days) is 60 * 60 * 24 * 730 = 63072000

An example:
pawn Код:
new
   iTime = gettime() + 5184000; // 2 months.
Reply
#3

bah, nem precisei disso tudo, dei uma pensada a mais, e puis uma if..

pawn Код:
if(mesban == 12){ mesban = 1; }
e funciou.. valeu ai.
Reply
#4

De qualquer forma, vocк poderia simplificar seu sistema usando:

Tempo do banimento (em meses): 1
Data do banimento: gettime()
Data do desbanimento: Data do banimento + (60(segundos) * 60(minutos) * 24(horas) * 7(dias) * Tempo do Banimento)
Checando se o ban expirou: if(gettime() >= Data do desbanimento) Desbanir();

Vocк poderia apenas salvar a data do desbanimento (uma simples int) ao inves de salvar o ano, mes, dia, hora, minuto e segundo.

A diferenзa de velocidade nesses sistemas й irrelevante, mas acho que vocк percebeu a praticidade que й comparar datas usando timestamp.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)