mirror of
https://github.com/Mr-X-GTA/YimMenu.git
synced 2025-06-24 01:22:23 +08:00
34 lines
1.1 KiB
C++
34 lines
1.1 KiB
C++
#include "backend/looped/looped.hpp"
|
|
#include "gta_util.hpp"
|
|
#include <network/Network.hpp>
|
|
#include <network/CCommunications.hpp>
|
|
|
|
namespace big
|
|
{
|
|
static bool bLastForceHost = false;
|
|
void looped::system_force_session_host()
|
|
{
|
|
if (bLastForceHost != g->session.force_session_host && gta_util::get_network()->m_game_session_state == 0)
|
|
{
|
|
std::uint64_t host_token;
|
|
g_pointers->m_generate_uuid(&host_token);
|
|
|
|
host_token = g->session.force_session_host ? (rand() % 10000) : host_token;
|
|
|
|
*g_pointers->m_host_token = host_token;
|
|
|
|
if (gta_util::get_network()->m_game_session_ptr)
|
|
gta_util::get_network()->m_game_session_ptr->m_local_player.m_player_data.m_host_token = host_token;
|
|
|
|
g_pointers->m_profile_gamer_info->m_host_token = host_token;
|
|
g_pointers->m_player_info_gamer_info->m_host_token = host_token;
|
|
(*g_pointers->m_communications)->m_voice.m_connections[0]->m_gamer_info.m_host_token = host_token;
|
|
|
|
if (g_local_player && g_local_player->m_player_info)
|
|
g_local_player->m_player_info->m_net_player_data.m_host_token = host_token;
|
|
|
|
bLastForceHost = g->session.force_session_host;
|
|
}
|
|
}
|
|
}
|