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; return;
if (gta_util::get_network()->m_game_session_ptr->is_host()) 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; return;
} }

View File

@ -11,23 +11,25 @@ namespace big
{ {
void looped::system_update_desync_kick() void looped::system_update_desync_kick()
{ {
memset(&gta_util::get_network()->m_game_complaint_mgr.m_host_tokens_complained, 0, 64 * sizeof(uint64_t)); // TODO
gta_util::get_network()->m_game_complaint_mgr.m_num_tokens_complained = 0; 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()) for (auto& player : g_player_service->players())
{ {
if (player.second->is_valid() && player.second->trigger_desync_kick) 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 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_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);
} }
} }
} }