summaryrefslogtreecommitdiff
path: root/gmod/proxies.cpp
diff options
context:
space:
mode:
authorJustSomePwner <crotchyalt@gmail.com>2018-08-30 14:01:54 +0200
committerJustSomePwner <crotchyalt@gmail.com>2018-08-30 14:01:54 +0200
commit7ccb819f867493f8ec202ea3b39c94c198c64584 (patch)
tree94622e61af0ff359e3d6689cf274d74f60b2492a /gmod/proxies.cpp
parent564d979b79e8a5aaa5014eba0ecd36c61575934f (diff)
first
Diffstat (limited to 'gmod/proxies.cpp')
-rw-r--r--gmod/proxies.cpp43
1 files changed, 43 insertions, 0 deletions
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