09.01.2014, 09:31
Hello I am making a range cmd. It kinda works. Today when I was testing it, I had 2 probs. Problem 1 was that I made a dialog box which will appear to the player being banned. and instead when I range banned someone that dialog box comes to me. Second Problem, When I rangeban someone, The player gets kicked and it says Server closed the connection to that player as usual. But he doesn't get banned he gets kicked. he can easily re join.; So I need help fixing the issue.
Here is my CMD:
Here is my CMD:
pawn Код:
CMD:rangeban(playerid, params[])
{
if(PlayerInfo[playerid][pAdminDuty] == 0) return SendClientMessage(playerid, -1, "You must be on Admin Duty to use this Command!");
if (PlayerInfo[playerid][pAdmin] >= 1338)
{
new Target;
new Reason[100];
if(!sscanf(params, "us[100]", Target,Reason))
{
if(Target == INVALID_PLAYER_ID) return SendClientMessage(playerid,-1,"ERROR: Wrong player ID");
if(Target == playerid) return SendClientMessage(playerid,-1,"ERROR: You cant ban yourself!");
new tname[MAX_PLAYER_NAME];
GetPlayerName(Target,tname,sizeof(tname));
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
new MyString[256];
new TargetString[256];
new rbandate[3];
getdate(rbandate[0], rbandate[1], rbandate[2]);
format(MyString,sizeof(MyString),"You have range banned %s(%d)! (Reason: %s)",tname, Target, Reason);
format(TargetString,sizeof(TargetString),"{FF002B}Range banned by: {FFFFFF}%s\n\n{FF002B}Reason: {FFFFFF}%s\n\n{FF002B}Date: {FFFFFF}%02d/%02d/%04d\n\n{FFFFFF}Press F8 to take a screenshot and use this in unban appeal!", pname, playerid,Reason, rbandate[2], rbandate[1], rbandate[0]);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{FF002B}RANGE BANNED!", TargetString, "OK", "");
SendClientMessage(playerid,-1,MyString);
new AllString[256];
format(AllString,sizeof(AllString),"Administrator %s range banned player %s(%d)! (Reason: %s)",pname,tname,Target,Reason);
SendClientMessageToAll(-1,AllString);
new ip[50];
GetPlayerIp(Target,ip,sizeof(ip));
strdel(ip,strlen(ip)-4,strlen(ip));
format(ip,sizeof(ip),"%s.***",ip);
format(ip,sizeof(ip),"banip %s",ip);
SendRconCommand(ip);
new LogString[256];
format(LogString,sizeof(LogString),"Administrator %s range banned player %s(%d)! (Reason: %s)",pname,tname,ip,Reason);
AddBan(PlayerInfo[MAX_PLAYERS][pIP]);
Log("logs/ban.log", LogString);
Kick(Target);
}
else SendClientMessage(playerid, -1, "USAGE: /rangeban [playerid] [reason]");
}
return 1;
}