OsirisAndExtra icon indicating copy to clipboard operation
OsirisAndExtra copied to clipboard

Freestanding

Open JannesBonk opened this issue 2 years ago • 5 comments

without it, u can get tapped by rawetrip bruh

JannesBonk avatar Jul 05 '22 19:07 JannesBonk

without it, u can get tapped by rawetrip bruh

I rape rawetrip users with stock osiris wdym?

rrhyast avatar Jul 06 '22 03:07 rrhyast

without it, u can get tapped by rawetrip bruh

I rape rawetrip users with stock osiris wdym?

ideal ticking with rawetrip?

JannesBonk avatar Jul 06 '22 06:07 JannesBonk

without it, u can get tapped by rawetrip bruh

I rape rawetrip users with stock osiris wdym?

ideal ticking with rawetrip?

?

rrhyast avatar Jul 06 '22 07:07 rrhyast

without it, u can get tapped by rawetrip bruh

I rape rawetrip users with stock osiris wdym?

ideal ticking with rawetrip?

?

bro all rawetrip users i met either have a resolver from a lua or have ideal tick lua

JannesBonk avatar Jul 06 '22 07:07 JannesBonk

void antiaim::freestanding() {

 

std::vector< angle_data > points;

 

auto local_position = g_LocalPlayer->GetEyePos();

std::vector< float > scanned = {};

 

for( auto i = 0; i <= 64; i++ ) {

auto enemy = dynamic_cast< C_BasePlayer* >(g_EntityList->GetClientEntity( i ));

if( enemy == nullptr ) continue;

if( enemy == g_LocalPlayer ) continue;

if( !enemy->IsAlive() ) continue;

if( enemy->m_iTeamNum() == g_LocalPlayer->m_iTeamNum() ) continue;

if( enemy->IsDormant() ) continue;

if( !enemy->IsPlayer() ) continue;

 

QAngle view;

local_position.AngleTo( enemy->GetEyePos(), view );

 

std::vector< angle_data > angs;

 

for( auto y = 0; y < 8; y++ ) {

auto ang = quick_normalize( ( y * 45 ) + view.yaw, -180.f, 180.f );

auto found = false; // check if we already have a similar angle

 

for( auto i2 : scanned )

if( abs( quick_normalize( i2 - ang, -180.f, 180.f ) ) < 20.f )

found = true;

 

if( found )

continue;

 

points.emplace_back( ang, -1.f );

scanned.push_back( ang );

}

//points.push_back(base_angle_data(view.y, angs)); // base yaws and angle data (base yaw needed for lby breaking etc)

}

 

for( auto i = 0; i <= 64; i++ ) {

auto enemy = dynamic_cast< C_BasePlayer* >(g_EntityList->GetClientEntity( i ));

if( enemy == nullptr ) continue;

if( enemy == g_LocalPlayer ) continue;

if( !enemy->IsAlive() ) continue;

if( enemy->m_iTeamNum() == g_LocalPlayer->m_iTeamNum() ) continue;

if( enemy->IsDormant() ) continue;

if( !enemy->IsPlayer() ) continue;

 

auto found = false;

auto points_copy = points; // copy data so that we compare it to the original later to find the lowest thickness

auto enemy_eyes = enemy->GetEyePos();

 

for( auto &z : points_copy ) // now we get the thickness for all of the data

{

const QAngle tmp( 10, z.angle, 0.0f );

c_vector head;

Math::AngleVectors( tmp, head );

head *= figure it out urself;

head += local_position;

float distance = -1;

auto enemy_weapon = enemy->m_hActiveWeapon().Get();

if( enemy_weapon ) {

auto weapon_data = enemy_weapon->GetCSWeaponData();

if( weapon_data )

distance = weapon_data->flRange;

}

float local_thickness = autowall::Get().get_thickness( head, enemy_eyes, distance );

z.thickness = local_thickness;

 

if( local_thickness > 0 ) // if theres a thickness of 0 dont use this data

{

found = true;

}

}

 

if( !found ) // dont use, completely visible to this player or data is invalid

continue;

 

for( unsigned int z = 0; points_copy.size() > z; z++ )

if( points_copy[z].thickness < points[z].thickness || points[z].thickness == -1 )

// find the lowest thickness so that we can hide our head best for all entities

points[z].thickness = points_copy[z].thickness;

}

float best = 0;

for( auto &i : points )

if( ( i.thickness > best || i.thickness == -1 ) && i.thickness != 0 )

// find the best hiding spot (highest thickness)

{

best = i.thickness;

g_Cmd->viewangles.yaw = i.angle;

}

}

alerion921 avatar Jul 09 '22 09:07 alerion921