Advertisement
Shadowless

Black List BY Dias

May 21st, 2019
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.60 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3.  
  4. #define PLUGIN "Black List"
  5. #define VERSION "1.0"
  6. #define AUTHOR "Dias"
  7.  
  8. new const user_file[] = "black_list.ini"
  9. new Array:BlackList
  10.  
  11. new cvar_blacklist_handle
  12. new cvar_blacklist_bantype, cvar_blacklist_bantime
  13.  
  14. public plugin_init()
  15. {
  16. register_plugin(PLUGIN, VERSION, AUTHOR)
  17.  
  18. cvar_blacklist_handle = register_cvar("bl_handle", "1") // 1 = Kick | 2 = Ban
  19.  
  20. cvar_blacklist_bantype = register_cvar("bl_ban_type", "2") // 1 = Ban SteamID | 2 = Ban IP
  21. cvar_blacklist_bantime = register_cvar("bl_ban_time", "30") // Minutes
  22. }
  23.  
  24. public plugin_precache()
  25. {
  26. BlackList = ArrayCreate(32, 1)
  27. read_user_from_file()
  28. }
  29.  
  30. public read_user_from_file()
  31. {
  32. static user_file_url[64], config_dir[32]
  33.  
  34. get_configsdir(config_dir, sizeof(config_dir))
  35. format(user_file_url, sizeof(user_file_url), "%s/%s", config_dir, user_file)
  36.  
  37. if(!file_exists(user_file_url))
  38. return
  39.  
  40. static file_handle, line_data[64], line_count
  41. file_handle = fopen(user_file_url, "rt")
  42.  
  43. while(!feof(file_handle))
  44. {
  45. fgets(file_handle, line_data, sizeof(line_data))
  46.  
  47. replace(line_data, charsmax(line_data), "^n", "")
  48.  
  49. if(!line_data[0] || line_data[0] == ';')
  50. continue
  51.  
  52. ArrayPushString(BlackList, line_data)
  53. line_count++
  54. }
  55.  
  56. fclose(file_handle)
  57. }
  58.  
  59. public client_connect(id)
  60. {
  61. check_and_handle(id)
  62. }
  63.  
  64. public client_infochanged(id)
  65. {
  66. check_and_handle(id)
  67. }
  68.  
  69. public check_and_handle(id)
  70. {
  71. static name[64], steamid[64], Data[32]
  72.  
  73. get_user_name(id, name, sizeof(name))
  74. get_user_authid(id, steamid, sizeof(steamid))
  75.  
  76. for(new i = 0; i < ArraySize(BlackList); i++)
  77. {
  78. ArrayGetString(BlackList, i, Data, sizeof(Data))
  79.  
  80. if(equal(name, Data) || equal(steamid, Data))
  81. {
  82. if(get_pcvar_num(cvar_blacklist_handle) == 1) // Kick
  83. {
  84. server_cmd("amx_kick %s ", name)
  85.  
  86. } else if(get_pcvar_num(cvar_blacklist_handle) == 2) { // Ban
  87. if(get_pcvar_num(cvar_blacklist_bantype) == 1) // Ban SteamID
  88. {
  89. server_cmd("amx_ban %s BlackList %i", steamid, get_pcvar_num(cvar_blacklist_bantime))
  90. } else if(get_pcvar_num(cvar_blacklist_bantype) == 2) { // BanIP
  91. server_cmd("amx_banip %s BlackList %i", name, get_pcvar_num(cvar_blacklist_bantime))
  92. }
  93.  
  94. }
  95. }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement