[Ajuda] Ban bugado.. - 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: [Ajuda] Ban bugado.. (
/showthread.php?tid=596467)
Ban bugado.. -
fdsda - 18.12.2015
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 .
Re: Ban bugado.. -
Kuddy - 18.12.2015
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.
|
Re: Ban bugado.. -
fdsda - 18.12.2015
bah, nem precisei disso tudo, dei uma pensada a mais, e puis uma if..
pawn Код:
if(mesban == 12){ mesban = 1; }
e funciou.. valeu ai.
Re: Ban bugado.. -
Kuddy - 18.12.2015
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.