feat(self): improved never wanted (works above military) (#558)

Co-authored-by: Yimura <24669514+Yimura@users.noreply.github.com>
This commit is contained in:
Aure7138 2022-11-08 03:20:20 +08:00 committed by GitHub
parent 7802510df3
commit 1635c0ed93
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 5 deletions

View File

@ -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;
}
}

View File

@ -14,6 +14,13 @@ namespace big
m_resolution_y = ptr.add(4).rip().as<int*>();
});
// 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<uint32_t*>(), 0).get();
m_max_wanted_level_2 = memory::byte_patch::make(ptr.add(14).rip().as<uint32_t*>(), 0).get();
});
// Game State
main_batch.add("GS", "83 3D ? ? ? ? ? 75 17 8B 43 20 25", [this](memory::handle ptr)
{

View File

@ -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;