Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <fakemeta>
- #define PLUGIN "FPS Hack Detector"
- #define VERSION "1.0"
- #define AUTHOR "Mistrick + Seroff"
- new g_iFPS[33], g_iFrame[33], g_iMaxPlayers;
- public plugin_init()
- {
- register_plugin(PLUGIN, VERSION, AUTHOR);
- register_forward(FM_PlayerPostThink, "FM_PlayerPostThink_Pre", 0);
- register_forward(FM_PlayerPostThink, "FM_PlayerPostThink_Post", 1);
- set_task(1.0, "CheckFps", _, _, _, "b");
- g_iMaxPlayers = get_maxplayers();
- }
- public client_putinserver(id){
- g_iFPS[id]=0;
- }
- public FM_PlayerPostThink_Pre(id)
- {
- if(!is_user_alive(id)) return FMRES_IGNORED;
- g_iFrame[id] += 1;
- return FMRES_IGNORED;
- }
- public FM_PlayerPostThink_Post(id)
- {
- if(!is_user_alive(id)) return FMRES_IGNORED;
- new fps=g_iFPS[id]-5;
- if( fps > 101 || fps < -5){
- server_cmd("kick #%d ^"FPS Hack Detected!^"",get_user_userid(id));
- log_to_file("addons/amxmodx/logs/fpshack.log","Player: %s FPS: [%d]",get_name(id),fps);
- }
- return FMRES_IGNORED;
- }
- public CheckFps()
- {
- static id;
- for(id = 1; id <= g_iMaxPlayers; id++)
- {
- if(!is_user_alive(id)) continue;
- g_iFPS[id] = g_iFrame[id];
- g_iFrame[id] = 0;
- }
- }
- stock get_name(id){
- new Name[33];
- get_user_name(id,Name,charsmax(Name));
- return Name;
- }
Add Comment
Please, Sign In to add comment