seroff

Kick-ID-Players 1.0 By Seroff

Dec 27th, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.01 KB | None | 0 0
  1. #include <amxmodx>
  2.  
  3.  
  4.  
  5. #define LOG_FILE "addons/amxmodx/logs/kick_id_players.log"
  6.  
  7. #define CONFIG_FILE "addons/amxmodx/configs/kick_id_players.cfg"
  8.  
  9.  
  10.  
  11. new g_lan,g_valve,g_auto,g_steam,g_logs,g_schat,g_hltv;
  12.  
  13.  
  14.  
  15. public plugin_init(){
  16.  
  17. register_plugin("Kick-ID-Players","1.0","Seroff");
  18.  
  19. g_lan=register_cvar("kick_lan_id","1");// Выгонять игроков с ID_LAN
  20.  
  21. g_auto=register_cvar("kick_auto_cfg","1");// Авто создание конфига
  22.  
  23. g_logs=register_cvar("kick_logs","1");// Логи
  24.  
  25. g_schat=register_cvar("kick_show_chat","1");// Вывот в чат
  26.  
  27. g_valve=register_cvar("kick_valve_id","0");// Кому не нужно игроков с VALVE_ID
  28.  
  29. g_hltv=register_cvar("kick_hltv_id","0");// Кому не нужно HLTV
  30.  
  31. g_steam=register_cvar("kick_nosteam_players","0");// Кому надо Only Steam
  32.  
  33. }
  34.  
  35.  
  36.  
  37. public plugin_cfg()
  38.  
  39. {
  40.  
  41. new iAutoCFG=get_pcvar_num(g_auto);
  42.  
  43. switch(iAutoCFG)
  44.  
  45. {
  46.  
  47. case 1:{
  48.  
  49. TryConfig();
  50.  
  51. server_cmd("exec %s",CONFIG_FILE);
  52.  
  53. }
  54.  
  55. case 2:{
  56.  
  57. if ( file_exists(CONFIG_FILE) ){
  58.  
  59. server_cmd("exec %s",CONFIG_FILE);
  60.  
  61. }
  62.  
  63. }
  64.  
  65. }
  66.  
  67. }
  68.  
  69.  
  70.  
  71. stock TryConfig() {
  72.  
  73.  
  74.  
  75. if ( file_exists(CONFIG_FILE) )
  76.  
  77.  
  78.  
  79. return false
  80.  
  81.  
  82.  
  83. static line0[]= "// Kick ID Players V1.0 By Seroff"
  84.  
  85.  
  86.  
  87. static line1[]= "kick_lan_id ^"1^" // Выгонять игроков с LAN_ID"
  88.  
  89.  
  90.  
  91. static line2[]= "kick_auto_cfg ^"1^" // Создавать конфиг автоматически или использовать свой, 0 - не использовать свой, 1 - создавать и использовать свой конфиг, 2 - использовать свой конфиг"
  92.  
  93.  
  94.  
  95. static line3[]= "kick_logs ^"1^" // Записовать ли логи?"
  96.  
  97.  
  98.  
  99. static line4[]= "kick_show_chat ^"1^" // Выводить в чат информацию"
  100.  
  101.  
  102.  
  103. static line5[]= "kick_valve_id ^"0^" // Выгонять игроков с VALVE_ID"
  104.  
  105.  
  106.  
  107. static line6[]= "kick_hltv_id ^"0^" // Выгонять HLTV"
  108.  
  109.  
  110.  
  111. static line7[]= "kick_nosteam_players ^"0^" // Выгонять игроков с No Steam"
  112.  
  113.  
  114.  
  115. static line8[]= "echo ^"Kick ID Players Config Executed^""
  116.  
  117.  
  118.  
  119. static line9[]= "// Контактные данные: skype: cheats-2013; vk: vk.com/sachoc_pro"
  120.  
  121.  
  122.  
  123.  
  124.  
  125. new CONFIG_SAVE[999]; formatex(CONFIG_SAVE, charsmax(CONFIG_SAVE), "%s^r^n%s^r%s^r%s^r%s^r%s^r%s^r%s^r^n%s^r^n%s", line0, line1, line2, line3, line4, line5, line6, line7, line8, line9)
  126.  
  127.  
  128.  
  129. new F = fopen( CONFIG_FILE , "w" )
  130.  
  131.  
  132.  
  133. fputs( F , CONFIG_SAVE )
  134.  
  135.  
  136.  
  137. fclose( F )
  138.  
  139.  
  140.  
  141. return true
  142.  
  143.  
  144.  
  145. }
  146.  
  147.  
  148.  
  149. public client_connect(id){
  150.  
  151. new authid[32],userid=get_user_userid(id),name[40];
  152.  
  153. get_user_name(id,name,39);
  154.  
  155. get_user_authid(id,authid,31);
  156.  
  157. if(get_pcvar_num(g_lan)){
  158.  
  159. if(equali(authid,"STEAM_ID_LAN") || equali(authid,"VALVE_ID_LAN"))
  160.  
  161. {
  162.  
  163. if(get_pcvar_num(g_schat)){
  164.  
  165. ShowMsg(0,"!yУ игрока: !g%s !g[!tCS старая!g]!y!",name)
  166.  
  167. }
  168.  
  169. if(get_pcvar_num(g_logs))
  170.  
  171. {
  172.  
  173. log_to_file(LOG_FILE,"[Steam ID/VALVE_ID LAN] Player: <%s> | ID : [%s]",name,authid);
  174.  
  175. }
  176.  
  177. server_cmd("kick #%d ^"Смени CS, Твоя Версия CS Устарела!^"", userid);
  178.  
  179. }
  180.  
  181. }
  182.  
  183. if(get_pcvar_num(g_valve)){
  184.  
  185. if(containi(authid,"VALVE_ID_0:")!=-1)
  186.  
  187. {
  188.  
  189. if(get_pcvar_num(g_schat)){
  190.  
  191. ShowMsg(0,"!yУ игрока: !g%s !g[!tCS с VALVE_ID!g]!y!",name)
  192.  
  193. }
  194.  
  195. if(get_pcvar_num(g_logs))
  196.  
  197. {
  198.  
  199. log_to_file(LOG_FILE,"[VALVE_ID] Player: <%s> | ID : [%s]",name,authid);
  200.  
  201. }
  202.  
  203. server_cmd("kick #%d VALVE_ID Detected!^"",userid)
  204.  
  205. }
  206.  
  207. }
  208.  
  209. if(!is_user_steam(id)&&get_pcvar_num(g_steam)){
  210.  
  211. if(get_pcvar_num(g_schat)){
  212.  
  213. ShowMsg(0,"!yУ игрока: !g%s !g[!tCS No Steam!g]!y!",name)
  214.  
  215. }
  216.  
  217. if(get_pcvar_num(g_logs))
  218.  
  219. {
  220.  
  221. log_to_file(LOG_FILE,"[NO STEAM] Player: <%s> | ID : [%s]",name,authid);
  222.  
  223. }
  224.  
  225. server_cmd("kick #%d No Steam, купи Steam CS!^"",userid)
  226.  
  227. }
  228.  
  229. if(get_pcvar_num(g_hltv))
  230.  
  231. {
  232.  
  233. if(get_pcvar_num(g_schat)){
  234.  
  235. ShowMsg(0,"!yУ игрока: !g%s !g[!tHLTV!g]!y!",name)
  236.  
  237. }
  238.  
  239. if(get_pcvar_num(g_logs))
  240.  
  241. {
  242.  
  243. log_to_file(LOG_FILE,"[HLTV] Player: <%s> | ID : [%s]",name,authid);
  244.  
  245. }
  246.  
  247. server_cmd("kick #%d HLTV!^"",userid)
  248.  
  249. }
  250.  
  251. }
  252.  
  253.  
  254.  
  255.  
  256.  
  257. stock bool:is_user_steam(id)
  258.  
  259. {
  260.  
  261. // Author Sh0oter
  262.  
  263. static dp_pointer
  264.  
  265. if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  266.  
  267. {
  268.  
  269. server_cmd("dp_clientinfo %d", id)
  270.  
  271. server_exec()
  272.  
  273. return (get_pcvar_num(dp_pointer) == 2) ? true : false
  274.  
  275. }
  276.  
  277. return false
  278.  
  279. }
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287. stock ShowMsg ( const id, const input [ ], any:... )
  288.  
  289. {
  290.  
  291. new count = 1, players [ 32 ]
  292.  
  293. static msg [ 188 ]
  294.  
  295. vformat ( msg, 187, input, 3 )
  296.  
  297.  
  298.  
  299. replace_all ( msg, 187, "!g", "^4" )
  300.  
  301. replace_all ( msg, 187, "!y", "^1" )
  302.  
  303. replace_all ( msg, 187, "!t", "^3" )
  304.  
  305.  
  306.  
  307. if ( id ) players [ 0 ] = id; else get_players ( players, count, "ch" )
  308.  
  309. {
  310.  
  311. for ( new i = 0; i < count; i++ )
  312.  
  313. {
  314.  
  315. if ( is_user_connected ( players [ i ] ) )
  316.  
  317. {
  318.  
  319. message_begin ( MSG_ONE_UNRELIABLE, get_user_msgid ( "SayText" ), _, players [ i ] )
  320.  
  321. write_byte ( players [ i ] )
  322.  
  323. write_string ( msg )
  324.  
  325. message_end ( )
  326.  
  327. }
  328.  
  329. }
  330.  
  331. }
  332.  
  333. }
Advertisement
Add Comment
Please, Sign In to add comment