2022-03-08 12:52:00 -05:00
|
|
|
#pragma once
|
|
|
|
#include "natives.hpp"
|
2022-07-25 04:56:37 +08:00
|
|
|
#include "script.hpp"
|
2022-03-08 12:52:00 -05:00
|
|
|
|
|
|
|
namespace big::ped
|
|
|
|
{
|
|
|
|
inline void steal_outfit(const Ped target)
|
|
|
|
{
|
2022-05-23 06:38:45 +08:00
|
|
|
Ped ped = self::ped;
|
|
|
|
|
|
|
|
if (ENTITY::GET_ENTITY_MODEL(ped) != ENTITY::GET_ENTITY_MODEL(target)) {
|
2022-03-08 12:52:00 -05:00
|
|
|
g_notification_service->push("Error", "Model mismatch, use steal identity instead.");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
for (int i = 0; i < 12; i++) {
|
|
|
|
PED::SET_PED_COMPONENT_VARIATION
|
|
|
|
(
|
2022-05-23 06:38:45 +08:00
|
|
|
ped,
|
2022-03-08 12:52:00 -05:00
|
|
|
i,
|
|
|
|
PED::GET_PED_DRAWABLE_VARIATION(target, i),
|
|
|
|
PED::GET_PED_TEXTURE_VARIATION(target, i),
|
|
|
|
PED::GET_PED_PALETTE_VARIATION(target, i)
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
inline void steal_identity(const Ped target)
|
|
|
|
{
|
2022-07-25 04:56:37 +08:00
|
|
|
const int max_health = ENTITY::GET_ENTITY_MAX_HEALTH(self::ped);
|
|
|
|
const int current_health = ENTITY::GET_ENTITY_HEALTH(self::ped);
|
|
|
|
const int current_armor = PED::GET_PED_ARMOUR(self::ped);
|
2022-05-23 06:38:45 +08:00
|
|
|
|
|
|
|
PLAYER::SET_PLAYER_MODEL(self::id , ENTITY::GET_ENTITY_MODEL(target));
|
2022-07-25 04:56:37 +08:00
|
|
|
script::get_current()->yield();
|
|
|
|
PED::CLONE_PED_TO_TARGET(target, self::ped);
|
|
|
|
ENTITY::SET_ENTITY_MAX_HEALTH(self::ped, max_health);
|
|
|
|
ENTITY::SET_ENTITY_HEALTH(self::ped, current_health, 0);
|
|
|
|
PED::SET_PED_ARMOUR(self::ped, current_armor);
|
2022-03-08 12:52:00 -05:00
|
|
|
}
|
|
|
|
}
|