08.11.2011, 09:21
Now i have made my own ban checking but i dont think this will be effective
Yeah it will work but when he/she change name he/she can now join the server
again because i use this
Now i also want to check the IP too heres my command of ban
i also want when you edit the file of player, banned category
it will ban the ip too
Heres my code of Ban
then heres my player file stats:
Please help
Yeah it will work but when he/she change name he/she can now join the server
again because i use this
pawn Код:
if(PlayerInfo[playerid][pBanned] == 1)
{
//Message here blahblahblah
}
i also want when you edit the file of player, banned category
it will ban the ip too
Heres my code of Ban
pawn Код:
CMD:ban(playerid, params[])
{
new pid;
new ip[128];
if(PlayerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid))
{
if(sscanf(params, "us[128]", pid, params[2])) return SendClientMessage(playerid,COLOR_RED, "USAGE: /ban <playerid/name> <reason>");
if(pid == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED, "ERROR: Player is not connected!");
if(pid == playerid) return SendClientMessage(playerid,COLOR_RED, "ERROR: You cant ban yourself!");
new adminname[MAX_PLAYER_NAME], paramname[MAX_PLAYER_NAME], string[180];
new year,month,day; getdate(year, month, day);
new hour,minute,second; gettime(hour,minute,second);
GetPlayerName(pid, paramname, sizeof(paramname));
GetPlayerName(playerid, adminname, sizeof(adminname));
format(string, sizeof(string), "Administrator %s has ban %s <Reason: %s> <Date: %d/%d/%d> <Time: %d:%d>",adminname,paramname, params[2],month,day,year,hour,minute);
SendClientMessageToAll(COLOR_RED, string);
SaveIn("BanLog",string);
format(string, sizeof(string), "You have been ban by Administrator %s <Reason: %s>", paramname, params[2]);
SendClientMessage(pid,COLOR_RED, string);
format(string, sizeof(string), ""red"Administrator Bans You: %s\nTime: %d:%d\nDate: %d/%d/%d\nReason: %n\nNote:"white"If you are mistakely get banned go to our forums at [url]www.server.com\nand[/url] make unban appeal", adminname, params[2],hour,minute,month,day,year,params[2]);
ShowPlayerDialog(pid,453, DIALOG_STYLE_MSGBOX,""white"Banned Info:",string,"Ok","");
SendClientMessage(pid,COLOR_WHITE, "==============================================");
format(string, sizeof(string), "You have been ban by Administrator %s <Reason: %s>", paramname, params[2]);
SendClientMessage(pid,COLOR_RED, string);
SendClientMessage(pid,COLOR_RED, "Make unban appeal at our forums. www.server.com");
SendClientMessage(pid,COLOR_WHITE, "==============================================");
format(string, sizeof(string), "You ban %s <Reason: %s>", paramname, params[2]);
SendClientMessage(playerid,COLOR_RED, string);
Ban(pid);
format(ip,128,"%s**",ip);
format(ip,128,"banip %s",params[2]);
SendRconCommand(ip);
new INI:File = INI_Open(UserPath(playerid));
PlayerInfo[pid][pBanned] = 1;
INI_WriteInt(File,"Banned",1);
INI_Close(File);
format(string,sizeof(string),"Administrator %s has banned %s",adminname,paramname);
SendToAdmins(COLOR_GREY,string);
format(string, sizeof(string), "Administrator %s has banned %s <Reason:%s>",adminname,paramname,params[2]);
printf(string);
}
else return SendClientMessage(playerid,COLOR_RED, "ERROR: You must be Administrator Level 3 to use this command");
return 1;
}
Код:
[data] Password = 187367946 Cash = 999999990 Score = 99810 Admin = 10 Banned = 1 //Heres the part i want to check the ip too Kills = 5981 //the IP checking would be here if needed Deaths = 8