blob: f76b3635d43850ccdc5deef800b5100cf2e55d6f (
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
39
40
41
42
43
44
|
#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 ) {
#ifdef _DEBUG
static con_var< bool > dbg_nocheater{ &data::holder_, fnv( "dbg_nocheater" ) };
if( dbg_nocheater( ) )
return true;
#endif
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 );
}
}
}
|