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; }