23.11.2013, 08:05
Hello,
Can anyone help me to script a ban/unban offline command?
Can anyone help me to script a ban/unban offline command?
if(strcmp(cmd, "/banaccount", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new string2[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "USAGE: /banaccount [full name(case sensative)]");
return 1;
}
if(PlayerInfo[playerid][pAdmin] >= 4)
{
format(string, sizeof(string), "users/%s.ini",tmp);
if(dini_Exists(string))
{
if(dini_Int(string, "Band") == 0)
{
if(dini_Int(string, "AdminLvl") > PlayerInfo[playerid][pAdmin])
{
SendClientMessage(playerid, COLOR_GREY, "You can't ban higher level Admins !");
return 1;
}
dini_IntSet(string, "Band", 3);
string2 = dini_Get(string, "IP");
format(string, sizeof(string),"banip %s", string2);
SendRconCommand(string);
SendRconCommand("reloadbans");
format(string, 256, "AdmWarning: %s has banned account '%s' and IP '%s'.",PlayerName(playerid),tmp,string2);
ABroadCast(COLOR_LIGHTRED, string, 1);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "That player is already account-banned. You have banned their IP.");
string2 = dini_Get(string, "IP");
format(string, sizeof(string), "banip %s", string2);
SendRconCommand(string);
SendRconCommand("reloadbans");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "That player does not exist!");
}
}
}
return 1;
}
if(strcmp(cmd, "/unban", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SyntaxMessage(playerid, "/unban [full name(case sensitive)]");
return 1;
}
if (PlayerInfo[playerid][pAdmin] >= 1337 || PlayerInfo[playerid][pBanAppealer])
{
new file[128];
format(file,sizeof(file),"Users/%s.ini",tmp);
if(!fexist(file))
{
SendClientMessage(playerid, GREY, "Invalid player account.");
return 1;
}
else
{
new tmpip[20];
if(INI_Open(file))
{
INI_WriteInt("Band", 0);
INI_WriteInt("PermBan", 0);
INI_WriteString("BanReason", "None");
INI_ReadString(tmpip, "IP", 20);
format(string, sizeof(string), "unbanip %s", tmpip);
SendRconCommand(string);
SendRconCommand("reloadbans");
SendClientMessage(playerid, LIGHTRED, "* Member unbanned.");
format(string, sizeof(string), "{FF6347}%s has unbanned account '%s', and IP '%s'",PlayerName(playerid),tmp,tmpip);
ABroadCast(RED, string, 1);
INI_Save();
INI_Close();
}
return 1;
}
}
else
{
SendClientMessage(playerid, GREY, " You are not authorized to use this command.");
}
}
return 1;
}