summaryrefslogtreecommitdiff
path: root/cheat/gmod/player_manager.cpp
blob: a531965557831f139139cae62897ee8b832ac320 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "player_manager.hpp"
#include "base_cheat.hpp"
#include "context.hpp"

namespace features
{
	void c_player_record::update( int ent_index ) {
		auto ent = g_csgo.m_entlist( )->GetClientEntity< >( ent_index );
		if( !ent ) { clear( ); return; }

		if( ent != m_ent || ent->m_flSimulationTime( ) > g_csgo.m_globals->m_curtime + 1.f )
			clear( );

		m_ent = ent;
		if( !ent->is_valid( ) ) 
			return;

		update_simtime( );
		update_antiaim( );

		update_cheater( );
	}

	bool c_player_manager::is_cheater( int ent_index ) {
		return m_players[ ent_index ].is_cheater( );
	}

	void c_player_manager::frame_stage_notify( ) {
		if( !g_ctx.m_local ) return;

		for( int i{ 1 }; i < 65; ++i ) {
			if( i == g_csgo.m_engine( )->GetLocalPlayer( ) )
				continue;

			m_players[ i ].update( i );
		}
	}
}