detect ZE elite bhop hack

This commit is contained in:
neon 2022-06-16 21:18:35 +01:00
parent 93897dfc4f
commit 208496a909

View File

@ -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)