Laima2012
Умник
Добрый день ув.Пользователи p-i
У меня в моде бан по дням.Например баню.И могу зайти под тем же ником и ничего.Как зделать что-бы человек не мог зайти?
Код:
if(strcmp(cmd, "/ban", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 2)
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "{22ff00}» {bbbbbb}Введите{FFFFFF}: /ban [id] [Количество дней] [причина]");
return true; }
if(GetPVarInt(playerid,"ANTIFLOOD_ABAN") > gettime()) return SendClientMessage(playerid,COLOR_GREY,"Пожалуйста подождите..");
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
tmp = strtok(cmdtext, idx);
if (!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "{22ff00}» {bbbbbb}Введите{FFFFFF}: /ban [id] [Количество дней] [причина]");
new days = strval(tmp);
new reason[128];
new ip[15];
GetPlayerIp(giveplayerid,ip,15);
reason = bigstr(cmdtext, idx);
if (!strlen(reason)) return SendClientMessage(playerid, COLOR_WHITE, "{22ff00}» {bbbbbb}Введите{FFFFFF}: /ban [id] [Количество дней] [причина]");
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
new year1, month1, day1, hour1, minute1, second1;
getdate(year1, month1, day1);
gettime(hour1, minute1, second1);
new year,month,day;
getdate(year, month, day);
day += days; {
if (day > 31) {
month += 1;
if (month > 12) {
year += 1;
while(day > 31) day -= 31; }
else while(day > 31) day -= 31;}} {
if (day > 30) {
month += 1;
if (month > 12) {
year += 1;
while(day > 30) day -= 30; }
else while(day > 30) day -= 30;}} {
if (day > 29) {
month += 1;
if (month > 12) {
year += 1;
while(day > 29) day -= 29; }
else while(day > 29) day -= 29;}} {
if (day > 28) {
month += 1;
if (month > 12) {
year += 1;
while(day > 28) day -= 28; }
else while(day > 28) day -= 28;}}
format(string, sizeof(string), "users/%s.ini",giveplayer);
new file = ini_openFile(string);
if(file < 0) print("нету файла");
else
{
ini_getString(file,"pIp",string);
ini_getString(file,"pIpReg",string);
ini_closeFile(file);
PlayerInfo[playerid][pAban] += 1;
format(stringbmp,500,"{ffffff}Администратор {ffa500}%s {ffffff}забанил {ffa500}%s {ffffff}на {ffa500}%d {ffffff}дней, причина: {ffa500}%s",sendername,giveplayer,days,(reason));
SendClientMessageToAll(-1,stringbmp);
format(stringbmp,500,"{ffffff}Продолжительность: {ffa500}%d {ffffff}| IP: [{ffa500}%s{ffffff}] | Дата разбана:({ffa500}%d.%d.%d{ffffff})",days, ip, day, month, year);
ABroadCast(-1,stringbmp,1);
format(stringbmp, sizeof(stringbmp), "banlog/%s.ini", giveplayer);
dini_Create(stringbmp);
new coordsstring1[512];
new msg1[] = "{ffff00}Ваш аккаунт заблокирован\n\n{ffffff}Администратор: {1e90ff}%s\n{ffffff}Срок: {1e90ff}%d {ffffff}дней\nПричина: {1e90ff}%s";
format(coordsstring1, sizeof coordsstring1, msg1, sendername,days,(reason));
SPD(giveplayerid,9999,DIALOG_STYLE_MSGBOX,"Блокировка аккаунта",coordsstring1,"Скрыть","");
SetPVarInt(playerid,"ANTIFLOOD_ABAN",gettime()+1);
GKick(giveplayerid);
}
}
else { SendClientMessage(playerid, COLOR_GREY, "{F70000}x {ADAEAD}Игрок не найден!"); }
}
else { SendClientMessage(playerid, COLOR_GREY, "{F70000}x {ADAEAD}Вы не уполномочены использовать эту команду!"); return true; }
}
return true;
}
