fix: fix complaint kicks

This commit is contained in:
Mr-X-GTA 2024-09-29 23:25:41 +02:00
parent ab513d31ea
commit 86d1f6f466
2 changed files with 10 additions and 6 deletions

View File

@ -20,7 +20,9 @@ namespace big
return;
if (gta_util::get_network()->m_game_session_ptr->is_host())
{
gta_util::get_network()->m_game_complaint_mgr.raise_complaint(player->get_net_data()->m_host_token);
auto& mgr = *(CNetComplaintMgr*)((uint64_t)gta_util::get_network() + 0x2E5A8);
mgr.raise_complaint(player->get_net_data()->m_host_token);
// TODO gta_util::get_network()->m_game_complaint_mgr.raise_complaint(player->get_net_data()->m_host_token);
return;
}

View File

@ -11,23 +11,25 @@ namespace big
{
void looped::system_update_desync_kick()
{
memset(&gta_util::get_network()->m_game_complaint_mgr.m_host_tokens_complained, 0, 64 * sizeof(uint64_t));
gta_util::get_network()->m_game_complaint_mgr.m_num_tokens_complained = 0;
// TODO
auto& mgr = *(CNetComplaintMgr*)((uint64_t)gta_util::get_network() + 0x2E5A8);
memset(&mgr.m_host_tokens_complained, 0, 64 * sizeof(uint64_t));
mgr.m_num_tokens_complained = 0;
for (auto& player : g_player_service->players())
{
if (player.second->is_valid() && player.second->trigger_desync_kick)
{
gta_util::get_network()->m_game_complaint_mgr.raise_complaint(player.second->get_net_data()->m_host_token);
mgr.raise_complaint(player.second->get_net_data()->m_host_token);
}
}
if (gta_util::get_network()->m_game_session_state > 3 && gta_util::get_network()->m_game_session_state < 6
&& gta_util::get_network()->m_game_complaint_mgr.m_num_tokens_complained && g_player_service->get_self()->is_valid()
&& mgr.m_num_tokens_complained && g_player_service->get_self()->is_valid()
&& !g_player_service->get_self()->is_host())
{
g_pointers->m_gta.m_reset_network_complaints(&gta_util::get_network()->m_game_complaint_mgr);
g_pointers->m_gta.m_reset_network_complaints(&mgr);
}
}
}