Fix isBacktrackEnabled
This commit is contained in:
parent
9b8cb223a8
commit
77dcc3d44f
@ -40,7 +40,6 @@ void Run();
|
|||||||
void Draw();
|
void Draw();
|
||||||
void AddLatencyToNetchan(INetChannel *, float);
|
void AddLatencyToNetchan(INetChannel *, float);
|
||||||
void UpdateIncomingSequences();
|
void UpdateIncomingSequences();
|
||||||
bool shouldBacktrack();
|
|
||||||
extern int lastincomingsequencenumber;
|
extern int lastincomingsequencenumber;
|
||||||
extern int BestTick;
|
extern int BestTick;
|
||||||
extern int iBestTarget;
|
extern int iBestTarget;
|
||||||
@ -60,7 +59,7 @@ typedef boost::circular_buffer_space_optimized<CIncomingSequence> circular_buf;
|
|||||||
extern circular_buf sequences;
|
extern circular_buf sequences;
|
||||||
extern BacktrackData headPositions[32][66];
|
extern BacktrackData headPositions[32][66];
|
||||||
|
|
||||||
bool isBacktrackEnabled();
|
extern bool isBacktrackEnabled;
|
||||||
float getLatency();
|
float getLatency();
|
||||||
int getTicks();
|
int getTicks();
|
||||||
bool ValidTick(BacktrackData &i, CachedEntity *ent);
|
bool ValidTick(BacktrackData &i, CachedEntity *ent);
|
||||||
|
@ -91,7 +91,7 @@ AimbotCalculatedData_s calculated_data_array[2048]{};
|
|||||||
#define IsMelee GetWeaponMode() == weapon_melee
|
#define IsMelee GetWeaponMode() == weapon_melee
|
||||||
bool BacktrackAimbot()
|
bool BacktrackAimbot()
|
||||||
{
|
{
|
||||||
if (!hacks::shared::backtrack::isBacktrackEnabled() || !*backtrackAimbot)
|
if (!hacks::shared::backtrack::isBacktrackEnabled || !*backtrackAimbot)
|
||||||
return false;
|
return false;
|
||||||
if (aimkey && !aimkey.isKeyDown())
|
if (aimkey && !aimkey.isKeyDown())
|
||||||
return true;
|
return true;
|
||||||
|
@ -45,9 +45,9 @@ int ClosestDistanceHitbox(CachedEntity *target,
|
|||||||
{
|
{
|
||||||
int closest = -1;
|
int closest = -1;
|
||||||
float closest_dist = 0.0f, dist = 0.0f;
|
float closest_dist = 0.0f, dist = 0.0f;
|
||||||
for (int i = spine_0; i < spine_3; i++)
|
for (int i = pelvis; i < lowerArm_R; i++)
|
||||||
{
|
{
|
||||||
if (hacks::shared::backtrack::isBacktrackEnabled())
|
if (hacks::shared::backtrack::isBacktrackEnabled)
|
||||||
dist = g_pLocalPlayer->v_Eye.DistTo(btd.hitboxes.at(i).center);
|
dist = g_pLocalPlayer->v_Eye.DistTo(btd.hitboxes.at(i).center);
|
||||||
else
|
else
|
||||||
dist = g_pLocalPlayer->v_Eye.DistTo(
|
dist = g_pLocalPlayer->v_Eye.DistTo(
|
||||||
@ -67,7 +67,7 @@ bool unifiedCanBackstab(Vector &vecAngle, Vector min, Vector max,
|
|||||||
// Get melee range
|
// Get melee range
|
||||||
float meleeRange = re::C_TFWeaponBaseMelee::GetSwingRange(RAW_ENT(LOCAL_W));
|
float meleeRange = re::C_TFWeaponBaseMelee::GetSwingRange(RAW_ENT(LOCAL_W));
|
||||||
if (fabsf(vecAngle.y -
|
if (fabsf(vecAngle.y -
|
||||||
NET_VECTOR(RAW_ENT(besttarget), netvar.m_angEyeAngles).y) >= 50)
|
NET_VECTOR(RAW_ENT(besttarget), netvar.m_angEyeAngles).y) >= 60.0f)
|
||||||
return false;
|
return false;
|
||||||
if (!min.x && !max.x)
|
if (!min.x && !max.x)
|
||||||
return false;
|
return false;
|
||||||
@ -104,9 +104,8 @@ bool unifiedCanBackstab(Vector &vecAngle, Vector min, Vector max,
|
|||||||
forward.z = -sp;
|
forward.z = -sp;
|
||||||
forward = forward * meleeRange + head;
|
forward = forward * meleeRange + head;
|
||||||
|
|
||||||
Vector hit;
|
|
||||||
// Check if we our line is within the targets hitbox
|
// Check if we our line is within the targets hitbox
|
||||||
if (hacks::shared::triggerbot::CheckLineBox(minz, maxz, head, forward, hit))
|
if (LineIntersectsBox(minz, maxz, head, forward))
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -122,7 +121,7 @@ void CreateMove()
|
|||||||
if (!CanShoot())
|
if (!CanShoot())
|
||||||
return;
|
return;
|
||||||
CachedEntity *besttarget = nullptr;
|
CachedEntity *besttarget = nullptr;
|
||||||
if (!backtrack::isBacktrackEnabled())
|
if (!backtrack::isBacktrackEnabled)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < g_IEngine->GetMaxClients(); i++)
|
for (int i = 0; i < g_IEngine->GetMaxClients(); i++)
|
||||||
{
|
{
|
||||||
@ -173,7 +172,7 @@ void CreateMove()
|
|||||||
{
|
{
|
||||||
hacks::shared::anti_anti_aim::resolveEnt(besttarget->m_IDX);
|
hacks::shared::anti_anti_aim::resolveEnt(besttarget->m_IDX);
|
||||||
Vector angle = NET_VECTOR(RAW_ENT(LOCAL_E), netvar.m_angEyeAngles);
|
Vector angle = NET_VECTOR(RAW_ENT(LOCAL_E), netvar.m_angEyeAngles);
|
||||||
if (!backtrack::isBacktrackEnabled())
|
if (!backtrack::isBacktrackEnabled)
|
||||||
{
|
{
|
||||||
for (angle.y = -180.0f; angle.y < 180.0f; angle.y += 10.0f)
|
for (angle.y = -180.0f; angle.y < 180.0f; angle.y += 10.0f)
|
||||||
{
|
{
|
||||||
|
@ -22,10 +22,12 @@ namespace hacks::shared::backtrack
|
|||||||
{
|
{
|
||||||
void EmptyBacktrackData(BacktrackData &i);
|
void EmptyBacktrackData(BacktrackData &i);
|
||||||
std::pair<int, int> getBestEntBestTick();
|
std::pair<int, int> getBestEntBestTick();
|
||||||
|
bool shouldBacktrack();
|
||||||
|
|
||||||
BacktrackData headPositions[32][66]{};
|
BacktrackData headPositions[32][66]{};
|
||||||
int highesttick[32]{};
|
int highesttick[32]{};
|
||||||
int lastincomingsequencenumber = 0;
|
int lastincomingsequencenumber = 0;
|
||||||
static bool shouldDrawBt;
|
bool isBacktrackEnabled;
|
||||||
|
|
||||||
circular_buf sequences{ 2048 };
|
circular_buf sequences{ 2048 };
|
||||||
void UpdateIncomingSequences()
|
void UpdateIncomingSequences()
|
||||||
@ -71,19 +73,16 @@ int BestTick = 0;
|
|||||||
int iBestTarget = -1;
|
int iBestTarget = -1;
|
||||||
void Run()
|
void Run()
|
||||||
{
|
{
|
||||||
if (!enable)
|
if (!shouldBacktrack())
|
||||||
|
{
|
||||||
|
isBacktrackEnabled = false;
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
isBacktrackEnabled = true;
|
||||||
|
|
||||||
if (CE_BAD(LOCAL_E))
|
if (CE_BAD(LOCAL_E))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!shouldBacktrack())
|
|
||||||
{
|
|
||||||
shouldDrawBt = false;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
shouldDrawBt = true;
|
|
||||||
|
|
||||||
CUserCmd *cmd = current_user_cmd;
|
CUserCmd *cmd = current_user_cmd;
|
||||||
float bestFov = 99999;
|
float bestFov = 99999;
|
||||||
|
|
||||||
@ -151,12 +150,10 @@ void Run()
|
|||||||
void Draw()
|
void Draw()
|
||||||
{
|
{
|
||||||
#if ENABLE_VISUALS
|
#if ENABLE_VISUALS
|
||||||
if (!enable)
|
if (!isBacktrackEnabled)
|
||||||
return;
|
return;
|
||||||
if (!draw_bt)
|
if (!draw_bt)
|
||||||
return;
|
return;
|
||||||
if (!shouldDrawBt)
|
|
||||||
return;
|
|
||||||
for (int i = 0; i < g_IEngine->GetMaxClients(); i++)
|
for (int i = 0; i < g_IEngine->GetMaxClients(); i++)
|
||||||
{
|
{
|
||||||
CachedEntity *ent = ENTITY(i);
|
CachedEntity *ent = ENTITY(i);
|
||||||
@ -192,10 +189,16 @@ void Draw()
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Internal only, use isBacktrackEnabled var instead
|
||||||
bool shouldBacktrack()
|
bool shouldBacktrack()
|
||||||
{
|
{
|
||||||
|
if (!*enable)
|
||||||
|
return false;
|
||||||
|
CachedEntity *wep = g_pLocalPlayer->weapon();
|
||||||
|
if (CE_BAD(wep))
|
||||||
|
return false;
|
||||||
int slot =
|
int slot =
|
||||||
re::C_BaseCombatWeapon::GetSlot(RAW_ENT(g_pLocalPlayer->weapon()));
|
re::C_BaseCombatWeapon::GetSlot(RAW_ENT(wep));
|
||||||
switch ((int) slots)
|
switch ((int) slots)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
@ -229,11 +232,6 @@ bool shouldBacktrack()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isBacktrackEnabled()
|
|
||||||
{
|
|
||||||
return *enable;
|
|
||||||
}
|
|
||||||
|
|
||||||
float getLatency()
|
float getLatency()
|
||||||
{
|
{
|
||||||
return *latency;
|
return *latency;
|
||||||
@ -293,7 +291,7 @@ std::pair<int, int> getBestEntBestTick()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
float bestFov = 0.0f;
|
float bestFov = 100.0f;
|
||||||
for (int i = 0; i < g_IEngine->GetMaxClients(); i++)
|
for (int i = 0; i < g_IEngine->GetMaxClients(); i++)
|
||||||
{
|
{
|
||||||
CachedEntity *tar = ENTITY(i);
|
CachedEntity *tar = ENTITY(i);
|
||||||
|
@ -109,7 +109,7 @@ void CreateMove()
|
|||||||
CachedEntity *ent = FindEntInSight(EffectiveTargetingRange());
|
CachedEntity *ent = FindEntInSight(EffectiveTargetingRange());
|
||||||
|
|
||||||
// Check if can backtrack, shoot if we can
|
// Check if can backtrack, shoot if we can
|
||||||
if (!CanBacktrack() || hacks::shared::backtrack::isBacktrackEnabled())
|
if (!CanBacktrack() || hacks::shared::backtrack::isBacktrackEnabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Check if dormant or null to prevent crashes
|
// Check if dormant or null to prevent crashes
|
||||||
|
Reference in New Issue
Block a user