Menu Fix+Small changes (#1705)
* Menu Fix+Small changes * Fixed bug * Wow, pretty big bugfix. Multipoint works now! * Changed helper to float
This commit is contained in:
parent
735b853c94
commit
0ad0c9f288
@ -1,13 +1,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.20)
|
cmake_minimum_required(VERSION 3.20)
|
||||||
|
|
||||||
set(EnablePrecompiledHeaders 1 CACHE BOOL "Enable Precompiled Headers to reduce compile time")
|
set(NativePrecompiledHeaders 1)
|
||||||
if(${CMAKE_VERSION} VERSION_LESS "3.16.0")
|
|
||||||
unset(NativePrecompiledHeaders)
|
|
||||||
else()
|
|
||||||
set(NativePrecompiledHeaders 1)
|
|
||||||
unset(EnableCotire CACHE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Ensure that only 32 bit libraries are used.
|
# Ensure that only 32 bit libraries are used.
|
||||||
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/Toolchain-cross-m32.cmake")
|
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/Toolchain-cross-m32.cmake")
|
||||||
|
|
||||||
@ -226,9 +219,8 @@ add_subdirectory(include)
|
|||||||
add_subdirectory(external)
|
add_subdirectory(external)
|
||||||
add_subdirectory(modules)
|
add_subdirectory(modules)
|
||||||
|
|
||||||
if(EnablePrecompiledHeaders AND NativePrecompiledHeaders)
|
|
||||||
target_precompile_headers(cathook PRIVATE "${CMAKE_SOURCE_DIR}/include/common.hpp")
|
target_precompile_headers(cathook PRIVATE "${CMAKE_SOURCE_DIR}/include/common.hpp")
|
||||||
endif()
|
|
||||||
|
|
||||||
if (NOT Internal_Symbolized)
|
if (NOT Internal_Symbolized)
|
||||||
add_custom_command(TARGET cathook POST_BUILD
|
add_custom_command(TARGET cathook POST_BUILD
|
||||||
|
@ -104,7 +104,7 @@
|
|||||||
<AutoVariable width="fill" target="aimbot.target.ignore-deadringer" label="Ignore Dead Ringer"/>
|
<AutoVariable width="fill" target="aimbot.target.ignore-deadringer" label="Ignore Dead Ringer"/>
|
||||||
</List>
|
</List>
|
||||||
</Box>
|
</Box>
|
||||||
<Box padding="12 6 6 6" width="content" height="content" name="Autoshoot" x="170" y="250">
|
<Box padding="12 6 6 6" width="content" height="content" name="Autoshoot" x="170" y="290">
|
||||||
<List width="150">
|
<List width="150">
|
||||||
<AutoVariable width="fill" target="aimbot.autoshoot" label="Enable autoshoot" tooltip="Make the aimbot automatically fire your weapon."/>
|
<AutoVariable width="fill" target="aimbot.autoshoot" label="Enable autoshoot" tooltip="Make the aimbot automatically fire your weapon."/>
|
||||||
<AutoVariable width="fill" target="aimbot.wait-for-charge" label="Wait for charge" tooltip="Hold fire until a single shot is enough to kill the target."/>
|
<AutoVariable width="fill" target="aimbot.wait-for-charge" label="Wait for charge" tooltip="Hold fire until a single shot is enough to kill the target."/>
|
||||||
|
@ -118,7 +118,7 @@ bool GetProjectileData(CachedEntity *weapon, float &speed, float &gravity, float
|
|||||||
bool IsVectorVisible(Vector a, Vector b, bool enviroment_only = false, CachedEntity *self = LOCAL_E, unsigned int mask = MASK_SHOT_HULL);
|
bool IsVectorVisible(Vector a, Vector b, bool enviroment_only = false, CachedEntity *self = LOCAL_E, unsigned int mask = MASK_SHOT_HULL);
|
||||||
// A Special function for navparser to check if a Vector is visible.
|
// A Special function for navparser to check if a Vector is visible.
|
||||||
bool IsVectorVisibleNavigation(Vector a, Vector b, unsigned int mask = MASK_SHOT_HULL);
|
bool IsVectorVisibleNavigation(Vector a, Vector b, unsigned int mask = MASK_SHOT_HULL);
|
||||||
bool didProjectileHit(Vector start_point, Vector end_point, CachedEntity *entity, int projectile_size);
|
bool didProjectileHit(Vector start_point, Vector end_point, CachedEntity *entity, float projectile_size);
|
||||||
Vector getShootPos(Vector angle);
|
Vector getShootPos(Vector angle);
|
||||||
Vector GetForwardVector(Vector origin, Vector viewangles, float distance, CachedEntity *punch_entity = nullptr);
|
Vector GetForwardVector(Vector origin, Vector viewangles, float distance, CachedEntity *punch_entity = nullptr);
|
||||||
Vector GetForwardVector(float distance, CachedEntity *punch_entity = nullptr);
|
Vector GetForwardVector(float distance, CachedEntity *punch_entity = nullptr);
|
||||||
|
@ -190,6 +190,7 @@ std::vector<Vector> getValidHitpoints(CachedEntity *ent, int hitbox)
|
|||||||
for (int i = 0; i < 20; ++i)
|
for (int i = 0; i < 20; ++i)
|
||||||
{
|
{
|
||||||
trace_t trace;
|
trace_t trace;
|
||||||
|
|
||||||
if (IsEntityVectorVisible(ent, positions[i], true, MASK_SHOT_HULL, &trace))
|
if (IsEntityVectorVisible(ent, positions[i], true, MASK_SHOT_HULL, &trace))
|
||||||
{
|
{
|
||||||
if (trace.hitbox == hitbox)
|
if (trace.hitbox == hitbox)
|
||||||
@ -261,6 +262,7 @@ std::vector<Vector> getHitpointsVischeck(CachedEntity *ent, int hitbox)
|
|||||||
for (int i = 0; i < 20; ++i)
|
for (int i = 0; i < 20; ++i)
|
||||||
{
|
{
|
||||||
trace_t trace;
|
trace_t trace;
|
||||||
|
|
||||||
if (IsEntityVectorVisible(ent, positions[i], true, MASK_SHOT_HULL, &trace))
|
if (IsEntityVectorVisible(ent, positions[i], true, MASK_SHOT_HULL, &trace))
|
||||||
{
|
{
|
||||||
if (trace.hitbox == hitbox)
|
if (trace.hitbox == hitbox)
|
||||||
@ -693,21 +695,6 @@ bool ShouldAim()
|
|||||||
if (assistance_only && !MouseMoving())
|
if (assistance_only && !MouseMoving())
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
switch (GetWeaponMode())
|
|
||||||
{
|
|
||||||
case weapon_hitscan:
|
|
||||||
break;
|
|
||||||
case weapon_melee:
|
|
||||||
break;
|
|
||||||
// Check we need to run projectile Aimbot code
|
|
||||||
case weapon_projectile:
|
|
||||||
if (!projectileAimbotRequired)
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
// Check if player doesnt have a weapon usable by aimbot
|
|
||||||
default:
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -867,6 +854,7 @@ bool IsTargetStateGood(CachedEntity *entity)
|
|||||||
PROF_SECTION(PT_aimbot_targetstatecheck);
|
PROF_SECTION(PT_aimbot_targetstatecheck);
|
||||||
|
|
||||||
const int current_type = entity->m_Type();
|
const int current_type = entity->m_Type();
|
||||||
|
bool is_player = false;
|
||||||
switch (current_type)
|
switch (current_type)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -887,7 +875,7 @@ bool IsTargetStateGood(CachedEntity *entity)
|
|||||||
else if (IsPlayerInvulnerable(entity))
|
else if (IsPlayerInvulnerable(entity))
|
||||||
return false;
|
return false;
|
||||||
// Distance
|
// Distance
|
||||||
|
is_player = true;
|
||||||
float targeting_range = EffectiveTargetingRange();
|
float targeting_range = EffectiveTargetingRange();
|
||||||
if (entity->m_flDistance() - 40 > targeting_range && tickcount > hacks::shared::aimbot::last_target_ignore_timer) // m_flDistance includes the collision box. You have to subtract it (Should be the same for every model)
|
if (entity->m_flDistance() - 40 > targeting_range && tickcount > hacks::shared::aimbot::last_target_ignore_timer) // m_flDistance includes the collision box. You have to subtract it (Should be the same for every model)
|
||||||
return false;
|
return false;
|
||||||
@ -973,7 +961,7 @@ bool IsTargetStateGood(CachedEntity *entity)
|
|||||||
|
|
||||||
AimbotCalculatedData_s &cd = calculated_data_array[entity->m_IDX];
|
AimbotCalculatedData_s &cd = calculated_data_array[entity->m_IDX];
|
||||||
cd.hitbox = BestHitbox(entity);
|
cd.hitbox = BestHitbox(entity);
|
||||||
if (*vischeck_hitboxes && !*multipoint)
|
if (*vischeck_hitboxes && !*multipoint && is_player)
|
||||||
{
|
{
|
||||||
if (*vischeck_hitboxes == 1 && playerlist::AccessData(entity).state != playerlist::k_EState::RAGE)
|
if (*vischeck_hitboxes == 1 && playerlist::AccessData(entity).state != playerlist::k_EState::RAGE)
|
||||||
{
|
{
|
||||||
@ -984,13 +972,15 @@ bool IsTargetStateGood(CachedEntity *entity)
|
|||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
trace_t first_tracer;
|
trace_t first_tracer;
|
||||||
|
|
||||||
if (IsEntityVectorVisible(entity, entity->hitboxes.GetHitbox(cd.hitbox)->center, true, MASK_SHOT_HULL, &first_tracer))
|
if (IsEntityVectorVisible(entity, entity->hitboxes.GetHitbox(cd.hitbox)->center, true, MASK_SHOT_HULL, &first_tracer))
|
||||||
return true;
|
return true;
|
||||||
while (i <= 17) // Prevents returning empty at all costs. Loops through every hitbox
|
while (i <= 17) // Prevents returning empty at all costs. Loops through every hitbox
|
||||||
{
|
{
|
||||||
if (i == cd.hitbox)
|
if (i == cd.hitbox && i != 17)
|
||||||
i++;
|
i++;
|
||||||
trace_t test_trace;
|
trace_t test_trace;
|
||||||
|
|
||||||
std::vector<Vector> centered_hitbox = getHitpointsVischeck(entity, i);
|
std::vector<Vector> centered_hitbox = getHitpointsVischeck(entity, i);
|
||||||
|
|
||||||
if (IsEntityVectorVisible(entity, centered_hitbox[0], true, MASK_SHOT_HULL, &test_trace))
|
if (IsEntityVectorVisible(entity, centered_hitbox[0], true, MASK_SHOT_HULL, &test_trace))
|
||||||
|
@ -651,16 +651,15 @@ powerup_type GetPowerupOnPlayer(CachedEntity *player)
|
|||||||
return powerup_type::supernova;
|
return powerup_type::supernova;
|
||||||
return powerup_type::not_powerup;
|
return powerup_type::not_powerup;
|
||||||
}
|
}
|
||||||
bool didProjectileHit(Vector start_point, Vector end_point, CachedEntity *entity, int projectile_size)
|
bool didProjectileHit(Vector start_point, Vector end_point, CachedEntity *entity, float projectile_size)
|
||||||
{
|
{
|
||||||
|
|
||||||
trace::filter_default.SetSelf(RAW_ENT(g_pLocalPlayer->entity));
|
trace::filter_default.SetSelf(RAW_ENT(g_pLocalPlayer->entity));
|
||||||
Ray_t ray;
|
Ray_t ray;
|
||||||
trace_t trace_obj;
|
trace_t trace_obj;
|
||||||
trace_t *tracer = &trace_obj;
|
|
||||||
ray.Init(start_point, end_point, Vector(0, -projectile_size, -projectile_size), Vector(0, projectile_size, projectile_size));
|
ray.Init(start_point, end_point, Vector(0, -projectile_size, -projectile_size), Vector(0, projectile_size, projectile_size));
|
||||||
g_ITrace->TraceRay(ray, MASK_SHOT_HULL, &trace::filter_default, tracer);
|
g_ITrace->TraceRay(ray, MASK_SHOT_HULL, &trace::filter_default, &trace_obj);
|
||||||
return (((IClientEntity *) tracer->m_pEnt) == RAW_ENT(entity) || !tracer->DidHit());
|
return (((IClientEntity *) trace_obj.m_pEnt) == RAW_ENT(entity) || !trace_obj.DidHit());
|
||||||
}
|
}
|
||||||
|
|
||||||
// A function to find a weapon by WeaponID
|
// A function to find a weapon by WeaponID
|
||||||
|
Reference in New Issue
Block a user