TmpMenu/src/hooks/protections/received_clone_remove.cpp
2024-05-03 17:28:21 +02:00

17 lines
600 B
C++

#include "hooking/hooking.hpp"
#include "util/notify.hpp"
namespace big
{
void hooks::received_clone_remove(CNetworkObjectMgr* mgr, CNetGamePlayer* src, CNetGamePlayer* dst, int16_t object_id, uint32_t ownership_token)
{
if (!dst || !dst->m_player_info || !dst->m_player_info->m_ped || !dst->m_player_info->m_ped->m_net_object
|| dst->m_player_info->m_ped->m_net_object->m_object_id == object_id) [[unlikely]]
{
notify::crash_blocked(src, "player ped removal");
return;
}
g_hooking->get_original<hooks::received_clone_remove>()(mgr, src, dst, object_id, ownership_token);
}
}