11.03.2014, 13:12
Код:
CMD:ban(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
new string[128], giveplayerid, reason[64];
if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ban [playerid/partofname] [reason]");
if(IsPlayerConnected(giveplayerid))
{
if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
{
if(AdminDuty[playerid] == 1)
{
new username[MAX_PLAYER_NAME];
GetPVarString(playerid, "TempNameName", username, sizeof(username));
SetPVarInt(playerid, "TempName", 0);
SetPlayerName(playerid, username);
}
format(string, sizeof(string), "AdmCmd: %s has been auto-banned, reason: Trying to /ban a higher admin.", PlayerInfo[playerid][pAdminName]);
ABroadCast(COLOR_YELLOW,string,1);
new ip[32], cw[64], tstring[128], year, month, day, hour, minute, second;
PlayerInfo[playerid][pBanned] = 1;
AddBan(ip);
GetPlayerIp(playerid,ip,sizeof(ip));
getdate(year, month, day);
gettime(hour, minute, second);
format(tstring, sizeof(tstring), "Time: %i:%i:%i on %i/%i/%i", hour, minute, second, day, month, year);
format(cw, sizeof(cw), "Current Warnings: %i (3 for Ban)", PlayerInfo[playerid][pWarns]);
SendClientMessage(playerid, COLOR_REALRED, "You're banned from American Streets Roleplay you may appeal your ban at www.as-rp.forumtl.com");
SendClientMessage(playerid, COLOR_LIGHTRED, "--------------------- Ban Report ---------------------");
SendClientMessage(playerid, COLOR_WHITE, "Reason: Tried to ban a higher admin");
SendClientMessage(playerid, COLOR_WHITE, cw);
SendClientMessage(playerid, COLOR_WHITE, "Admin: SERVER");
SendClientMessage(playerid, COLOR_WHITE, tstring);
SendClientMessage(playerid, COLOR_REALRED, "It is strongly recommended that you keep this report for fure reference (Press F8)");
SendClientMessage(playerid, COLOR_REALRED, "You may appeal this ban at www.as-rp.forumtl.com");
SetTimerEx("KickPlayer", 500, false, "i", giveplayerid);
return 1;
}
else
{
new playerip[32];
GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
if(AdminDuty[giveplayerid] == 1)
{
new username[MAX_PLAYER_NAME];
GetPVarString(giveplayerid, "TempNameName", username, sizeof(username));
SetPVarInt(giveplayerid, "TempName", 0);
SetPlayerName(giveplayerid, username);
format(string, sizeof(string), "AdmCmd: %s(IP:%s) was banned by %s, reason: %s", PlayerInfo[giveplayerid][pAdminName], playerip, GetPlayerNameEx(playerid), reason);
Log("logs/ban.log", string);
format(string, sizeof(string), "AdmCmd: %s was banned by %s, reason: %s", PlayerInfo[giveplayerid][pAdminName], GetPlayerNameEx(playerid), reason);
}
else
{
format(string, sizeof(string), "AdmCmd: %s(IP:%s) was banned by %s, reason: %s", GetPlayerNameEx(giveplayerid), playerip, GetPlayerNameEx(playerid), reason);
Log("logs/ban.log", string);
format(string, sizeof(string), "AdmCmd: %s was banned by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
}
SendClientMessageToAllEx(COLOR_LIGHTRED, string);
GetPlayerIp(giveplayerid,ip,sizeof(ip));
new cw[64], tstring[128], sstring[128], rstring[128], aname[MAX_PLAYER_NAME], year, month, day, hour, minute, second;
GetPlayerName(playerid, aname, sizeof(aname));
getdate(year, month, day);
gettime(hour, minute, second);
format(tstring, sizeof(tstring), "Time: %i:%i:%i on %i/%i/%i", hour, minute, second, day, month, year);
format(sstring, sizeof(sstring), "Admin: %s", aname);
format(rstring, sizeof(rstring), "Reason: %s", reason);
format(cw, sizeof(cw), "Current Warnings: %i (3 for Ban)", PlayerInfo[playerid][pWarns]);
SendClientMessage(playerid, COLOR_REALRED, "You're banned from American Streets Roleplay you may appeal your ban at www.as-rp.forumtl.com");
SendClientMessage(playerid, COLOR_LIGHTRED, "--------------------- Ban Report ---------------------");
SendClientMessage(playerid, COLOR_WHITE, rstring);
SendClientMessage(playerid, COLOR_WHITE, cw);
SendClientMessage(playerid, COLOR_WHITE, sstring);
SendClientMessage(playerid, COLOR_WHITE, tstring);
SendClientMessage(playerid, COLOR_REALRED, "It is strongly recommended that you keep this report for fure reference (Press F8)");
SendClientMessage(playerid, COLOR_REALRED, "You may appeal this ban at www.as-rp.forumtl.com");
SetTimerEx("KickPlayer", 500, false, "i", playerid);
new ip[32];
PlayerInfo[giveplayerid][pBanned] = 1;
AddBan(ip);
return 1;
}
} else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
}
return 1;
}


