Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Plugin generated by AMXX-Studio */
- #include <amxmodx>
- #include <fakemeta>
- #include <colorchat>
- #define PLUGIN "Check Strafe-Macros"
- #define VERSION "1.0"
- #define AUTHOR "Seroff"
- new WarAngles[33]
- new Float:OldAngles[33][3],Float:WarOldAngles[33][3];
- new g_ban_type,g_Check_Strafe;
- public plugin_init() {
- register_plugin(PLUGIN, VERSION, AUTHOR)
- g_Check_Strafe=register_cvar("Check_Strafe", "1");
- g_ban_type=register_cvar("Ban_Type", "1");
- register_forward(FM_CmdStart, "Player_CmdStart");
- }
- public Player_CmdStart(id, uc_handle)
- {
- if(get_pcvar_num(g_Check_Strafe) && is_user_alive(id))
- {
- static Float:Speed[3];
- pev(id,pev_velocity,Speed);
- if(!(pev(id,pev_movetype) == MOVETYPE_FLY)
- && !(pev(id,pev_flags) & (FL_ONGROUND | FL_FLY | FL_FROZEN))
- && !(floatround(vector_length(Speed), floatround_floor) > 555))
- {
- if(pev(id, pev_button) & IN_LEFT
- || pev(id, pev_button) & IN_RIGHT)
- {
- WarAngles[id] = 0;
- Speed[0] *= 0.3; Speed[1] *= 0.3;
- set_pev(id, pev_velocity, Speed);
- }
- if(get_pdata_int(id, 247, 5) & (IN_MOVELEFT | IN_MOVERIGHT | IN_FORWARD | IN_BACK))
- {
- static Float:Angles[3]; pev(id,pev_angles,Angles);
- if(Angles[0] == OldAngles[id][0] && Angles[1] != OldAngles[id][1])
- {
- if(get_pdata_int(id, 247, 5) & (IN_MOVELEFT | IN_MOVERIGHT | IN_FORWARD | IN_BACK))
- {
- static Float:Angles[3]; pev(id,pev_angles,Angles);
- if(Angles[0] == WarOldAngles[id][0] && Angles[1] != WarOldAngles[id][1])
- {
- console_cmd(id,"+mlook");
- if(++WarAngles[id] >= 5)
- {
- new szName[32],szIP[32];
- get_user_name(id, szName, charsmax(szName));
- get_user_ip(id, szIP, charsmax(szIP));
- user_kill(id,1);
- WarAngles[id] = 0;
- switch(get_pcvar_num(g_ban_type))
- {
- case 0: server_cmd("kick #%d ^"Fake Strafe Detected^"",get_user_userid(id));
- case 1: server_cmd("amx_ban 0 %s ^"Fake Strafe Detected^"",szIP);
- }
- ColorChat(0,NORMAL,"[^3Анти-Чит^1]Игрок ^4%s ^1Использует [^4Fake Strafe^1]",szName);
- }
- }
- else WarAngles[id] = 0;
- WarOldAngles[id] = OldAngles[id];
- }
- else return FMRES_IGNORED;
- }
- else WarAngles[id] = 0;
- OldAngles[id] = Angles;
- }
- else return FMRES_IGNORED;
- }
- else WarAngles[id] = 0;
- }
- return FMRES_IGNORED;
- }
Advertisement
Add Comment
Please, Sign In to add comment