2021-05-20 18:57:53 +02:00
|
|
|
#include "backend/looped/looped.hpp"
|
|
|
|
#include "core/enums.hpp"
|
2022-05-23 06:38:45 +08:00
|
|
|
#include "gta/enums.hpp"
|
2021-05-20 18:57:53 +02:00
|
|
|
#include "util/entity.hpp"
|
|
|
|
#include "util/math.hpp"
|
|
|
|
|
|
|
|
namespace big
|
|
|
|
{
|
|
|
|
void looped::weapons_delete_gun()
|
|
|
|
{
|
2023-04-15 17:17:43 -04:00
|
|
|
if (const bool bDeleteGun = g.weapons.custom_weapon == CustomWeapon::DELETE_GUN; bDeleteGun && (!g.self.custom_weapon_stop || WEAPON::IS_PED_ARMED(self::ped, 4 | 2)))
|
2021-05-20 18:57:53 +02:00
|
|
|
{
|
2022-05-23 06:38:45 +08:00
|
|
|
if (PAD::IS_DISABLED_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_AIM))
|
2021-05-20 18:57:53 +02:00
|
|
|
{
|
2022-05-23 06:38:45 +08:00
|
|
|
if (PAD::IS_DISABLED_CONTROL_JUST_RELEASED(0, (int)ControllerInputs::INPUT_ATTACK))
|
2021-05-20 18:57:53 +02:00
|
|
|
{
|
|
|
|
Entity entity;
|
|
|
|
|
|
|
|
if (entity::raycast(&entity))
|
|
|
|
{
|
|
|
|
if (ENTITY::IS_ENTITY_A_PED(entity) && PED::IS_PED_A_PLAYER(entity))
|
|
|
|
{
|
2022-03-02 00:21:29 +01:00
|
|
|
g_notification_service->push_error("Weapons", "You can't delete player entities!");
|
2021-05-20 18:57:53 +02:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Vector3 entLoc = ENTITY::GET_ENTITY_COORDS(entity, true);
|
2023-03-01 21:27:15 +00:00
|
|
|
double dist = math::distance_between_vectors(self::pos, entLoc);
|
2021-05-20 18:57:53 +02:00
|
|
|
|
|
|
|
if (dist > 500)
|
|
|
|
{
|
2022-03-02 00:21:29 +01:00
|
|
|
g_notification_service->push_error("Weapons", "Entity is too far.");
|
2021-05-20 18:57:53 +02:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
if (entity::take_control_of(entity))
|
|
|
|
{
|
|
|
|
entity::delete_entity(entity);
|
|
|
|
}
|
2023-03-01 21:27:15 +00:00
|
|
|
else
|
|
|
|
g_notification_service->push_error("Weapons", "Failed to take control of entity.");
|
2021-05-20 18:57:53 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-03-01 21:27:15 +00:00
|
|
|
else
|
|
|
|
g_notification_service->push_error("Weapons", "No entity found.");
|
2021-05-20 18:57:53 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2022-06-25 21:17:35 +02:00
|
|
|
}
|