mirror of
https://github.com/Mr-X-GTA/YimMenu.git
synced 2025-01-09 02:43:38 +08:00
feat: Added steal outfit, steal identity (#92)
Co-authored-by: Yimura <andreas.maerten@scarlet.be>
This commit is contained in:
parent
5632c9d812
commit
1fcfd5e0c6
36
BigBaseV2/src/util/ped.hpp
Normal file
36
BigBaseV2/src/util/ped.hpp
Normal file
@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
#include "natives.hpp"
|
||||
|
||||
namespace big::ped
|
||||
{
|
||||
inline void steal_outfit(const Ped target)
|
||||
{
|
||||
if (ENTITY::GET_ENTITY_MODEL(PLAYER::PLAYER_PED_ID()) != ENTITY::GET_ENTITY_MODEL(target)) {
|
||||
g_notification_service->push("Error", "Model mismatch, use steal identity instead.");
|
||||
return;
|
||||
}
|
||||
for (int i = 0; i < 12; i++) {
|
||||
PED::SET_PED_COMPONENT_VARIATION
|
||||
(
|
||||
PLAYER::PLAYER_PED_ID(),
|
||||
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)
|
||||
{
|
||||
const int max_health = ENTITY::GET_ENTITY_MAX_HEALTH(PLAYER::PLAYER_PED_ID());
|
||||
const int current_health = ENTITY::GET_ENTITY_HEALTH(PLAYER::PLAYER_PED_ID());
|
||||
const int current_armor = PED::GET_PED_ARMOUR(PLAYER::PLAYER_PED_ID());
|
||||
|
||||
PLAYER::SET_PLAYER_MODEL(PLAYER::PLAYER_ID(), ENTITY::GET_ENTITY_MODEL(target));
|
||||
PED::CLONE_PED_TO_TARGET(target, PLAYER::PLAYER_PED_ID());
|
||||
ENTITY::SET_ENTITY_MAX_HEALTH(PLAYER::PLAYER_PED_ID(), max_health);
|
||||
ENTITY::SET_ENTITY_HEALTH(PLAYER::PLAYER_PED_ID(), current_health, 0);
|
||||
PED::SET_PED_ARMOUR(PLAYER::PLAYER_PED_ID(), current_armor);
|
||||
}
|
||||
}
|
@ -3,6 +3,7 @@
|
||||
#include "services/player_service.hpp"
|
||||
#include "gta_util.hpp"
|
||||
#include "util/misc.hpp"
|
||||
#include "util/ped.hpp"
|
||||
#include "util/teleport.hpp"
|
||||
|
||||
namespace big
|
||||
@ -17,6 +18,24 @@ namespace big
|
||||
if (g_player_service->get_selected()->is_valid())
|
||||
{
|
||||
|
||||
if (ImGui::TreeNode("Misc")) {
|
||||
components::button("Steal Outfit", [] {
|
||||
ped::steal_outfit(
|
||||
PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(g_player_service->get_selected()->id())
|
||||
);
|
||||
});
|
||||
|
||||
ImGui::SameLine();
|
||||
|
||||
components::button("Steal Identity", [] {
|
||||
ped::steal_identity(
|
||||
PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(g_player_service->get_selected()->id())
|
||||
);
|
||||
});
|
||||
|
||||
ImGui::TreePop();
|
||||
}
|
||||
|
||||
if (ImGui::TreeNode("Info")) {
|
||||
|
||||
ImGui::Text("Player ID: %d", g_player_service->get_selected()->id());
|
||||
|
Loading…
x
Reference in New Issue
Block a user