45 lines
1.1 KiB
C++
45 lines
1.1 KiB
C++
#include "backend/looped/looped.hpp"
|
|
#include "gta/replay.hpp"
|
|
#include "pointers.hpp"
|
|
#include "natives.hpp"
|
|
#include "util/entity.hpp"
|
|
|
|
namespace big
|
|
{
|
|
static bool busy = false;
|
|
|
|
void looped::protections_replay_interface()
|
|
{
|
|
if (busy) return;
|
|
busy = true;
|
|
|
|
Ped player = PLAYER::PLAYER_PED_ID();
|
|
|
|
rage::CReplayInterface* replay_interface = *g_pointers->m_replay_interface;
|
|
rage::CObjectInterface* object_interface = replay_interface->m_object_interface;
|
|
|
|
const int max_obj = object_interface->m_max_objects;
|
|
for (int i = 0; i < max_obj; i++)
|
|
{
|
|
rage::CObject* obj = object_interface->get_object(i);
|
|
if (obj == nullptr) continue;
|
|
|
|
Object ent = g_pointers->m_ptr_to_handle(obj);
|
|
|
|
if (g.protections.replay_interface.attach)
|
|
{
|
|
if (ENTITY::IS_ENTITY_ATTACHED_TO_ENTITY(player, ent) || ENTITY::IS_ENTITY_ATTACHED_TO_ENTITY(PED::GET_VEHICLE_PED_IS_IN(player, true), ent))
|
|
{
|
|
entity::delete_entity(ent);
|
|
}
|
|
}
|
|
|
|
if (g.protections.replay_interface.cage && obj->m_model_info->m_model == RAGE_JOAAT("prop_gold_cont_01"))
|
|
entity::delete_entity(ent);
|
|
|
|
script::get_current()->yield();
|
|
}
|
|
|
|
busy = false;
|
|
}
|
|
} |