Shadowless

blacklist_dias

Mar 11th, 2020
1,600
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.26 KB | None | 0 0
  1. /* Plugin generated by AMXX-Studio */
  2. #include <amxmodx>
  3. #include <amxmisc>
  4. #include <colorchat>
  5.  
  6. #define PLUGIN "Black List"
  7. #define VERSION "1.0"
  8. #define AUTHOR "Dias"
  9.  
  10. new const user_file[] = "blacklist_STEAM.ini"
  11. new Array:BlackList
  12.  
  13. new cvar_blacklist_handle
  14. new cvar_blacklist_bantype, cvar_blacklist_bantime
  15.  
  16. public plugin_init()
  17. {
  18. register_plugin(PLUGIN, VERSION, AUTHOR)
  19. cvar_blacklist_handle = register_cvar("bl_handle", "1") // 1 = Kick | 2 = Ban
  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", "60") // 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. get_configsdir(config_dir, sizeof(config_dir))
  34. format(user_file_url, sizeof(user_file_url), "%s/%s", config_dir, user_file)
  35. if(!file_exists(user_file_url))
  36. return
  37. static file_handle, line_data[64], line_count
  38. file_handle = fopen(user_file_url, "rt")
  39. while(!feof(file_handle))
  40. {
  41. fgets(file_handle, line_data, sizeof(line_data))
  42. replace(line_data, charsmax(line_data), "^n", "")
  43. if(!line_data[0] || line_data[0] == ';')
  44. continue
  45. ArrayPushString(BlackList, line_data)
  46. line_count++
  47. }
  48. fclose(file_handle)
  49. }
  50.  
  51. public client_connect(id)
  52. {
  53. check_and_handle(id)
  54. }
  55.  
  56. public client_infochanged(id)
  57. {
  58. check_and_handle(id)
  59. }
  60. public check_and_handle(id)
  61. {
  62. new blackip[32]
  63. static name[64], steamid[64], Data[32]
  64. get_user_name(id, name, sizeof(name))
  65. get_user_authid(id, steamid, sizeof(steamid))
  66. get_user_ip(id, blackip, charsmax(blackip), 1/*no port*/)
  67. for(new i = 0; i < ArraySize(BlackList); i++)
  68. {
  69. ArrayGetString(BlackList, i, Data, sizeof(Data))
  70. if(equal(name, Data) || equal(steamid, Data))
  71. {
  72. if(get_pcvar_num(cvar_blacklist_handle) == 1)
  73. {
  74. server_cmd("amx_kick %s Blacklisted!", name)
  75. server_cmd("kick #%d Blacklisted!", get_user_userid(id))
  76. server_cmd("amx_chat [AMXX] %s was kicked by server. Blacklist STEAM! ",name)
  77. ColorChat(id,NORMAL, "^1[^4AMXX^1] ^3%s ^1was kicked by server. ^4Blacklist STEAM! ",name)
  78.  
  79. log_amx("Nick: %s IP: %s STEAM: %s", name, blackip, steamid)
  80. log_to_file( "blacklist_dias.log", "Nick: %s IP: %s STEAM: %s", name, blackip, steamid )
  81.  
  82. } else if(get_pcvar_num(cvar_blacklist_handle) == 2) {
  83. if(get_pcvar_num(cvar_blacklist_bantype) == 1)
  84. {
  85. server_cmd("amx_ban %s BlackListed %i", steamid, get_pcvar_num(cvar_blacklist_bantime))
  86. server_cmd("amx_chat [AMXX] %s was kicked by server. Blacklist STEAM! ",name)
  87. ColorChat(id,NORMAL, "^1[^4AMXX^1] ^3%s ^1was kicked by server. ^4Blacklist STEAM! ",name)
  88.  
  89. } else if(get_pcvar_num(cvar_blacklist_bantype) == 2) {
  90. server_cmd("amx_banip %s BlackListed %i", name, get_pcvar_num(cvar_blacklist_bantime))
  91. server_cmd("amx_chat [AMXX] %s was kicked by server. Blacklist STEAM! ",name)
  92. ColorChat(id,NORMAL, "^1[^4AMXX^1] ^3%s ^1was kicked by server. ^4Blacklist STEAM! ",name)
  93. }
  94. }
  95. }
  96. }
  97. }
  98.  
  99.  
  100. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  101. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
  102. */
Advertisement
Add Comment
Please, Sign In to add comment