15.05.2016, 16:07
ok im trying to make a tempban and when ever i type /tempban [playerid][time][reason], it kicks the player but the player can still reconnect as if they werent ban using the same name and ip.
pawn Код:
if(IsPlayerAdmin(playerid) || pInfo[playerid][aAdmin] >= 1)
{
new id, reason[50];
new year,month,day,hour,minuite,second,Hours,BanTime,d,h,m,Temp;
if(sscanf(params, "uis[50]", id, Hours, reason)) return SendClientMessage(playerid, red, "Usage: /tempban <Player ID> <Hours> <Reason>");
{
getdate(year, month, day);
gettime(hour,minuite,second);
BanTime = gettime() + (Hours*60*60);
if(pInfo[id][Logged] == 1)
{
format(UserPath(playerid), 100, PATH, GetName(id));
new INI:ACCOUNT = INI_Open(UserPath(playerid));
INI_WriteInt(ACCOUNT, "TempBan", BanTime);
INI_Close(ACCOUNT);
}
Temp = BanTime - gettime();
format(astring,sizeof(astring),"%s has been Temporarily Banned by An Administrator ,for %s | Reason: %s <Date: %d/%d/%d> <Time: %d:%d>",GetName(id),ConvertTime(Temp,m,h,d),reason,day,month,year,hour,minuite);
SendClientMessageToAll(red,astring);
Temp = BanTime - gettime();
format(anstring,sizeof(anstring),"{37C8C8}Administrator %s has Temp banned you for %s REASON |: \"%s\"\n\n", GetName(playerid),ConvertTime(Temp,m,h,d),reason);
ShowPlayerDialog(id,DIATEMPBAN,DIALOG_STYLE_MSGBOX,"You are Temporarily BANNED",anstring,"OK","");
format(astring,sizeof(astring),"[TEMP BAN] %s has Temporarily banned %s for %s | reason: ",GetName(playerid),GetName(id),ConvertTime(BanTime,m,h,d),reason);
WriteToLog(astring,"Bans");
CommandToAdmins(playerid,"tempban");
return SetTimerEx("KickPlayer",100,false,"d", id);
}
}
else return ShowMessage(playerid, red, 1);
}