diff --git a/BigBaseV2/src/backend/looped/self/police.cpp b/BigBaseV2/src/backend/looped/self/police.cpp index 00166cb5..28ac1218 100644 --- a/BigBaseV2/src/backend/looped/self/police.cpp +++ b/BigBaseV2/src/backend/looped/self/police.cpp @@ -1,4 +1,5 @@ #include "backend/looped/looped.hpp" +#include "pointers.hpp" namespace big { @@ -6,11 +7,25 @@ namespace big { if (g_local_player == nullptr || g_local_player->m_player_info == nullptr) return; - auto playerInfo = g_local_player->m_player_info; + static bool bLast = false; - if (g->self.never_wanted) - playerInfo->m_wanted_level = 0; - else if (g->self.force_wanted_level) - playerInfo->m_wanted_level = g->self.wanted_level; + bool b = g->self.never_wanted; + + if (b) + { + g_local_player->m_player_info->m_wanted_level = 0; + g_pointers->m_max_wanted_level->apply(); + g_pointers->m_max_wanted_level_2->apply(); + bLast = b; + } + else if (b != bLast) + { + g_pointers->m_max_wanted_level->restore(); + g_pointers->m_max_wanted_level_2->restore(); + bLast = b; + } + + if(g->self.force_wanted_level && !b) + g_local_player->m_player_info->m_wanted_level = g->self.wanted_level; } } \ No newline at end of file diff --git a/BigBaseV2/src/pointers.cpp b/BigBaseV2/src/pointers.cpp index 01461b7d..fdbbcc7f 100644 --- a/BigBaseV2/src/pointers.cpp +++ b/BigBaseV2/src/pointers.cpp @@ -14,6 +14,13 @@ namespace big m_resolution_y = ptr.add(4).rip().as(); }); + // Max Wanted Level + main_batch.add("MWL", "8B 43 6C 89 05", [this](memory::handle ptr) + { + m_max_wanted_level = memory::byte_patch::make(ptr.add(5).rip().as(), 0).get(); + m_max_wanted_level_2 = memory::byte_patch::make(ptr.add(14).rip().as(), 0).get(); + }); + // Game State main_batch.add("GS", "83 3D ? ? ? ? ? 75 17 8B 43 20 25", [this](memory::handle ptr) { diff --git a/BigBaseV2/src/pointers.hpp b/BigBaseV2/src/pointers.hpp index a69b6821..fdca2385 100644 --- a/BigBaseV2/src/pointers.hpp +++ b/BigBaseV2/src/pointers.hpp @@ -7,6 +7,7 @@ #include "network/CNetworkPlayerMgr.hpp" #include "socialclub/FriendRegistry.hpp" #include "network/Network.hpp" +#include "memory/byte_patch.hpp" namespace big { @@ -44,6 +45,9 @@ namespace big int* m_resolution_x; int* m_resolution_y; + memory::byte_patch* m_max_wanted_level; + memory::byte_patch* m_max_wanted_level_2; + PVOID m_blame_explode; PVOID m_model_spawn_bypass; PVOID m_world_model_spawn_bypass;