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)
|
||||
|
||||
set(EnablePrecompiledHeaders 1 CACHE BOOL "Enable Precompiled Headers to reduce compile time")
|
||||
if(${CMAKE_VERSION} VERSION_LESS "3.16.0")
|
||||
unset(NativePrecompiledHeaders)
|
||||
else()
|
||||
set(NativePrecompiledHeaders 1)
|
||||
unset(EnableCotire CACHE)
|
||||
endif()
|
||||
|
||||
set(NativePrecompiledHeaders 1)
|
||||
# Ensure that only 32 bit libraries are used.
|
||||
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/Toolchain-cross-m32.cmake")
|
||||
|
||||
@ -226,9 +219,8 @@ add_subdirectory(include)
|
||||
add_subdirectory(external)
|
||||
add_subdirectory(modules)
|
||||
|
||||
if(EnablePrecompiledHeaders AND NativePrecompiledHeaders)
|
||||
target_precompile_headers(cathook PRIVATE "${CMAKE_SOURCE_DIR}/include/common.hpp")
|
||||
endif()
|
||||
|
||||
target_precompile_headers(cathook PRIVATE "${CMAKE_SOURCE_DIR}/include/common.hpp")
|
||||
|
||||
if (NOT Internal_Symbolized)
|
||||
add_custom_command(TARGET cathook POST_BUILD
|
||||
|
@ -104,7 +104,7 @@
|
||||
<AutoVariable width="fill" target="aimbot.target.ignore-deadringer" label="Ignore Dead Ringer"/>
|
||||
</List>
|
||||
</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">
|
||||
<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."/>
|
||||
|
@ -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);
|
||||
// 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 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 GetForwardVector(Vector origin, Vector viewangles, 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)
|
||||
{
|
||||
trace_t trace;
|
||||
|
||||
if (IsEntityVectorVisible(ent, positions[i], true, MASK_SHOT_HULL, &trace))
|
||||
{
|
||||
if (trace.hitbox == hitbox)
|
||||
@ -261,6 +262,7 @@ std::vector<Vector> getHitpointsVischeck(CachedEntity *ent, int hitbox)
|
||||
for (int i = 0; i < 20; ++i)
|
||||
{
|
||||
trace_t trace;
|
||||
|
||||
if (IsEntityVectorVisible(ent, positions[i], true, MASK_SHOT_HULL, &trace))
|
||||
{
|
||||
if (trace.hitbox == hitbox)
|
||||
@ -693,21 +695,6 @@ bool ShouldAim()
|
||||
if (assistance_only && !MouseMoving())
|
||||
return false;
|
||||
#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;
|
||||
}
|
||||
@ -867,6 +854,7 @@ bool IsTargetStateGood(CachedEntity *entity)
|
||||
PROF_SECTION(PT_aimbot_targetstatecheck);
|
||||
|
||||
const int current_type = entity->m_Type();
|
||||
bool is_player = false;
|
||||
switch (current_type)
|
||||
{
|
||||
|
||||
@ -887,7 +875,7 @@ bool IsTargetStateGood(CachedEntity *entity)
|
||||
else if (IsPlayerInvulnerable(entity))
|
||||
return false;
|
||||
// Distance
|
||||
|
||||
is_player = true;
|
||||
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)
|
||||
return false;
|
||||
@ -973,7 +961,7 @@ bool IsTargetStateGood(CachedEntity *entity)
|
||||
|
||||
AimbotCalculatedData_s &cd = calculated_data_array[entity->m_IDX];
|
||||
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)
|
||||
{
|
||||
@ -984,13 +972,15 @@ bool IsTargetStateGood(CachedEntity *entity)
|
||||
{
|
||||
int i = 0;
|
||||
trace_t first_tracer;
|
||||
|
||||
if (IsEntityVectorVisible(entity, entity->hitboxes.GetHitbox(cd.hitbox)->center, true, MASK_SHOT_HULL, &first_tracer))
|
||||
return true;
|
||||
while (i <= 17) // Prevents returning empty at all costs. Loops through every hitbox
|
||||
{
|
||||
if (i == cd.hitbox)
|
||||
if (i == cd.hitbox && i != 17)
|
||||
i++;
|
||||
trace_t test_trace;
|
||||
|
||||
std::vector<Vector> centered_hitbox = getHitpointsVischeck(entity, i);
|
||||
|
||||
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::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));
|
||||
Ray_t ray;
|
||||
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));
|
||||
g_ITrace->TraceRay(ray, MASK_SHOT_HULL, &trace::filter_default, tracer);
|
||||
return (((IClientEntity *) tracer->m_pEnt) == RAW_ENT(entity) || !tracer->DidHit());
|
||||
g_ITrace->TraceRay(ray, MASK_SHOT_HULL, &trace::filter_default, &trace_obj);
|
||||
return (((IClientEntity *) trace_obj.m_pEnt) == RAW_ENT(entity) || !trace_obj.DidHit());
|
||||
}
|
||||
|
||||
// A function to find a weapon by WeaponID
|
||||
|
Reference in New Issue
Block a user