Siema. Czy ktoś mógłby mi tutaj dodać linijke aby afk guard nie wykopywał graczy z flagą a czyli immunitetem. Bo co chwile mi wywala hltv. Zresztą jak jakiś admin bedzie na kogoś patrzył to też go wywali. Proszę o zmianę w pliczku .sma
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95.
#include <amxmodx> #include <amxmisc> #include <engine> #include <cstrike> #define PLUGIN "m_afk_guard" #define VERSION "0.1" #define AUTHOR "Miczu" new Float: p_time[33] new Float: angle[33] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_cvar("m_afk_kontrol_mode","2") //0 - off //1 - afk time -> kick //2 - afk time -> spec ->afk time 2 ->kick register_cvar("m_afk_kontrol_time","45") register_cvar("m_afk_kontrol_time2","255") register_think("Afk_Guard","g_think") make_guard() } public make_guard() { new ent = create_entity("info_target") entity_set_string(ent, EV_SZ_classname,"Afk_Guard") entity_set_float(ent,EV_FL_nextthink,halflife_time() + 1.0) } public client_PreThink(id) { if(get_user_button(id)!=get_user_oldbutton(id)) p_time[id]=get_gametime() } public g_think(ent) { if(get_cvar_num("m_afk_kontrol_mode")) { new players[32],num new time1 = get_cvar_num("m_afk_kontrol_time") new time2 = get_cvar_num("m_afk_kontrol_time2") new mode = get_cvar_num("m_afk_kontrol_mode") get_players(players,num) for(new i=0;i<num;i++) { if(!is_user_connected(players[i]) || is_user_bot(players[i])) continue new Float:a[3] entity_get_vector(players[i],EV_VEC_angles,a) if(a[0]!=angle[players[i]]) p_time[players[i]] = get_gametime() angle[players[i]] = a[0] if((p_time[players[i]]+time1)<get_gametime()) { if(mode==1) remove_him(players[i]) else { if(cs_get_user_team(players[i])!= CS_TEAM_SPECTATOR) { if(is_user_alive(players[i])) user_silentkill(players[i]) cs_set_user_team(players[i],CS_TEAM_SPECTATOR) } else if((p_time[players[i]]+time1+time2)<get_gametime()) { remove_him(players[i]) } } } } entity_set_float(ent,EV_FL_nextthink,get_gametime() + 1.0) } else entity_set_float(ent,EV_FL_nextthink,halflife_time() + 10.0) } public remove_him(id) { server_cmd("kick #%d", get_user_userid(id)) } public client_putinserver(id) { p_time[id] = get_gametime() }