diff --git a/AntiBhopCheat/scripting/AntiBhopCheat.sp b/AntiBhopCheat/scripting/AntiBhopCheat.sp index 4dccac5d..e78d89b9 100644 --- a/AntiBhopCheat/scripting/AntiBhopCheat.sp +++ b/AntiBhopCheat/scripting/AntiBhopCheat.sp @@ -288,11 +288,43 @@ void DoStats(CPlayer Player, CStreak CurStreak, CJump hJump) Player.iHyperJumps++; } + bool bZEElite = false; + if(iPresses > 3) + { + bZEElite = true; + int iPrevTick = -1; + + int iPriorTicks = -1; + for(int j = 0; j < iPresses; j++) + { + int aJunkJump[2]; + hPresses.GetArray(j, aJunkJump); + if(iPrevTick != -1) + { + int iTicks1 = aJunkJump[0] - iPrevTick; + int iTicks2 = aJunkJump[1] - aJunkJump[0]; + if (iPriorTicks != -1 && (iTicks1 != iPriorTicks || iTicks1 != iTicks2)) + { + bZEElite = false; + break; + } + + iPriorTicks = iTicks1; + } + iPrevTick = aJunkJump[1]; + } + } + if(iNextJump != -1 && iNextJump <= 1 && (iLastJunk > 5 || iPresses <= 2) && hJump.fEndVel >= 285.0) { CurStreak.iHackJumps++; Player.iHackJumps++; } + else if (bZEElite) + { + CurStreak.iHackJumps++; + Player.iHackJumps++; + } int aGlobalJumps[3]; Player.GetJumps(aGlobalJumps); @@ -331,6 +363,7 @@ void CheckStats(CPlayer Player, CStreak Streak) CPrintToChat(client, "{green}[SM]{default} Turn off your bhop macro/script or hyperscroll!"); CPrintToChat(client, "{green}[SM]{default} Your bhop is {red}turned off{default} until you bhop legit again."); LimitBhop(client, true); + //NotifyAdmins(client, "hyperscroll streak"); } else if(IsBhopLimited(client)) { @@ -358,6 +391,7 @@ void CheckStats(CPlayer Player, CStreak Streak) CPrintToChat(client, "{green}[SM]{default} Turn off your bhop macro/script or hyperscroll!"); CPrintToChat(client, "{green}[SM]{default} Your bhop is {red}turned off{default} until you bhop legit again."); LimitBhop(client, true); + //NotifyAdmins(client, "hyperscroll global"); } } else if(Player.bHyperGlobal && IsBhopLimited(client)) @@ -366,6 +400,23 @@ void CheckStats(CPlayer Player, CStreak Streak) CPrintToChat(client, "{green}[SM]{default} Your bhop is {green}turned on{default} again."); } } + + /*if(iGlobalJumps >= 100) + { + int aGlobalJumps[3]; + Player.GetJumps(aGlobalJumps); + if ((aGlobalJumps[0] / float(iGlobalJumps)) >= 0.6 && !Player.bHackGlobal && !Player.bHyperGlobal) + { + Player.bHackGlobal = true; + NotifyAdmins(client, "bhop hack experimental type 1"); + }*/ + /*else if ((aGlobalJumps[0] / float(iGlobalJumps)) >= 0.5 && aGlobalJumps[2] / float(iGlobalJumps) <= 0.02 && !Player.bHackGlobal) + { + Player.bHackGlobal = true; + NotifyAdmins(client, "bhop hack experimental type 2"); + } + }*/ + } NotifyAdmins(int client, const char[] sReason)