PDA

Просмотр полной версии : [Вопрос] /ban



Smike#
30.06.2014, 21:17
Помогите сделать систему бана по дням, чтобы самому выбирать

else if(strcmp(cmd, "/ban", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
tmp = strcharsplit(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_STANDART, "{BBBBBB}Введите: /ban [id] [причина]");
giveplayerid = ReturnUser(tmp);
new chislo;
if(AntiBan[playerid] >= 60) { SendClientMessage(playerid,COLOR_GREY,"[Анти-перебан] Ваши адм действия заблокированы на 3 минуты."); AntiBan[playerid] = 180; return true; }
if(anti[playerid] == 1) return SendClientMessage(playerid, COLOR_LIGHTRED, "[Анти-Наказание] Вы словили блок на наказание сроком 5 минут.");
if (PlayerInfo[playerid][pAdmin] >= 2)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[giveplayerid][pAdmin] > 0 && PlayerInfo[playerid][pAdmin] != 12) return SendClientMessage(playerid, COLOR_GRAD2, "Администратор не может быть забанен!");
new ip[15],stringr[64];
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(IsIpFound(result))
{
PlayerInfo[playerid][pMuteTime] = 10800;
PlayerInfo[playerid][pMuted] = 1;
format(stringer, sizeof(stringer), "%s: %s",PlayerInfo[playerid][pNames],result);
ABroadCast(COLOR_LIGHTRED,stringer,1);
GetPlayerIp(playerid,ip,14);
format(stringer, sizeof(stringer), "- ID: %d | IP: [%s]",playerid,ip);
ABroadCast(COLOR_LIGHTRED,stringer,1);
SendMes(playerid, COLOR_LIGHTRED, "[Security] Вы получили бан чата на 3 часа /mm - репорт");
SetPlayerChatBubble(playerid,"заткнут(а)",COLOR_PURPLE,30.0,10000);
return true;
}
if(!strlen(result)) return SendClientMessage(playerid, COLOR_STANDART, "{BBBBBB}Введите: /ban [id] [причина]");
switch(PlayerInfo[giveplayerid][pBanKol])
{
case 0: chislo = 1;
case 1: chislo = 3;
case 2: chislo = 7;
case 3: chislo = 14;
case 4: chislo = 30;
default: chislo = 30;
}
if(strfind(result, "1", true) == 0)
{
format(stringer, sizeof(stringer), "Администратор: %s забанил %s на %d дней. Причина: Читы", PlayerInfo[playerid][pNames], PlayerInfo[giveplayerid][pNames], chislo);
SendClientMessageToAll(COLOR_LIGHTRED, stringer);
format(stringr, sizeof(stringr), "Читы");
}
else if(strfind(result, "2", true) == 0)
{
format(stringer, sizeof(stringer), "Администратор: %s забанил %s на %d дней. Причина: Реклама", PlayerInfo[playerid][pNames], PlayerInfo[giveplayerid][pNames], chislo);
SendClientMessageToAll(COLOR_LIGHTRED, stringer);
format(stringr, sizeof(stringr), "Реклама");
}
else
{
format(stringer, sizeof(stringer), "Администратор: %s забанил %s на %d дней. Причина: %s",PlayerInfo[playerid][pNames], PlayerInfo[giveplayerid][pNames], chislo, (result));
SendClientMessageToAll(COLOR_LIGHTRED,stringer);
format(stringr, sizeof(stringr), "%s",(result));
}
GetPlayerIp(giveplayerid,ip,sizeof(ip));
antiwarn[playerid] += 8;
if(antiwarn[playerid] >= 30 && anti[playerid] == 0) anti[playerid] = 1, antiwarn[playerid] = 300;
new curdate = getdate(year,month,day);
PlayerInfo[giveplayerid][pLocked2] = 1;
PlayerInfo[giveplayerid][pBanKol] ++;
PlayerInfo[giveplayerid][pBanTime1] = curdate+chislo;
PlayerInfo[giveplayerid][pBanData1] = curdate;
getdate(year, month, day);
gettime(hour,minuite,second);
FixHour(hour);
hour = shifthour;
new data2[64];
format(data2, 16, "%d-%d-%d %d:%d",day,month,year,hour,minuite);
AntiBan[playerid] += 30;
format(stringer, sizeof(stringer), "INSERT INTO `banlog` (`Name`, `NameAdmin`, `Day`, `Date`, `Text`) VALUES ('%s','%s','%d','%s','%s')",PlayerInfo[giveplayerid][pNames],PlayerInfo[playerid][pNames],chislo,data2,stringr);
mysql_function_query(connects, stringer, false, "","");
format(stringer, sizeof(stringer), " Nik [%s] R-IP [%s] L-IP [%s] IP [%s]",PlayerInfo[giveplayerid][pNames],PlayerInfo[giveplayerid][pIpReg],PlayerInfo[giveplayerid][pIpReg],ip);
ABroadCast(COLOR_LIGHTRED,stringer,1);
KickEx(giveplayerid);
return true;
}
}
else SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Игрок не найден!");
}
else SendClientMessage(playerid, COLOR_GREY, "[Ошибка] У вас нет прав!");
}
return true;
}