NN
-
Автор темы
- #1
C++:
GameSDK::i_actor* m_actor = GameSDK::st::p_game_frame_work->get_client_actor();
if (!is_valid_ptr(m_actor)) {
return;
}
if (!m_actor->is_alive()) {
return;
}
GameSDK::i_game_object* m_object = m_actor->get_game_object();
if (!is_valid_ptr(m_object)) {
return;
}
GameSDK::i_world_query* m_world_query = m_object->get_world_query();
if (!is_valid_ptr(m_world_query)) {
return;
}
auto entityId = m_world_query->get_look_at_entity_id();
if (!entityId) {
return;
}
GameSDK::i_actor_system* m_actor_system = GameSDK::st::p_game_frame_work->get_actor_system();
if (!is_valid_ptr(m_actor_system))
{
return;
}
if (GameSDK::i_actor* pActor = m_actor_system->get_actor(entityId)) {
if (SDKHelpers::filter_team(m_actor, pActor)) {
//your 1337 shoot method / delays / etc.
}
}
с интернала портируется легко
для упрощения, некоторые функции:
C++:
i_actor_system:
//4C 8B 41 30 49 8B C8 49 8B 40 08 80 78 19 00 75 17 39 50 20 73 06 48 8B 40 10 EB 06
i_actor* get_actor(uint32_t entity_id)
{
uint64 v2, v3, v4;
v2 = Read<uint64_t>((uintptr_t)this + 0x30);
v3 = v2;
v4 = Read<uint64_t>(v2 + 0x8);
while (!Read<uint8_t>(v4 + 0x19))
{
if (Read<uint32_t>(v4 + 0x20) >= entity_id)
{
v3 = v4;
v4 = Read<uint64_t>(v4);
}
else
{
v4 = Read<uint64_t>(v4 + 0x10);
}
}
if (v3 == v2 || entity_id < Read<uint32_t>(v3 + 0x20))
v3 = v2;
if (v3 != v2)
return Read<i_actor*>(v3 + 0x28);
return nullptr;
}
i_player:
//40 53 48 83 EC 20 48 8B 81 ? ? ? ? 48 8B D9 48 85 C0 75 14 48 8B 49 18 48 8B 01 FF 90 ? ? ? ? 48 89 83
i_world_query* get_world_query()
{
return Read<i_world_query*>((uintptr_t)this + 0xFB8);
}