Advertisement
Guest User

Ban System [MYSQL R39]

a guest
Apr 9th, 2016
434
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 22.34 KB | None | 0 0
  1. #define FILTERSCRIPT
  2. ////////////////////////////////////////////////////////////////////////////////////////////////
  3. ///////////////////////////////////////[## Includes ##]/////////////////////////////////////////
  4. ////////////////////////////////////////////////////////////////////////////////////////////////
  5. #include <a_samp>
  6. #include <a_mysql>
  7. #include <sscanf2>
  8. #include <zcmd>
  9.  
  10. ////////////////////////////////////////////////////////////////////////////////////////////////
  11. ////////////////////////////////[## [MySQL] Database Setup ##]//////////////////////////////////
  12. ////////////////////////////////////////////////////////////////////////////////////////////////
  13. #define host    "localhost"//Here input your host
  14. #define user    "root"//Your username
  15. #define db      "database12"//Youe established database
  16. #define pass    ""//user password
  17.  
  18. ////////////////////////////////////////////////////////////////////////////////////////////////
  19. ////////////////////////////////////////[## Dialogs ##]/////////////////////////////////////////
  20. ////////////////////////////////////////////////////////////////////////////////////////////////
  21. #define Registeration 312
  22. #define OnlineBan 1
  23. #define BanInfoX 2
  24. #define OfflineBan 3
  25. #define banip1 4
  26. #define banip2 5
  27. #define banip11 6
  28. #define SBANIP 7
  29. #define SBANNAME 8
  30. #define Login 9
  31. ////////////////////////////////////////////////////////////////////////////////////////////////
  32. ///////////////////////////////////[## Global Variables ##]/////////////////////////////////////
  33. ////////////////////////////////////////////////////////////////////////////////////////////////
  34. new mysql;
  35. new player2;
  36. //(/Ban command variables)//
  37. new GName1[1][25];
  38. new GName2[1][25];
  39. //(/Oban command variables)//
  40. new GName3[1][25];
  41. new GName4[1][25];
  42. new GIP2[1][16];
  43. //(/Banip commandvariables)//
  44. new GName5[1][25];
  45. new GName6[1][25];
  46. new GIP[1][16];
  47. //(/Ban command variables)//
  48. new GName7[1][25];
  49. new GName8[1][25];
  50. new player1;
  51. new IP[MAX_PLAYERS][16];
  52. new IP2[MAX_PLAYERS][16]; //We made a new one to avert glitches with the registeration System.
  53. new Name[MAX_PLAYERS][24];
  54. new IsPlayerRegisterd[MAX_PLAYERS];
  55.  
  56. ////////////////////////////////////////////////////////////////////////////////////////////////
  57. ///////////////////////////////////[## Forwards ##]/////////////////////////////////////////////
  58. ////////////////////////////////////////////////////////////////////////////////////////////////
  59. forward baninfox(playerid);
  60. forward Offlineban(playerid);
  61. forward IPBan(playerid);
  62. forward OnAccountCheck(playerid);
  63. forward KICKPLAYER(playerid);
  64. forward OnBanCheck(playerid);
  65.  
  66. ////////////////////////////////////////////////////////////////////////////////////////////////
  67. ///////////////////////////////////////[## Natives ##]//////////////////////////////////////////
  68. ////////////////////////////////////////////////////////////////////////////////////////////////
  69. native WP_Hash(buffer[], len, const str[]);
  70.  
  71. ////////////////////////////////////////////////////////////////////////////////////////////////
  72. //////////////////////////////////////[## Enumerators ##]///////////////////////////////////////
  73. ////////////////////////////////////////////////////////////////////////////////////////////////
  74. enum Player_Information
  75. {
  76.     Password[129]
  77. }
  78. new pInfo[MAX_PLAYERS][Player_Information];
  79.  
  80. ////////////////////////////////////////////////////////////////////////////////////////////////
  81. /////////////////////////////////////[## Main Script ##]////////////////////////////////////////
  82. ////////////////////////////////////////////////////////////////////////////////////////////////
  83. public OnFilterScriptInit()
  84. {
  85.     print("\n--------------------------------------");
  86.     print("Ban system by revo");
  87.     print("--------------------------------------\n");
  88.  
  89.     mysql_log(LOG_ERROR | LOG_WARNING | LOG_DEBUG);
  90.     mysql = mysql_connect(host, user, db, pass);
  91.     if(mysql_errno(mysql) != 0)
  92.     {
  93.          print("Could not connect to database!");
  94.          }
  95.     else
  96.     {
  97.  
  98.         printf("Successfully connected to the database");
  99.  
  100.  
  101.     }
  102.     SetGameModeText("MySQL R9-3");
  103.  
  104.     return 1;
  105. }
  106.  
  107.  
  108. public OnFilterScriptExit()
  109. {
  110.     return 1;
  111. }
  112.  
  113. public OnPlayerConnect(playerid)
  114. {
  115.         new query[128];
  116.         GetPlayerIp(playerid, IP2[playerid], 16);
  117.         mysql_format(mysql, query, sizeof(query),"SELECT `Username`, `Reason` FROM `bans` WHERE `IP` = '%s'", IP2[playerid]);
  118.         IsPlayerRegisterd[playerid] = -1;
  119.         mysql_tquery(mysql, query, "OnBanCheck", "i", playerid);
  120.         playerid = player1;
  121.         return 1;
  122. }
  123.  
  124. public OnBanCheck(playerid)
  125. {
  126.                 new rows, fields;
  127.                 new name[3][16];
  128.                 new query[128];
  129.                 cache_get_data(rows, fields, mysql);
  130.                 if(rows)
  131.                 {
  132.                 cache_get_field_content(0, "Username", name[0], mysql, 24);
  133.                 cache_get_field_content(0, "Reason", name[1], mysql, 45);
  134.                 new string[128];
  135.                 format(string,sizeof string,"'%s' has been kicked from the server (IP/Name Banned from the server) | Ban Reason: '%s' |",name[0],name[1]);
  136.                 SendClientMessageToAll(-1,string);
  137.  
  138.                 SetTimerEx("KICKPLAYER",1000,false,"i",2);
  139.                 }
  140.                 else
  141.                 {
  142.                 GetPlayerName(playerid, Name[playerid], 24);
  143.                 GetPlayerIp(playerid, IP[playerid], 16);
  144.                 mysql_format(mysql, query, sizeof(query),"SELECT `IP`, `Password` FROM `accounts` WHERE `Username` = '%s' LIMIT 1", Name[playerid]);
  145.                 mysql_tquery(mysql, query, "OnAccountCheck", "i", playerid);
  146.       }
  147.                 return 1;
  148. }
  149.  
  150.  
  151. public KICKPLAYER()
  152. {
  153. Kick(player1);
  154. }
  155.  
  156.  
  157. public OnAccountCheck(playerid)
  158. {
  159.         new rows, fields;
  160.         cache_get_data(rows, fields, mysql);
  161.         if(rows)
  162.         {
  163.                 cache_get_field_content(0, "IP", IP[playerid], mysql, 16);
  164.                 new newIp[16];
  165.                 GetPlayerIp(playerid, newIp, 16);
  166.  
  167.                 if(strlen(IP[playerid]) != 0 && !strcmp(IP[playerid], newIp, true))
  168.                 {
  169.                         new query[128];
  170.                         mysql_format(mysql, query, sizeof(query),"SELECT `Username` FROM `accounts` WHERE `Username` = '%s' LIMIT 1", Name[playerid]);
  171.                         SendClientMessage(playerid, -1, "{FF0066}|+ Successfully LoggedIn +|");
  172.  
  173.                 }
  174.                 else
  175.                 {
  176.                         (!strlen(IP[playerid]) || strcmp(IP[playerid], newIp, true));
  177.  
  178.                         cache_get_field_content(0, "Password", pInfo[playerid][Password], mysql, 129);
  179.                         ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "Login", "In order to play, you need to login", "Login", "Quit");
  180.                 }
  181.         }
  182.         else
  183.         {
  184.                 ShowPlayerDialog(playerid, Registeration, DIALOG_STYLE_INPUT, "Register", "In order to play, you need to register.", "Register", "Quit");
  185.  
  186.         }
  187.  
  188.         return 1;
  189. }
  190.  
  191. public OnPlayerDisconnect(playerid, reason)
  192. {
  193.     return 1;
  194. }
  195.  
  196. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  197. {
  198. if(dialogid == OnlineBan)
  199.        {
  200. if(!response) return SendClientMessage(playerid, -1, "Cancelled");
  201. if (response)
  202. {
  203.                 new query[500];
  204.                 new string[128];
  205.                 format(string,sizeof string,"'%s' has been banned by '%s' | Reason: '%s' |",GName2[0],GName1[0],inputtext);
  206.                 SendClientMessageToAll(-1,string);
  207.                 //  Kick(player2);
  208.                 GetPlayerIp(playerid, IP2[player2], 16);
  209.                 new Year, Month, Day;
  210.                 getdate(Year, Month, Day);
  211.                 mysql_format(mysql, query, sizeof(query), "INSERT INTO `bans` (`Username`,`IP`,`Bannedby`,`Reason`,`Year`,`Month`,`Day`) VALUES ('%s','%s','%s','%s','%d','%d','%d')",
  212.                 GName2[0], IP2[player2], GName1[0], inputtext, Year, Month, Day);
  213.                 return mysql_tquery(mysql, query, "", "");
  214.                 }
  215.  
  216.  
  217. }
  218. if(dialogid == OfflineBan)
  219.        {
  220. if(!response) return SendClientMessage(playerid, -1, "Cancelled");
  221. if (response)
  222. {
  223.                 new query[500];
  224.                 new string[128];
  225.                 format(string,sizeof string,"'%s' has been offline banned by '%s' | Reason: '%s' |",GName4[0],GName3[0],inputtext);
  226.                 SendClientMessageToAll(-1,string);
  227.                 new Year, Month, Day;
  228.                 getdate(Year, Month, Day);
  229.                 mysql_format(mysql, query, sizeof(query), "INSERT INTO `bans` (`Username`,`IP`,`Bannedby`,`Reason`,`Year`,`Month`,`Day`) VALUES ('%s','%s','%s','%s','%d','%d','%d')",
  230.                 GName4[0], GIP2[0], GName3[0], inputtext, Year, Month, Day);
  231.                 return mysql_tquery(mysql, query, "", "");
  232.  
  233. }
  234. }
  235.  
  236. if(dialogid == Registeration)
  237.        {
  238.                         if(!response) return Kick(playerid);
  239.                         if(strlen(inputtext) < 6) return ShowPlayerDialog(playerid, Registeration, DIALOG_STYLE_INPUT, "Register", "In order to play, you need to register.\nYour password must be at least 6 characters long!", "Register", "Quit");
  240.                         new query[300];
  241.                         GetPlayerIp(playerid, IP[playerid], 16);
  242.                         WP_Hash(pInfo[playerid][Password], 129, inputtext);
  243.                         mysql_format(mysql, query, sizeof(query), "INSERT INTO `accounts` (`Username`, `Password`, `IP`) VALUES ('%s', '%s', '%s')", Name[playerid], pInfo[playerid][Password], IP[playerid]);
  244.                         IsPlayerRegisterd[playerid] = 1;
  245.                         SendClientMessage(playerid, -1, "Successfully Registered");
  246.                         return mysql_tquery(mysql, query, "", "");
  247. }
  248.  
  249. if(dialogid == Login)
  250.        {
  251.                 if(!response) Kick(playerid);
  252.                 new hpass[129];
  253.                 new query[100];
  254.                 WP_Hash(hpass, 129, inputtext);
  255.                 if(!strcmp(hpass, pInfo[playerid][Password]))
  256.                 {
  257.                     mysql_format(mysql, query, sizeof(query), "SELECT * FROM `accounts` WHERE `Username` = '%e' LIMIT 1", Name[playerid]);
  258.                     SendClientMessage(playerid, -1, "{FF0066}|+ Successfully LoggedIn +|");
  259.                     }
  260.                     else
  261.                     {
  262.                     ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "Login", "In order to play, you need to login\nWrong password!", "Login", "Quit");
  263.  
  264. }
  265. }
  266.  
  267.  
  268.  
  269. if(dialogid == banip11)
  270.        {
  271.                 if(!response) return SendClientMessage(playerid, -1, "Cancelled");
  272.                 if (response)
  273.                 {
  274.                 new query[500];
  275.                 new string[128];
  276.                 format(string,sizeof string,"%s's ip has been offline banned by '%s' | Reason: '%s' |",GName6[0],GName5[0],inputtext);
  277.                 SendClientMessageToAll(-1,string);
  278.                 new Year, Month, Day;
  279.                 getdate(Year, Month, Day);
  280.                 mysql_format(mysql, query, sizeof(query), "INSERT INTO `bans` (`Username`,`IP`,`Bannedby`,`Reason`,`Year`,`Month`,`Day`) VALUES ('%s','%s','%s','%s','%d','%d','%d')",
  281.                 GName6[0], GIP[0], GName5[0], inputtext, Year, Month, Day);
  282.                 return mysql_tquery(mysql, query, "", "");
  283.  
  284. }
  285. }
  286.  
  287. if(dialogid == banip1)
  288. {
  289. if(!response) return SendClientMessage(playerid, -1, "Cancelled");
  290. if (response) return ShowPlayerDialog(playerid,banip11, DIALOG_STYLE_INPUT,"{FF0066}Reason","{FFFFFF}Insert the reason below","Done","Back");
  291. }
  292. return 0;
  293. }
  294. ////////////////////////////////////////////////////////////////////////////////////////////////
  295. ///////////////////////////////////////[## OnlineBan ##]////////////////////////////////////////
  296. ////////////////////////////////////////////////////////////////////////////////////////////////
  297. CMD:ban(playerid, params[])
  298. {
  299.          new name[24];
  300.          new pname[24];
  301.          new targetid;
  302.          if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0066}» Err:| You are not rcon administrator |");
  303.          if(sscanf(params, "ig", targetid)) return SendClientMessage(playerid, -1, "{FF0066}{FF0066}» Err:| /Ban [Id] |");
  304.          if(IsPlayerConnected(targetid) && targetid != INVALID_PLAYER_ID)
  305.          {
  306.  
  307.          ShowPlayerDialog(playerid, OnlineBan, DIALOG_STYLE_INPUT,"{FF0066}Reason","{FFFFFF}Insert the reason below","Done","Back");
  308.          GetPlayerName(targetid, name, sizeof(name));
  309.          GetPlayerName(playerid, pname, sizeof(pname));
  310.          GName2[0] = name;
  311.          GName1[0] = pname;
  312.          targetid = player2;
  313.          }
  314.          else
  315.          {
  316.          SendClientMessage(playerid, -1, "{9E6700}» Player is not connected");
  317.          }
  318.          return 1;
  319. }
  320.  
  321. ////////////////////////////////////////////////////////////////////////////////////////////////
  322. ///////////////////////////////////////[## OfflineBan ##]///////////////////////////////////////
  323. ////////////////////////////////////////////////////////////////////////////////////////////////
  324. CMD:oban(playerid, params[])
  325. {
  326.                 new name[25];
  327.                 new query[250];
  328.                 new pname[25];
  329.                 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0066}» Err:| You are not rcon administrator |");
  330.                 if(sscanf(params, "s[128]", name)) return SendClientMessage(playerid, -1, "{FF0066}{FF0066}» Err:| /Oban [Username] |");
  331.                 format(query, sizeof(query), "SELECT * FROM `bans` WHERE `Username` = '%s'", name);
  332.                 GetPlayerName(playerid, pname, sizeof(pname));
  333.                 GName3[0] = pname;
  334.                 GName4[0] = name;
  335.                 mysql_tquery(mysql, query, "Offlineban", "i", playerid);
  336.                 return 1;
  337. }
  338.  
  339. public Offlineban(playerid) {
  340.   new rows;
  341.   new fields;
  342.  
  343.   cache_get_data(rows, fields, mysql);
  344.   if(rows)
  345.   {
  346.   SendClientMessage(playerid, -1, "{9E6700}» Player is already banned");
  347.   }
  348.   else
  349.   {
  350.   new query2[250];
  351.   format(query2, sizeof(query2), "SELECT * FROM `accounts` WHERE `Username` = '%s'", GName4[0]);
  352.   mysql_tquery(mysql, query2, "Offlineban2", "i", playerid);
  353. }
  354. }
  355.  
  356. forward Offlineban2(playerid);
  357. public Offlineban2(playerid) {
  358.   new rows;
  359.   new fields;
  360.   new ip[16];
  361.  
  362.   cache_get_data(rows, fields, mysql);
  363.   if(rows)
  364.   {
  365.   cache_get_field_content(0, "IP", ip, mysql, 24);
  366.   GIP2[0] = ip;
  367.   ShowPlayerDialog(playerid, OfflineBan, DIALOG_STYLE_INPUT,"{FF0066}Reason","{FFFFFF}Insert the reason below","Done","Back");
  368.   }
  369.   else
  370.   {
  371.   SendClientMessage(playerid, -1, "{9E6700}» No accounts found");
  372. }
  373. }
  374.  
  375.  
  376. ////////////////////////////////////////////////////////////////////////////////////////////////
  377. /////////////////////////////////////////[## Ip Ban ##]/////////////////////////////////////////
  378. ////////////////////////////////////////////////////////////////////////////////////////////////
  379. CMD:banip(playerid, params[])
  380. {
  381.                 new IPX[16];
  382.                 new query[250];
  383.                 new pname[24];
  384.  
  385.                 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0066}» Err:| You are not rcon administrator |");
  386.                 if(sscanf(params, "s[128]", IPX)) return SendClientMessage(playerid, -1, "{FF0066}{FF0066}» Err:| /Banip [IP] |");
  387.                 if(strlen(IPX) > 16) return SendClientMessage(playerid, -1, "{9E6700}» Max Ip characters are 16!");
  388.                 format(query, sizeof(query), "SELECT * FROM `bans` WHERE `IP` = '%s'", IPX);
  389.  
  390.                 GetPlayerName(playerid, pname, sizeof(pname));
  391.                 GIP[0] = IPX;
  392.                 GName5[0] = pname;
  393.                 mysql_tquery(mysql, query, "IPBan", "i", playerid);
  394.                 return 1;
  395. }
  396.  
  397.  
  398.  
  399. public IPBan(playerid) {
  400.   new rows;
  401.   new fields;
  402.  
  403.   new query[250];
  404.   cache_get_data(rows, fields, mysql);
  405.   if(rows)
  406.   {
  407.   SendClientMessage(playerid, -1, "{9E6700}» Player is already banned");
  408.  
  409.   }
  410.   else
  411.   {
  412.   format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `IP` = '%s'", GIP[0]);
  413.   mysql_tquery(mysql, query, "IPBan2", "i", playerid);
  414.   }
  415.   return 1;
  416. }
  417.  
  418.  
  419.  
  420. forward IPBan2(playerid);
  421. public IPBan2(playerid) {
  422.   new rows;
  423.   new fields;
  424.   new name[1][25];
  425.   new string[250];
  426.   cache_get_data(rows, fields, mysql);
  427.   if(rows)
  428.   {
  429.  
  430.   cache_get_field_content(0, "Username", name[0], mysql, 16);
  431.   format(string, sizeof(string),"\n{FFFFFF}..: Are sure that you want to officially block this IP from joining the server :..IP '%s'\nSide Notes: This ip is registered in the server and its owner is %s",GIP[0],name[0]);
  432.   ShowPlayerDialog(playerid,banip1,DIALOG_STYLE_MSGBOX,"{FF0066}Confirmation",string, "Yes","Quit");
  433.   GName6[0] = name[0];
  434.   }
  435.   else
  436.   {
  437.   SendClientMessage(playerid, -1, "{9E6700}» No accounts attached to this ip found");
  438. }
  439. }
  440.  
  441.  
  442.  
  443. ////////////////////////////////////////////////////////////////////////////////////////////////
  444. /////////////////////////////////////////[## Ip Unban ##]/////////////////////////////////////////
  445. ////////////////////////////////////////////////////////////////////////////////////////////////
  446. CMD:unbanip(playerid, params[])
  447. {
  448.                 new IPX[16];
  449.                 new query[250];
  450.                 new pname[24];
  451.                 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0066}» Err:| You are not rcon administrator |");
  452.                 if(sscanf(params, "s[128]", IPX)) return SendClientMessage(playerid, -1, "{FF0066}{FF0066}» Err:| /Unbanip [IP] |");
  453.                 format(query, sizeof(query), "SELECT * FROM `bans` WHERE `IP` = '%s'", IPX);
  454.  
  455.                 GetPlayerName(playerid, pname, sizeof(pname));
  456.                 GIP[0] = IPX;
  457.                 GName5[0] = pname;
  458.                 mysql_tquery(mysql, query, "IPBanX", "i", playerid);
  459.                 return 1;
  460. }
  461.  
  462.  
  463.  
  464. forward IPBanX(playerid);
  465. public IPBanX(playerid) {
  466.   new rows;
  467.   new fields;
  468.   new name[1][25];
  469.   new query[250];
  470.   new string[128];
  471.   cache_get_data(rows, fields, mysql);
  472.   if(rows)
  473.   {
  474.   cache_get_field_content(0, "Username", name[0], mysql, 16);
  475.   format(query, sizeof(query),"DELETE FROM `bans` WHERE `IP` = '%s'",GIP[0]);
  476.   mysql_tquery(mysql, query, "", "");
  477.   SendClientMessage(playerid, -1, "| Sucessfully unbanned ");
  478.  
  479.   format(string,sizeof string,"| %s's ip has been unbanned by %s |",name[0],GName5[0]);
  480.   SendClientMessageToAll(-1,string);
  481.  
  482.   }
  483.   else
  484.   {
  485.  
  486.   SendClientMessage(playerid, -1, "{9E6700}» There is no such banned IP");
  487.   }
  488.   return 1;
  489. }
  490.  
  491.  
  492. ////////////////////////////////////////////////////////////////////////////////////////////////
  493. /////////////////////////////////////////[## Unban ##]//////////////////////////////////////////
  494. ////////////////////////////////////////////////////////////////////////////////////////////////
  495. CMD:unban(playerid, params[])
  496. {
  497.                 new name[24];
  498.                 new query[250];
  499.                 new pname[24];
  500.                 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0066}» Err:| You are not rcon administrator |");
  501.                 if(sscanf(params, "s[128]", name)) return SendClientMessage(playerid, -1, "{FF0066}{FF0066}» Err:| /Unban [Username] |");
  502.                 format(query, sizeof(query), "SELECT * FROM `bans` WHERE `Username` = '%s'", name);
  503.  
  504.                 GetPlayerName(playerid, pname, sizeof(pname));
  505.                 GName7[0] = name;
  506.                 GName8[0] = pname;
  507.                 mysql_tquery(mysql, query, "Unban", "i", playerid);
  508.                 return 1;
  509. }
  510.  
  511. forward Unban(playerid);
  512. public Unban(playerid) {
  513.   new rows;
  514.   new fields;
  515.   new name[1][25];
  516.   new query[250];
  517.   new string[128];
  518.   cache_get_data(rows, fields, mysql);
  519.   if(rows)
  520.   {
  521.   cache_get_field_content(0, "Username", name[0], mysql, 16);
  522.   format(query, sizeof(query),"DELETE FROM `bans` WHERE `Username` = '%s'",GName7[0]);
  523.   mysql_tquery(mysql, query, "", "");
  524.   SendClientMessage(playerid, -1, "| Sucessfully unbanned ");
  525.   format(string,sizeof string,"| %s's ip has been banned by %s |",name[0],GName8[0]);
  526.   SendClientMessageToAll(-1,string);
  527.   }
  528.   else
  529.   {
  530.   SendClientMessage(playerid, -1, "No banned account found");
  531.   }
  532.   return 1;
  533. }
  534.  
  535. /////////////////////////////////////////////////////////////////////////////////////////////////
  536. /////////////////////////////////////////[## BanInfo ##]/////////////////////////////////////////
  537. /////////////////////////////////////////////////////////////////////////////////////////////////
  538. CMD:baninfo(playerid, params[])
  539. {
  540.   new name[24];
  541.   new query[250];
  542.  
  543.   if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0066}» Err:| You are not rcon administrator |");
  544.   if(sscanf(params, "s[128]", name)) return SendClientMessage(playerid, -1, "{FF0066}{FF0066}» Err:| /BanInfo [Username] |");
  545.   format(query, sizeof(query), "SELECT * FROM `bans` WHERE `Username` = '%s'", name);
  546.   mysql_tquery(mysql, query, "baninfox", "i", playerid);
  547.   return 1;
  548. }
  549.  
  550.  
  551.  
  552. public baninfox(playerid) {
  553.     new rows;
  554.     new fields;
  555.     new s[7][150];
  556.     new string[400];
  557.     cache_get_field_content(0, "Username", s[0], mysql, 24);
  558.     cache_get_field_content(0, "IP", s[1], mysql, 16);
  559.     cache_get_field_content(0, "Bannedby", s[2], mysql, 24);
  560.     cache_get_field_content(0, "Reason", s[3], mysql, 40);
  561.     cache_get_field_content(0, "Year", s[4], mysql, 24);
  562.     cache_get_field_content(0, "Month", s[5], mysql, 24);
  563.     cache_get_field_content(0, "Day", s[6], mysql, 24);
  564.     cache_get_data(rows, fields, mysql);
  565.     if(rows)
  566.     {
  567.  
  568.     format(string, sizeof(string),"\n{9E6700}..::{FFFFFF}%s's Ban information{9E6700}::..\n\n{9E6700}User's Username{FFCCCC} '%s'\n\n{9E6700}User's IP {FFCCCC}'%s'\n\n{9E6700}User's Banned by {FFCCCC}'%s'\n\n{9E6700}User's Ban Reason {FFCCCC}'%s'\n\n{9E6700}Year user got banned in{FFCCCC}'%s'\n\n{9E6700}Month user got banned in{FFCCCC}'%s'\n\n{9E6700}Day user got banned in {FFCCCC}'%s'",
  569.     s[0],s[0],s[1],s[2],s[3],s[4],s[5],s[6]);
  570.     ShowPlayerDialog(playerid, BanInfoX,DIALOG_STYLE_MSGBOX,"Prohibition CP",string, "Close","");
  571.  
  572.  
  573.     }
  574.     else
  575.     {
  576.     SendClientMessage(playerid, -1, "{9E6700}» No accounts found");
  577.     }
  578.     return 1;
  579. }
  580.  
  581. CMD:bancmds(playerid, params[])
  582. {
  583.     new string[600];
  584.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0066}» Err:| You are not rcon administrator |");
  585.     strcat(string, "\t{9E6700}..:: {FFFFFF}Prohibition System Commands{9E6700} ::..", 500 );
  586.     strcat(string, "\n\n{FFFFFF}/Ban [Id]", 500 );
  587.     strcat(string, "\n{9E6700}»Function: Will ban an online user.\n", 500 );
  588.     strcat(string, "\n{FFFFFF}/Oban [Username]", 500 );
  589.     strcat(string, "\n{9E6700}»Function: Will offline ban an already registered user.\n", 500 );
  590.     strcat(string, "\n{FFFFFF}/Unban [Username]", 500 );
  591.     strcat(string, "\n{9E6700}»Function: Will unban an already banned user.\n", 500 );
  592.     strcat(string, "\n{FFFFFF}/Banip [Ip]", 500 );
  593.     strcat(string, "\n{9E6700}»Function: Will ban an already registered IP.\n", 500 );
  594.     strcat(string, "\n{FFFFFF}/Unbanip [Ip]", 500 );
  595.     strcat(string, "\n{9E6700}»Function: Will unban an already banned IP.\n", 500 );
  596.     strcat(string, "\n{FFFFFF}/BanInfo [Username]", 500 );
  597.     strcat(string, "\n{9E6700}»Function: Will view an information of a special ban.", 600 );
  598.     ShowPlayerDialog(playerid,3132, DIALOG_STYLE_MSGBOX, "Prohibition Commands", string, "Close","");
  599.     return 1;
  600. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement