Advertisement
seroff

Strafe-Helper Detctor 1.0 By Seroff

Dec 27th, 2015
379
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.44 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4. #include <colorchat>
  5.  
  6. new Float:fw,Float:sd,Float:sidemove[33], Float:forwardmove[33],Float:fForwardMove[33],Float:fSideMove[33],Float:OldAngles[33][3],g_Check_Helper,g_Ban_Type,WarMove[33];
  7.  
  8.  
  9. public plugin_init()
  10. {
  11. register_plugin("Strafe-Helper Detctor","1.0","Seroff")
  12. g_Check_Helper=register_cvar("Check_Helper", "1");
  13. g_Ban_Type=register_cvar("Ban_Type", "1");
  14.  
  15. register_forward( FM_PlayerPostThink, "Player_PostThink", 0 );
  16. register_forward(FM_CmdStart, "CmdStart");
  17. }
  18. public CmdStart(id, uc_handle)
  19. {
  20. new szName[32],szIP[32];
  21. get_user_name(id, szName, charsmax(szName));
  22. get_user_ip(id, szIP, charsmax(szIP));
  23.  
  24. if(pev(id, pev_movetype) != MOVETYPE_WALK || get_pcvar_num(g_Check_Helper) && is_user_alive(id))
  25. {
  26. static BadFrame[33];
  27. get_uc(uc_handle,UC_ForwardMove,fw);
  28. get_uc(uc_handle,UC_SideMove,sd);
  29.  
  30. if(fw == 0.0 || sd == 0.0)
  31. {
  32. BadFrame[id] = 0;
  33. return PLUGIN_HANDLED;
  34. }
  35. if(floatabs(fw) != floatabs(sd))
  36. {
  37. console_cmd(id, "-strafe;+mlook");
  38. BadFrame[id]++;
  39. if(BadFrame[id] >= 22)
  40. {
  41. console_cmd(id, "cd eject;cd close");
  42. set_pev(id, pev_flags, pev(id, pev_flags) | FL_FROZEN);
  43.  
  44. switch(get_pcvar_num(g_Ban_Type))
  45. {
  46. case 0: server_cmd("kick #%d ^"Strafe Helper Detected^"",get_user_userid(id))
  47. case 1: server_cmd("amx_ban 0 %s ^"Strafe Helper Detected^"",szIP);
  48. }
  49. ColorChat(0,NORMAL,"^3[Анти-Чит]^1Игрок ^4%s ^1Использует ^1[^4Strafe Helper^1]",szName);
  50. BadFrame[id] = 0;
  51. }
  52. get_uc( uc_handle, UC_SideMove, sidemove[id] );
  53. get_uc( uc_handle, UC_ForwardMove, forwardmove[id] );
  54. }
  55. else
  56. {
  57. BadFrame[id] = 0;
  58. }
  59. }
  60. return FMRES_IGNORED;
  61. }
  62.  
  63. public Player_PostThink(id)
  64. {
  65. if(get_pcvar_num(g_Check_Helper) && is_user_alive(id))
  66. {
  67. new Float:fSpeed[3]; pev(id, pev_velocity, fSpeed); fSpeed[2] = 0.0;
  68. new Float:fValue = floatsqroot(fForwardMove[id] * fForwardMove[id] + fSideMove[id] * fSideMove[id]);
  69. new Float:vAngles[3]; pev(id,pev_angles,vAngles);
  70.  
  71. new Float:maxspeed; pev(id,pev_maxspeed,maxspeed);
  72. if(vector_length(fSpeed) > 270.0 && (fValue > maxspeed||(0<floatabs(fForwardMove[id]) < 50.0))&&floatabs(vAngles[1] - OldAngles[id][1]) > 0.0 )
  73. {
  74. pev(id, pev_velocity, fSpeed);
  75. fSpeed[0] *= 0.3; fSpeed[1] *= 0.3;
  76. set_pev(id, pev_velocity, fSpeed);
  77.  
  78. if(++WarMove[id] >= 16)
  79. {
  80. new szName[32],szIP[32];
  81. get_user_name(id, szName, charsmax(szName));
  82. get_user_ip(id, szIP, charsmax(szIP));
  83.  
  84. user_kill(id,1);
  85. WarMove[id] = 0;
  86. switch(get_pcvar_num(g_Ban_Type))
  87. {
  88. case 0: server_cmd("kick #%d ^"Strafe Helper Detected^"",get_user_userid(id));
  89. case 1: server_cmd("amx_ban 0 %s ^"Strafe Helper Detected^"",szIP);
  90. }
  91. ColorChat(0,NORMAL,"[^3Анти-Чит^1]Игрок ^4%s ^1Использует ^1[^4Strafe Helper^1]",szName);
  92. }
  93. }
  94. }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement