ReWeTo
Компетентный
Всем привет. Как реализовать отображение даты разбана? Сейчас реализовано, если кол-во дней не более 31. То месяц переходит дальше, но если баню на 91.
Дата бана: 27.08.2013
Дата разбана: 87.09.2013.
Т.е. переносится только на след. месяц.
Дата бана: 27.08.2013
Дата разбана: 87.09.2013.
Т.е. переносится только на след. месяц.
PHP:
stock BannedTime(playerid, day, admin[], reason[])// Баним игрока
{
new ip[32], name[24], query[256], mysqlname[24], days, month, year, date[56], unbane[100], mysqlip[32], mysqladmin[28], mysqlreason[50];
GetPlayerIp(playerid, ip, sizeof(ip)); GetPlayerName(playerid, name, 24);
mysql_real_escape_string(name, mysqlname); // name
mysql_real_escape_string(ip, mysqlip); // ip
mysql_real_escape_string(admin, mysqladmin); // admin name
mysql_real_escape_string(reason, mysqlreason); // reason
getdate(year,month,days); // real data
format(date, sizeof(date),"%d/%d/%d",days,month,year);
if((day + days) >= 31 && month == 1)
{
format(unbane, sizeof(unbane),"%d/%d/%d",(day+days)-31,(month+1),year);
}
else if((day + days) >= 28 && month == 2)
{
format(unbane, sizeof(unbane),"%d/%d/%d",(day+days)-28,(month+1),year);
}
else if((day + days) >= 30 && month == 3)
{
format(unbane, sizeof(unbane),"%d/%d/%d",(day+days)-30,(month+1),year);
}
else if((day + days) >= 31 && month == 4)
{
format(unbane, sizeof(unbane),"%d/%d/%d",(day+days)-31,(month+1),year);
}
else if((day + days) >= 30 && month == 5)
{
format(unbane, sizeof(unbane),"%d/%d/%d",(day+days)-30,(month+1),year);
}
else if((day + days) >= 31 && month == 6)
{
format(unbane, sizeof(unbane),"%d/%d/%d",(day+days)-31,(month+1),year);
}
else if((day + days) >= 30 && month == 7)
{
format(unbane, sizeof(unbane),"%d/%d/%d",(day+days)-30,(month+1),year);
}
else if((day + days) >= 31 && month == 8)
{
format(unbane, sizeof(unbane),"%d/%d/%d",(day+days)-31,(month+1),year);
}
else if((day + days) >= 30 && month == 9)
{
format(unbane, sizeof(unbane),"%d/%d/%d",(day+days)-30,(month+1),year);
}
else if((day + days) >= 31 && month == 10)
{
format(unbane, sizeof(unbane),"%d/%d/%d",(day+days)-31,(month+1),year);
}
else if((day + days) >= 30 && month == 11)
{
format(unbane, sizeof(unbane),"%d/%d/%d",(day+days)-30,(month+1),year);
}
else if((day + days) >= 31 && month == 12)
{
month = 1;
format(unbane, sizeof(unbane),"%d/%d/%d",(day+days)-31,month,(year+1));
}
else if(day <= 31)
{
format(unbane, sizeof(unbane),"%d/%d/%d",(day+days), month, year);
}
format(query,sizeof(query),"INSERT INTO `Banned` (`DateBan`, `DateUnban`, `Nickname`, `IP`, `Admin`, `Reason`) VALUES ('%s', '%s', '%s', '%s', '%s', '%s')",date, unbane, mysqlname, mysqlip, mysqladmin, mysqlreason);
mysql_query(query);
mysql_free_result(); new string[256];
format(string, sizeof(string),"{FFFFFF}Вы были забанены на сервере.\n\n\nАдминистратор: %s\nПричина: %s\nДата разбана: %s.", admin, reason, unbane);
ShowPlayerDialog(playerid,999,DIALOG_STYLE_MSGBOX,"{33CCFF}BANNED",string,"Enter","Exit");
//GKick(playerid);
}
