From 7ccb819f867493f8ec202ea3b39c94c198c64584 Mon Sep 17 00:00:00 2001 From: JustSomePwner Date: Thu, 30 Aug 2018 14:01:54 +0200 Subject: first --- gmod/proxies.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 gmod/proxies.cpp (limited to 'gmod/proxies.cpp') diff --git a/gmod/proxies.cpp b/gmod/proxies.cpp new file mode 100644 index 0000000..200a370 --- /dev/null +++ b/gmod/proxies.cpp @@ -0,0 +1,43 @@ +#include "hooks.hpp" +#include "context.hpp" +#include "base_cheat.hpp" + +void __cdecl hooks::lby_proxy_fn( const CRecvProxyData* proxy_data_const, void* entity, void* output ) { + lby_proxy.get_old_function( )( proxy_data_const, entity, output ); + + if( !g_csgo.m_panic ) { + auto player = ( c_base_player* )( entity ); + if( player && player == g_ctx.m_local ) { + g_cheat.m_ragebot.m_antiaim->on_lby_proxy( ); + } + } +} + +void __cdecl hooks::last_shot_proxy_fn( const CRecvProxyData* proxy_data_const, void* entity, void* output ) { + last_shot_proxy.get_old_function( )( proxy_data_const, entity, output ); + + if( !g_csgo.m_panic && proxy_data_const ) { + auto wep = ( c_base_weapon* )( entity ); + if( wep ) { + auto owner = g_csgo.m_entlist( )->GetClientEntityFromHandle( wep->m_hOwner( ) ); + if( owner && owner->is_valid( ) ) { + + auto records = g_cheat.m_ragebot.m_lagcomp->get_records( owner->ce( )->GetIndex( ), RECORD_NORMAL ); + if( records && records->size( ) ) { + for( auto& it : *records ) { + float sim = it.m_flSimulationTime; + if( sim == wep->get< float >( 0x3314 ) ) { + it.m_tickcount -= it.m_choked; + auto ang = math::vector_angles( owner->get_hitbox_pos( 0 ), g_ctx.m_local->get_eye_pos( ) ); + //g_con->log( "found shot record for %d: %f angles: %f %f", owner->ce( )->GetIndex( ), sim, it.m_vecAngles.x, it.m_vecAngles.y ); + + it.m_vecAngles = it.m_vecRenderAngles = ang; + it.m_vecAbsAngles.y = ang.y; + break; + } + } + } + } + } + } +} \ No newline at end of file -- cgit v1.2.3