Mellnik

Untitled

May 16th, 2014
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.73 KB | None | 0 0
  1. YCMD:ban(playerid, params[], help)
  2. {
  3. if(PlayerData[playerid][e_level] >= 2)
  4. {
  5. if(PlayerData[playerid][e_level] <= 2)
  6. {
  7. new tick = GetTickCount_();
  8.  
  9. if((PlayerData[playerid][iKickBanIssued] >= 3) && ((PlayerData[playerid][tickLastBan] + COOLDOWN_CMD_BAN) >= tick))
  10. {
  11. SCM(playerid, -1, ""er"Wait a bit before using this command again");
  12. return 0;
  13. }
  14. else if((PlayerData[playerid][iKickBanIssued] >= 3) && ((PlayerData[playerid][tickLastBan] + COOLDOWN_CMD_BAN) <= tick))
  15. {
  16. PlayerData[playerid][iKickBanIssued] = 0;
  17. PlayerData[playerid][tickLastBan] = tick;
  18. }
  19. else
  20. {
  21. PlayerData[playerid][iKickBanIssued]++;
  22. }
  23. }
  24.  
  25. new player, reason[144];
  26. if(sscanf(params, "rs[144]", player, reason))
  27. {
  28. return SCM(playerid, NEF_GREEN, "Usage: /ban <playerid> <reason>");
  29. }
  30.  
  31. if(player == INVALID_PLAYER_ID) return SCM(playerid, -1, ""er"Invalid player!");
  32. if(!IsPlayerConnected(player)) return SCM(playerid, -1, ""er"Player not connected!");
  33.  
  34. if(strlen(reason) > 50 || isnull(reason) || strlen(reason) < 2) return SCM(playerid, -1, ""er"Ban reason length: 2-50");
  35. if(player == playerid) return SCM(playerid, -1, ""er"You can not ban yourself");
  36. if(PlayerData[player][KBMarked]) return SCM(playerid, -1, ""er"This player is flagged for disconnect");
  37. if(CSG[player]) return SCM(playerid, -1, ""er"Invalid player!");
  38.  
  39. if(badsql(reason, false) != 0)
  40. {
  41. return SCM(playerid, -1, ""er"You have specified invalid characters");
  42. }
  43.  
  44. if(PlayerData[player][e_level] != MAX_ADMIN_LEVEL)
  45. {
  46. if(IsPlayerAvail(player))
  47. {
  48. new amsg[144];
  49. if(islogged(player)) { // Ban registered player
  50. MySQL_BanPlayer(__GetName(player), __GetName(playerid), reason);
  51. MySQL_BanIP(__GetIP(player));
  52.  
  53. format(gstr, sizeof(gstr), ""yellow"** "red"%s(%i) has been banned by Admin %s(%i) [Reason: %s]", __GetName(player), player, __GetName(playerid), playerid, reason);
  54. format(amsg, sizeof(amsg), "[ADMIN CHAT] "LG_E"Account and IP banned of %s [EXPIRES: NEVER, REASON: %s]", __GetName(player), reason);
  55. } else {
  56. MySQL_BanIP(__GetIP(player));
  57.  
  58. format(gstr, sizeof(gstr), ""yellow"** "red"%s(%i) has been banned by Admin %s(%i) [Reason: %s]", __GetName(player), player, __GetName(playerid), playerid, reason);
  59. format(amsg, sizeof(amsg), "[ADMIN CHAT] "LG_E"IP banned of %s [EXPIRES: NEVER, REASON: %s]", __GetName(player), reason);
  60. }
  61.  
  62. SCMToAll(-1, gstr);
  63. AdminMSG(COLOR_RED, amsg);
  64. print(gstr);
  65. print(amsg);
  66.  
  67. 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"",
  68. __GetName(playerid),
  69. reason,
  70. "Permanent");
  71.  
  72. ShowPlayerDialog(player, NO_DIALOG_ID, DIALOG_STYLE_MSGBOX, ""nef" :: Notice", gstr2, "OK", "");
  73.  
  74. format(gstr, sizeof(gstr), "4Server: 2Admin %s(%i) has banned %s(%i) 1(Reason: %s)", __GetName(playerid), playerid, __GetName(player), player, reason);
  75. IRC_GroupSay(IRC_GroupID, IRC_CHANNEL, gstr);
  76.  
  77. KickEx(player);
  78. }
  79. else
  80. {
  81. SCM(playerid, -1, ""er"Player is not available");
  82. }
  83. }
  84. else
  85. {
  86. format(gstr, sizeof(gstr), ""server_sign" "r_besch"%s just tried to ban you with reason: %s", __GetName(playerid), reason);
  87. SCM(player, -1, gstr);
  88. SCM(playerid, -1, ""server_sign" "r_besch"You may not ban this player.");
  89. }
  90. }
  91. else
  92. {
  93. SCM(playerid, -1, NO_PERM);
  94. }
  95. return 1;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment