SA-MP Forums Archive
[Ajuda] getdate + x dias - 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] getdate + x dias (/showthread.php?tid=576603)



getdate + x dias - Ever_SH - 05.06.2015

Estou tentando fazer um sistema de banimento, quero salvar em uma string o dia em que o player serб desbanido.
Mas nгo estou conseguindo fazer essa parte. Quero fazer da seguinte forma: Dia/Mкs/Ano, eu sei pegar a data atual, mas quero saber como somar o nъmero de dias do ban a essa data.
Exemplo:

Eu bani o player hoje(05/06/2015), o banimento foi de 30 dias, ai quero saber que dia vai ser o desban, teria que ser 05/07/2015, mas o ъnico jeito que sei fazer, o resultado daria 35/06/2015.


Re: getdate + x dias - ReyMysterio - 05.06.2015

Й melhor usar gettime. Alйm de ser mais rбpido dб menos trabalho.


Re: getdate + x dias - zSuYaNw - 05.06.2015

Vocк pode usar timestamp: https://sampforum.blast.hk/showthread.php?tid=254915


Re: getdate + x dias - n0minal - 05.06.2015

Uso este sistema no meu servidor (baseado em MySQL R39+), vou parar de usar isso e comeзar a usar o plugin CTime do Ryderґ...

De qualquer forma, vocк pode usar como uma base caso nгo queira usar o plugin CTime Library.

Код:
#define DaysToSeconds(%0)	(%0 * 86400)

GetDateFromTime(timestamp, string[32])
{
	new query[128];
	mysql_format(MySQL, query, 128, "SELECT FROM_UNIXTIME(%d,'%d/%m/%y')", timestamp);
	new Cache:mysql_query(MySQL, query, true);
	cache_get_row(0, 0, string);
	return 1;
}
Exemplo de uso:

Код:
CMD:ban(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return 0; new player, days; if(!sscanf(params, "ud", player, days)) return SendClientMessage(playerid, -1, "Uso correto: /ban <playerid/nome><dias> new unbandate = DaysToSeconds(days) + gettime()); //aqui vocк salva o unbandate, player etc...
}
Код:
public OnPlayerConnect(playerid)
{
//aqui vocк checa se o player estб banido. {
new string[128]; format(string, 128, "Vocк estб banido atй o dia %s", GetDateFromTime(VariavelQueVocкSalvouOUnbanDate)); SendClientMessage(playerid, -1, string)
return Kick(playerid); }
}



Re: getdate + x dias - ViniBorn - 05.06.2015

Uma soluзгo bem simples й utilizar da seguinte forma : getdate();

A funзгo dessa forma te mostra a quantidade de dias desde o inнcio do ano.
Ex: Se hoje getdate = 10, amanhг serб 11.

Com algumas modificaзхes vocк terб um sistema 100% funcional.
PS: Dб pra criar uma funзгo que transforme esse getdate em DD/MM/AAAA, para que vocк possa exibir aos jogadores uma data, em vez de um nъmero como o citado acima.


Re: getdate + x dias - n0minal - 05.06.2015

Quote:
Originally Posted by ViniBorn
Посмотреть сообщение
Uma soluзгo bem simples й utilizar da seguinte forma : getdate();

A funзгo dessa forma te mostra a quantidade de dias desde o inнcio do ano.
Ex: Se hoje getdate = 10, amanhг serб 11.

Com algumas modificaзхes vocк terб um sistema 100% funcional.
PS: Dб pra criar uma funзгo que transforme esse getdate em DD/MM/AAAA, para que vocк possa exibir aos jogadores uma data, em vez de um nъmero como o citado acima.
Com timestamp o MySQL automaticamente retorna a string formatada em dia/mкs/ano como pedi no formato da query 'd/m/y':

Exemplo do meu script como fica (no padlock/cadeado):




Re: getdate + x dias - ipsLuan - 05.06.2015

Tem alguns filterscripts, basta procurar que vocк acha uma base...
http://forum.sa-mp.com/showthread.ph...22#post1205522
https://sampforum.blast.hk/showthread.php?tid=477391
Este ъltimo ai eu recomendo.


Re: getdate + x dias - Ever_SH - 05.06.2015

@ViniBorn
Isso nгo ia dar problema se desse ban em alguem no ultimo dia do ano?

@ipsLeon
Desculpe, nгo consegui entender direito o cуdigo

@Tуpico
Entrei no link do zSuYaNw e vi sobre Unix timestamps, ao pesquisar no ****** sobre isso para tentar achar um tуpico em portuguкs, achei isso: https://sampforum.blast.hk/showthread.php?tid=347605

Agora o sistema funciona: http://i.imgur.com/j4iTasf.jpg

Obrigado a todos