Tom_Jeff
Умник
Привет всем, помогите пожалуйста с командой, что в ней не так, после бана человек которого забанили все равно может спокойно зайти на сервер
Вот сама команда
функция проверки бана:
Вот сама команда
PHP:
COMMAND:tban(playerid, params[])
{
if(PlayerLogin[playerid] != 1) return 1;
if(Player[playerid][pAdmin] <= 2) return SendClientMessage(playerid, COLOR_WHITE, "Вам не доступна данная функция");
new message[128], string[260], id, year, month, day, hour, minute, second;
if(sscanf(params,"iiiiiiis[128]", id, year, month, day, hour, minute, second, message)) return SendClientMessage(playerid, 0xFF993300,"[INFO]: {FFFFFF}/tban [ID_Player_Name] [Год] [Месяц] [День] [Час] [Минута] [Секунда] [Причина]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_DARKRED,"Игрока с таким ид нет на сервере");
if(id == 0) return SendClientMessage(playerid, COLOR_DARKRED,"Невозможно!");
format(string,sizeof(string),"[TBAN] {FFFFFF}%s был забанен на время администратором %s, причина: %s",Names(id),Names(playerid),message);
SendClientMessageToAll(0xAA634700,string);
new time;
if(year >= 1) time += year*31536000;
if(month >= 1) time += month*2592000;
if(day >= 1) time += day*86400;
if(hour >= 1) time += hour*3600;
if(minute >= 1) time += minute*60;
if(second) time += second;
format(string, sizeof(string), "Вы были забанены на сервере Axe RP:\nГода: %i\nМесяцы: %i\nДни: %i\nЧасы: %i\nМинуты: %i\nСекунды: %i\nПричина бана: %s\nАдминистратор который вас забанил: %s", year, month, day, hour, minute, second, message, Names(playerid));
ShowPlayerDialog(id, 9999, DIALOG_STYLE_MSGBOX, "{FF8C00}Вы забанены", string, "Выход", "");
time += gettime()+3*3600;
format(string, sizeof(string), "UPDATE `players` SET `BanTime` = '%i',`BanName` = '%s' WHERE `ID` = '%i'", time, Names(playerid), Player[id][pID]);
mysql_query(string);
SaveAccount(id); Kick(id);
return 1;
}
PHP:
function CheckBanStatus(playerid)
{
new query[64], string[350];
format(query, sizeof(query),"SELECT `BanTime` FROM `players` WHERE `ID` = '%i'", Player[playerid][pID]);
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() == 1)
{
new time = mysql_fetch_int()-gettime()-3*3600;
if(time > 0)
{
if(Player[playerid][pBanTime]/31536000 >= 1)
{
new year = time/31556926;
time -= year*31556926;
new month = time/2629743;
time -= month*2629743;
new day = time/86400;
time -= day*86400;
new hour = time/3600;
time -= hour*3600;
new minute = time/60;
time -= minute*60;
format(string,sizeof(string),"Вы были забанены на сервере на:\nГода: %i\nМесяцы: %i\nДни: %i\nЧасы: %i\nМинуты: %i\nСекунды: %i\nАдминистратор который вас забанил: %s",year,month,day,hour,minute,time,Player[playerid][pBanName]);
ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "{FF8C00}Вы забанены", string, "Выход", "");
}
Kick(playerid);
return 0;
}
}
return 1;
}
Последнее редактирование:
