Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- YCMD:ban(playerid, params[], help)
- {
- if(PlayerData[playerid][e_level] >= 2)
- {
- if(PlayerData[playerid][e_level] <= 2)
- {
- new tick = GetTickCount_();
- if((PlayerData[playerid][iKickBanIssued] >= 3) && ((PlayerData[playerid][tickLastBan] + COOLDOWN_CMD_BAN) >= tick))
- {
- SCM(playerid, -1, ""er"Wait a bit before using this command again");
- return 0;
- }
- else if((PlayerData[playerid][iKickBanIssued] >= 3) && ((PlayerData[playerid][tickLastBan] + COOLDOWN_CMD_BAN) <= tick))
- {
- PlayerData[playerid][iKickBanIssued] = 0;
- PlayerData[playerid][tickLastBan] = tick;
- }
- else
- {
- PlayerData[playerid][iKickBanIssued]++;
- }
- }
- new player, reason[144];
- if(sscanf(params, "rs[144]", player, reason))
- {
- return SCM(playerid, NEF_GREEN, "Usage: /ban <playerid> <reason>");
- }
- if(player == INVALID_PLAYER_ID) return SCM(playerid, -1, ""er"Invalid player!");
- if(!IsPlayerConnected(player)) return SCM(playerid, -1, ""er"Player not connected!");
- if(strlen(reason) > 50 || isnull(reason) || strlen(reason) < 2) return SCM(playerid, -1, ""er"Ban reason length: 2-50");
- if(player == playerid) return SCM(playerid, -1, ""er"You can not ban yourself");
- if(PlayerData[player][KBMarked]) return SCM(playerid, -1, ""er"This player is flagged for disconnect");
- if(CSG[player]) return SCM(playerid, -1, ""er"Invalid player!");
- if(badsql(reason, false) != 0)
- {
- return SCM(playerid, -1, ""er"You have specified invalid characters");
- }
- if(PlayerData[player][e_level] != MAX_ADMIN_LEVEL)
- {
- if(IsPlayerAvail(player))
- {
- new amsg[144];
- if(islogged(player)) { // Ban registered player
- MySQL_BanPlayer(__GetName(player), __GetName(playerid), reason);
- MySQL_BanIP(__GetIP(player));
- format(gstr, sizeof(gstr), ""yellow"** "red"%s(%i) has been banned by Admin %s(%i) [Reason: %s]", __GetName(player), player, __GetName(playerid), playerid, reason);
- format(amsg, sizeof(amsg), "[ADMIN CHAT] "LG_E"Account and IP banned of %s [EXPIRES: NEVER, REASON: %s]", __GetName(player), reason);
- } else {
- MySQL_BanIP(__GetIP(player));
- format(gstr, sizeof(gstr), ""yellow"** "red"%s(%i) has been banned by Admin %s(%i) [Reason: %s]", __GetName(player), player, __GetName(playerid), playerid, reason);
- format(amsg, sizeof(amsg), "[ADMIN CHAT] "LG_E"IP banned of %s [EXPIRES: NEVER, REASON: %s]", __GetName(player), reason);
- }
- SCMToAll(-1, gstr);
- AdminMSG(COLOR_RED, amsg);
- print(gstr);
- print(amsg);
- format(gstr2, sizeof(gstr2), ""red"You have been banned!"white"\n\nAdmin: %s\nReason: %s\nExpires: %s\n\nIf you think that you have been banned wrongly,\nwrite a ban appeal on "SVRFORUM"",
- __GetName(playerid),
- reason,
- "Permanent");
- ShowPlayerDialog(player, NO_DIALOG_ID, DIALOG_STYLE_MSGBOX, ""nef" :: Notice", gstr2, "OK", "");
- format(gstr, sizeof(gstr), "4Server: 2Admin %s(%i) has banned %s(%i) 1(Reason: %s)", __GetName(playerid), playerid, __GetName(player), player, reason);
- IRC_GroupSay(IRC_GroupID, IRC_CHANNEL, gstr);
- KickEx(player);
- }
- else
- {
- SCM(playerid, -1, ""er"Player is not available");
- }
- }
- else
- {
- format(gstr, sizeof(gstr), ""server_sign" "r_besch"%s just tried to ban you with reason: %s", __GetName(playerid), reason);
- SCM(player, -1, gstr);
- SCM(playerid, -1, ""server_sign" "r_besch"You may not ban this player.");
- }
- }
- else
- {
- SCM(playerid, -1, NO_PERM);
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment