Всем привет может, кому-то пригодится, но, как по мне, это не юзабельно.
CSpotted
также вы можете заменить start и end и получить is_visible_infov
CActor
ну и также более странный способ
CEntityRenderProxy
CTimer
Понимаю, что, возможно, это уже у всех есть, но решил залить - вдруг кому-то пригодится.
Если будут вопросы - пишите , удачи!
CSpotted
Код:
bool is_minimap( const std::uint32_t targetId ){
const std::uintptr_t start = mem->RPM< std::uintptr_t >(
( std::uintptr_t)this + offsets::SpottedEntity::spottedentity_minimap );
const std::uintptr_t end = mem->RPM< std::uintptr_t >(
( std::uintptr_t)this + offsets::SpottedEntity::spottedentity_minimap_end );
if ( start >= end ) return false;
const size_t count = ( end - start ) / offsets::SpottedEntity::spotted_param_size;
for ( std::uintptr_t it = start ; it < end ; it += offsets::SpottedEntity::spotted_param_size ){
std::uint32_t id = mem->RPM< std::uint32_t >( it );
if ( id == targetId ) return true;
}
return false;
}
также вы можете заменить start и end и получить is_visible_infov
Код:
constexpr std::uintptr_t spottedentity_vision = 0x28;
constexpr std::uintptr_t spottedentity_vision_end = 0x30;
constexpr std::uintptr_t spottedentity_minimap = 0x40;
constexpr std::uintptr_t spottedentity_minimap_end = 0x48;
constexpr std::uintptr_t spotted_param_size = 0x20;
CActor
Код:
auto GetSpotted( ) {
return mem->RPM< CSpotted* >( ( std::uintptr_t )this + offsets::Actor::m_pSpotted );
}
constexpr std::uintptr_t m_pSpotted = 0x1618;
ну и также более странный способ
CEntityRenderProxy
Код:
constexpr std::uintptr_t last_seen_time = 0xA0; // float , this is an absolute time
float get_last_seen_time( ){
return mem->RPM< float>(( std::uintptr_t )this + offsets::render_proxy::last_seen_time);
}
bool is_visible( float abs_time ){
float last_seen = this->get_last_seen_time( );
float delta = abs_time - last_seen;
return delta < 2.0f;
}
CTimer
Код:
constexpr std::uintptr_t current_time = 0x58;
constexpr std::uintptr_t tick_per_second = 0x40;
std::uint64_t get_tick_per_sec( ) {
return mem->RPM< std::uint64_t >( ( std::uintptr_t )this + offsets::timer::tick_per_second);
}
std::uint64_t get_current_time( ) {
return mem->RPM< std::uint64_t >( ( std::uintptr_t )this + offsets::timer::current_time);
}
float get_abs_time() {
return ( float )( ( double )this->get_current_time() / ( double )this->get_tick_per_sec());
}
Понимаю, что, возможно, это уже у всех есть, но решил залить - вдруг кому-то пригодится.
Если будут вопросы - пишите , удачи!