mirror of
https://github.com/Mr-X-GTA/YimMenu.git
synced 2025-01-04 00:23:27 +08:00
Some fixes and requests (#1516)
* Removed Delete button and nearby.cpp * Added player check for kill button * Added delete vehicle button * Fixed give armor & added vehicle god esp
This commit is contained in:
parent
56e21320e1
commit
630159f65d
@ -17,7 +17,7 @@ namespace big
|
||||
|
||||
virtual void execute(player_ptr player, const std::vector<std::uint64_t>& _args, const std::shared_ptr<command_context> ctx)
|
||||
{
|
||||
g_pickup_service->give_player_health(player->id());
|
||||
g_pickup_service->give_armour(player->id());
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -33,7 +33,6 @@ namespace big
|
||||
TRAIN,
|
||||
BLACKHOLE,
|
||||
MODEL_SWAPPER,
|
||||
NEARBY,
|
||||
|
||||
NETWORK,
|
||||
MISSIONS,
|
||||
@ -122,7 +121,6 @@ namespace big
|
||||
{tabs::TRAIN, {"GUI_TAB_TRAIN", view::train}},
|
||||
{tabs::BLACKHOLE, {"GUI_TAB_BLACKHOLE", view::blackhole}},
|
||||
{tabs::MODEL_SWAPPER, {"GUI_TAB_MODEL_SWAPPER", view::model_swapper}},
|
||||
{tabs::NEARBY, {"GUI_TAB_NEARBY", view::nearby}},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -82,11 +82,9 @@ namespace big
|
||||
}
|
||||
|
||||
draw_list->AddText(name_pos, esp_color, name_str.c_str());
|
||||
|
||||
std::string mode_str = "";
|
||||
if (g.esp.god)
|
||||
{
|
||||
std::string mode_str = "";
|
||||
|
||||
if (ped_damage_bits & (uint32_t)eEntityProofs::GOD)
|
||||
{
|
||||
mode_str = "ESP_GOD"_T.data();
|
||||
@ -102,13 +100,19 @@ namespace big
|
||||
mode_str += "ESP_EXPLOSION"_T.data();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!mode_str.empty())
|
||||
{
|
||||
draw_list->AddText({esp_x - (62.5f * multplr), esp_y - (175.f * multplr) - 40.f},
|
||||
ImColor(1.f, 0.f, 0.f, 1.f),
|
||||
mode_str.c_str());
|
||||
}
|
||||
if (auto player_vehicle = plyr->get_current_vehicle())
|
||||
{
|
||||
if (player_vehicle->m_damage_bits & (uint32_t)eEntityProofs::GOD)
|
||||
mode_str = +"VEH_GOD";
|
||||
}
|
||||
|
||||
if (!mode_str.empty())
|
||||
{
|
||||
draw_list->AddText({esp_x - (62.5f * multplr), esp_y - (175.f * multplr) - 40.f},
|
||||
ImColor(1.f, 0.f, 0.f, 1.f),
|
||||
mode_str.c_str());
|
||||
}
|
||||
|
||||
if (!(ped_damage_bits & (uint32_t)eEntityProofs::GOD))
|
||||
|
@ -15,6 +15,14 @@ namespace big
|
||||
std::make_format_args(amount_fixed,
|
||||
amount_fixed == 1 ? "VEHICLE_FIX_HAS"_T.data() : "VEHICLE_FIX_HAVE"_T.data())));
|
||||
});
|
||||
|
||||
ImGui::SameLine();
|
||||
components::button("Delete Current",[]{
|
||||
auto handle = self::veh;
|
||||
if(ENTITY::DOES_ENTITY_EXIST(handle))
|
||||
TASK::CLEAR_PED_TASKS_IMMEDIATELY(self::ped), entity::delete_entity(handle);
|
||||
});
|
||||
|
||||
ImGui::SameLine();
|
||||
components::button("REPAIR"_T, [] {
|
||||
vehicle::repair(self::veh);
|
||||
|
@ -68,7 +68,6 @@ namespace big
|
||||
static void train();
|
||||
static void blackhole();
|
||||
static void model_swapper();
|
||||
static void nearby();
|
||||
static void world();
|
||||
static void gta_cache();
|
||||
static void lua_scripts();
|
||||
|
@ -1,141 +0,0 @@
|
||||
#include "util/entity.hpp"
|
||||
#include "util/local_player.hpp"
|
||||
#include "util/notify.hpp"
|
||||
#include "util/ped.hpp"
|
||||
#include "util/vehicle.hpp"
|
||||
#include "views/view.hpp"
|
||||
|
||||
namespace big
|
||||
{
|
||||
void view::nearby()
|
||||
{
|
||||
components::sub_title("Peds");
|
||||
// Nearby Ped Actions
|
||||
components::button<ImVec2(110, 0)>("Delete", [] {
|
||||
for (auto peds : entity::get_entities(false, true))
|
||||
{
|
||||
entity::delete_entity(peds);
|
||||
}
|
||||
});
|
||||
ImGui::SameLine();
|
||||
|
||||
components::button<ImVec2(110, 0), ImVec4(0.70196f, 0.3333f, 0.00392f, 1.f)>("Kill", [] {
|
||||
for (auto peds : entity::get_entities(false, true))
|
||||
{
|
||||
ped::kill_ped(peds);
|
||||
}
|
||||
});
|
||||
ImGui::SameLine();
|
||||
|
||||
components::button<ImVec2(110, 0), ImVec4(0.76078f, 0.f, 0.03529f, 1.f)>("Kill Enemies", [] {
|
||||
for (auto peds : entity::get_entities(false, true))
|
||||
{
|
||||
ped::kill_ped_by_relation(peds, 4 || 5);
|
||||
}
|
||||
});
|
||||
|
||||
// Nearby Ped Loops / Toggles
|
||||
components::command_checkbox<"pedsignore">();
|
||||
ImGui::SameLine(140.f);
|
||||
components::command_checkbox<"pedrain">();
|
||||
ImGui::SameLine(265.f);
|
||||
components::command_checkbox<"riotmode">();
|
||||
components::command_checkbox<"highalert">();
|
||||
ImGui::SameLine(140.f);
|
||||
components::command_checkbox<"pedrush">();
|
||||
components::command_checkbox<"autodisarm">();
|
||||
components::options_modal("Auto Disarm", [] {
|
||||
ImGui::Checkbox("Neutralize", &g.world.nearby.auto_disarm.neutralize);
|
||||
});
|
||||
|
||||
ImGui::Separator();
|
||||
components::sub_title("Vehicles");
|
||||
|
||||
components::button<ImVec2(110, 0), ImVec4(0.02745f, 0.4745f, 0.10196f, 1.f)>("Max Upgrade", [] {
|
||||
for (auto vehs : entity::get_entities(true, false))
|
||||
{
|
||||
if (entity::take_control_of(vehs))
|
||||
{
|
||||
vehicle::max_vehicle(vehs);
|
||||
script::get_current()->yield();
|
||||
}
|
||||
}
|
||||
});
|
||||
ImGui::SameLine();
|
||||
|
||||
components::button<ImVec2(110, 0), ImVec4(0.4549f, 0.03529f, 0.03529f, 1.f)>("Downgrade", [] {
|
||||
for (auto vehs : entity::get_entities(true, false))
|
||||
{
|
||||
if (entity::take_control_of(vehs))
|
||||
{
|
||||
vehicle::downgrade(vehs);
|
||||
script::get_current()->yield();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
components::command_checkbox<"vehiclerain">();
|
||||
|
||||
ImGui::Separator();
|
||||
components::sub_title("All");
|
||||
|
||||
static bool included_entity_types[3];
|
||||
static bool own_vehicle, deleting;
|
||||
static int quantity, remaining;
|
||||
|
||||
ImGui::Text("Include:");
|
||||
ImGui::Checkbox("Vehicles", &included_entity_types[0]);
|
||||
ImGui::SameLine();
|
||||
ImGui::Checkbox("Peds", &included_entity_types[1]);
|
||||
ImGui::SameLine();
|
||||
ImGui::Checkbox("Props", &included_entity_types[2]);
|
||||
|
||||
if (included_entity_types[0])
|
||||
ImGui::Checkbox("Self vehicle", &own_vehicle);
|
||||
|
||||
if (deleting)
|
||||
{
|
||||
float progress = 1 - static_cast<float>(remaining) / quantity;
|
||||
ImGui::ProgressBar(progress, ImVec2(200, 25));
|
||||
}
|
||||
else
|
||||
{
|
||||
components::button("Delete all", [&] {
|
||||
auto list = entity::get_entities(included_entity_types[0], included_entity_types[1], included_entity_types[2], own_vehicle);
|
||||
|
||||
quantity = list.size();
|
||||
remaining = quantity;
|
||||
g_notification_service->push("Entity deletion", std::format("Deleting {} entities", quantity));
|
||||
deleting = true;
|
||||
int failed = 0;
|
||||
for (auto ent : list)
|
||||
{
|
||||
if (ent == self::ped)
|
||||
continue;
|
||||
|
||||
if (ENTITY::DOES_ENTITY_EXIST(ent))
|
||||
{
|
||||
if (ENTITY::IS_ENTITY_A_VEHICLE(ent))
|
||||
if (ent == self::veh && own_vehicle)
|
||||
TASK::CLEAR_PED_TASKS_IMMEDIATELY(self::ped);
|
||||
|
||||
if (entity::take_control_of(ent, 25))
|
||||
entity::delete_entity(ent);
|
||||
}
|
||||
|
||||
script::get_current()->yield(5ms);
|
||||
|
||||
if (ENTITY::DOES_ENTITY_EXIST(ent))
|
||||
failed++;
|
||||
else
|
||||
remaining--;
|
||||
}
|
||||
|
||||
if (failed > 0)
|
||||
g_notification_service->push_warning("Entity deletion", std::format("Failed deleting {} entities", failed));
|
||||
|
||||
deleting = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,8 @@
|
||||
#include "views/view.hpp"
|
||||
#include "util/entity.hpp"
|
||||
#include "util/ped.hpp"
|
||||
#include "util/notify.hpp"
|
||||
#include "util/vehicle.hpp"
|
||||
|
||||
namespace big
|
||||
{
|
||||
@ -15,5 +19,130 @@ namespace big
|
||||
{
|
||||
components::command_checkbox<"partwater">();
|
||||
}
|
||||
|
||||
ImGui::Separator();
|
||||
components::sub_title("Peds");
|
||||
// Nearby Ped Actions
|
||||
|
||||
components::button<ImVec2(110, 0), ImVec4(0.70196f, 0.3333f, 0.00392f, 1.f)>("Kill", [] {
|
||||
for (auto peds : entity::get_entities(false, true))
|
||||
{
|
||||
if(!PED::IS_PED_A_PLAYER(peds))
|
||||
ped::kill_ped(peds);
|
||||
}
|
||||
});
|
||||
ImGui::SameLine();
|
||||
|
||||
components::button<ImVec2(110, 0), ImVec4(0.76078f, 0.f, 0.03529f, 1.f)>("Kill Enemies", [] {
|
||||
for (auto peds : entity::get_entities(false, true))
|
||||
{
|
||||
ped::kill_ped_by_relation(peds, 4 || 5);
|
||||
}
|
||||
});
|
||||
|
||||
// Nearby Ped Loops / Toggles
|
||||
components::command_checkbox<"pedsignore">();
|
||||
ImGui::SameLine(140.f);
|
||||
components::command_checkbox<"pedrain">();
|
||||
ImGui::SameLine(265.f);
|
||||
components::command_checkbox<"riotmode">();
|
||||
components::command_checkbox<"highalert">();
|
||||
ImGui::SameLine(140.f);
|
||||
components::command_checkbox<"pedrush">();
|
||||
ImGui::SameLine();
|
||||
components::command_checkbox<"autodisarm">();
|
||||
components::options_modal("Auto Disarm", [] {
|
||||
ImGui::Checkbox("Neutralize", &g.world.nearby.auto_disarm.neutralize);
|
||||
});
|
||||
|
||||
ImGui::Separator();
|
||||
components::sub_title("Vehicles");
|
||||
|
||||
components::button<ImVec2(110, 0), ImVec4(0.02745f, 0.4745f, 0.10196f, 1.f)>("Max Upgrade", [] {
|
||||
for (auto vehs : entity::get_entities(true, false))
|
||||
{
|
||||
if (entity::take_control_of(vehs))
|
||||
{
|
||||
vehicle::max_vehicle(vehs);
|
||||
script::get_current()->yield();
|
||||
}
|
||||
}
|
||||
});
|
||||
ImGui::SameLine();
|
||||
|
||||
components::button<ImVec2(110, 0), ImVec4(0.4549f, 0.03529f, 0.03529f, 1.f)>("Downgrade", [] {
|
||||
for (auto vehs : entity::get_entities(true, false))
|
||||
{
|
||||
if (entity::take_control_of(vehs))
|
||||
{
|
||||
vehicle::downgrade(vehs);
|
||||
script::get_current()->yield();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
components::command_checkbox<"vehiclerain">();
|
||||
|
||||
ImGui::Separator();
|
||||
components::sub_title("Entities");
|
||||
|
||||
static bool included_entity_types[3];
|
||||
static bool own_vehicle, deleting;
|
||||
static int quantity, remaining;
|
||||
|
||||
ImGui::Text("Include:");
|
||||
ImGui::Checkbox("Vehicles", &included_entity_types[0]);
|
||||
ImGui::SameLine();
|
||||
ImGui::Checkbox("Peds", &included_entity_types[1]);
|
||||
ImGui::SameLine();
|
||||
ImGui::Checkbox("Props", &included_entity_types[2]);
|
||||
|
||||
if (included_entity_types[0])
|
||||
ImGui::Checkbox("Self vehicle", &own_vehicle);
|
||||
|
||||
if (deleting)
|
||||
{
|
||||
float progress = 1 - static_cast<float>(remaining) / quantity;
|
||||
ImGui::ProgressBar(progress, ImVec2(200, 25));
|
||||
}
|
||||
else
|
||||
{
|
||||
components::button("Delete all", [&] {
|
||||
auto list = entity::get_entities(included_entity_types[0], included_entity_types[1], included_entity_types[2], own_vehicle);
|
||||
|
||||
quantity = list.size();
|
||||
remaining = quantity;
|
||||
g_notification_service->push("Entity deletion", std::format("Deleting {} entities", quantity));
|
||||
deleting = true;
|
||||
int failed = 0;
|
||||
for (auto ent : list)
|
||||
{
|
||||
if (ent == self::ped)
|
||||
continue;
|
||||
|
||||
if (ENTITY::DOES_ENTITY_EXIST(ent))
|
||||
{
|
||||
if (ENTITY::IS_ENTITY_A_VEHICLE(ent))
|
||||
if (ent == self::veh && own_vehicle)
|
||||
TASK::CLEAR_PED_TASKS_IMMEDIATELY(self::ped);
|
||||
|
||||
if (entity::take_control_of(ent, 25))
|
||||
entity::delete_entity(ent);
|
||||
}
|
||||
|
||||
script::get_current()->yield(5ms);
|
||||
|
||||
if (ENTITY::DOES_ENTITY_EXIST(ent))
|
||||
failed++;
|
||||
else
|
||||
remaining--;
|
||||
}
|
||||
|
||||
if (failed > 0)
|
||||
g_notification_service->push_warning("Entity deletion", std::format("Failed deleting {} entities", failed));
|
||||
|
||||
deleting = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user