Fixed friendly NPCs being incorrectly targeted by the aimbot/triggerbot. (#3412)
Added friends check to the aimbot/triggerbot.
This commit is contained in:
parent
6c7cac01c2
commit
f23078c9ea
@ -1,104 +1,103 @@
|
||||
#include "backend/looped/looped.hpp"
|
||||
#include "backend/looped_command.hpp"
|
||||
#include "pointers.hpp"
|
||||
#include "gta_util.hpp"
|
||||
#include "util/math.hpp"
|
||||
#include <network/Network.hpp>
|
||||
#include <network/CCommunications.hpp>
|
||||
|
||||
namespace big
|
||||
{
|
||||
void set_peer_id_upper(std::uint64_t upper)
|
||||
{
|
||||
*g_pointers->m_gta.m_peer_id &= 0xFFFFFFFF;
|
||||
*g_pointers->m_gta.m_peer_id |= (upper << 32);
|
||||
|
||||
if (gta_util::get_network()->m_game_session_ptr)
|
||||
gta_util::get_network()->m_game_session_ptr->m_local_player.m_player_data.m_peer_id = *g_pointers->m_gta.m_peer_id;
|
||||
if (gta_util::get_network()->m_transition_session_ptr)
|
||||
gta_util::get_network()->m_transition_session_ptr->m_local_player.m_player_data.m_peer_id = *g_pointers->m_gta.m_peer_id;
|
||||
|
||||
g_pointers->m_gta.m_profile_gamer_info->m_peer_id = *g_pointers->m_gta.m_peer_id;
|
||||
g_pointers->m_gta.m_player_info_gamer_info->m_peer_id = *g_pointers->m_gta.m_peer_id;
|
||||
(*g_pointers->m_gta.m_communications)->m_voice.m_connections[0]->m_gamer_info.m_peer_id = *g_pointers->m_gta.m_peer_id;
|
||||
|
||||
if (g_local_player && g_local_player->m_player_info)
|
||||
g_local_player->m_player_info->m_net_player_data.m_peer_id = *g_pointers->m_gta.m_peer_id;
|
||||
}
|
||||
|
||||
void set_host_token(std::uint64_t token)
|
||||
{
|
||||
*g_pointers->m_gta.m_host_token = token;
|
||||
|
||||
if (gta_util::get_network()->m_game_session_ptr)
|
||||
gta_util::get_network()->m_game_session_ptr->m_local_player.m_player_data.m_host_token = token;
|
||||
if (gta_util::get_network()->m_transition_session_ptr)
|
||||
gta_util::get_network()->m_transition_session_ptr->m_local_player.m_player_data.m_host_token = token;
|
||||
|
||||
g_pointers->m_gta.m_profile_gamer_info->m_host_token = token;
|
||||
g_pointers->m_gta.m_player_info_gamer_info->m_host_token = token;
|
||||
(*g_pointers->m_gta.m_communications)->m_voice.m_connections[0]->m_gamer_info.m_host_token = token;
|
||||
|
||||
if (g_local_player && g_local_player->m_player_info)
|
||||
g_local_player->m_player_info->m_net_player_data.m_host_token = token;
|
||||
|
||||
|
||||
set_peer_id_upper(token >> 32);
|
||||
}
|
||||
|
||||
class spoof_host_token_internal : looped_command
|
||||
{
|
||||
using looped_command::looped_command;
|
||||
|
||||
virtual void on_enable() override
|
||||
{
|
||||
g.session.original_host_token = *g_pointers->m_gta.m_host_token;
|
||||
}
|
||||
|
||||
virtual void on_tick() override
|
||||
{
|
||||
if (g.session.spoof_host_token_dirty && gta_util::get_network()->m_game_session_state == 0)
|
||||
{
|
||||
switch (g.session.spoof_host_token_type)
|
||||
{
|
||||
case 0: // Disabled
|
||||
{
|
||||
set_host_token(g.session.original_host_token);
|
||||
break;
|
||||
}
|
||||
case 1: // Legit
|
||||
{
|
||||
std::uint64_t rand_upper = math::rand(20, 230);
|
||||
set_host_token(((g.session.original_host_token) & 0xFFFFFFFF) | (rand_upper << 32));
|
||||
break;
|
||||
}
|
||||
case 2: // Aggressive
|
||||
{
|
||||
set_host_token(math::rand(10, 1000));
|
||||
break;
|
||||
}
|
||||
case 3: // Very aggressive
|
||||
{
|
||||
set_host_token(0);
|
||||
break;
|
||||
}
|
||||
case 4: // Custom
|
||||
{
|
||||
set_host_token(g.session.custom_host_token);
|
||||
break;
|
||||
}
|
||||
}
|
||||
g.session.spoof_host_token_dirty = false;
|
||||
}
|
||||
}
|
||||
|
||||
virtual void on_disable() override
|
||||
{
|
||||
if (g.session.original_host_token)
|
||||
set_host_token(g.session.original_host_token);
|
||||
}
|
||||
};
|
||||
|
||||
static bool true_ref = true;
|
||||
spoof_host_token_internal g_spoof_host_token_internal("$$spoofhosttoken", "", "", true_ref);
|
||||
#include "backend/looped_command.hpp"
|
||||
#include "pointers.hpp"
|
||||
#include "gta_util.hpp"
|
||||
#include "util/math.hpp"
|
||||
#include <network/Network.hpp>
|
||||
#include <network/CCommunications.hpp>
|
||||
|
||||
namespace big
|
||||
{
|
||||
void set_peer_id_upper(std::uint64_t upper)
|
||||
{
|
||||
*g_pointers->m_gta.m_peer_id &= 0xFFFFFFFF;
|
||||
*g_pointers->m_gta.m_peer_id |= (upper << 32);
|
||||
|
||||
if (gta_util::get_network()->m_game_session_ptr)
|
||||
gta_util::get_network()->m_game_session_ptr->m_local_player.m_player_data.m_peer_id = *g_pointers->m_gta.m_peer_id;
|
||||
if (gta_util::get_network()->m_transition_session_ptr)
|
||||
gta_util::get_network()->m_transition_session_ptr->m_local_player.m_player_data.m_peer_id = *g_pointers->m_gta.m_peer_id;
|
||||
|
||||
g_pointers->m_gta.m_profile_gamer_info->m_peer_id = *g_pointers->m_gta.m_peer_id;
|
||||
g_pointers->m_gta.m_player_info_gamer_info->m_peer_id = *g_pointers->m_gta.m_peer_id;
|
||||
(*g_pointers->m_gta.m_communications)->m_voice.m_connections[0]->m_gamer_info.m_peer_id = *g_pointers->m_gta.m_peer_id;
|
||||
|
||||
if (g_local_player && g_local_player->m_player_info)
|
||||
g_local_player->m_player_info->m_net_player_data.m_peer_id = *g_pointers->m_gta.m_peer_id;
|
||||
}
|
||||
|
||||
void set_host_token(std::uint64_t token)
|
||||
{
|
||||
*g_pointers->m_gta.m_host_token = token;
|
||||
|
||||
if (gta_util::get_network()->m_game_session_ptr)
|
||||
gta_util::get_network()->m_game_session_ptr->m_local_player.m_player_data.m_host_token = token;
|
||||
if (gta_util::get_network()->m_transition_session_ptr)
|
||||
gta_util::get_network()->m_transition_session_ptr->m_local_player.m_player_data.m_host_token = token;
|
||||
|
||||
g_pointers->m_gta.m_profile_gamer_info->m_host_token = token;
|
||||
g_pointers->m_gta.m_player_info_gamer_info->m_host_token = token;
|
||||
(*g_pointers->m_gta.m_communications)->m_voice.m_connections[0]->m_gamer_info.m_host_token = token;
|
||||
|
||||
if (g_local_player && g_local_player->m_player_info)
|
||||
g_local_player->m_player_info->m_net_player_data.m_host_token = token;
|
||||
|
||||
|
||||
set_peer_id_upper(token >> 32);
|
||||
}
|
||||
|
||||
class spoof_host_token_internal : looped_command
|
||||
{
|
||||
using looped_command::looped_command;
|
||||
|
||||
virtual void on_enable() override
|
||||
{
|
||||
g.session.original_host_token = *g_pointers->m_gta.m_host_token;
|
||||
}
|
||||
|
||||
virtual void on_tick() override
|
||||
{
|
||||
if (g.session.spoof_host_token_dirty && gta_util::get_network()->m_game_session_state == 0)
|
||||
{
|
||||
switch (g.session.spoof_host_token_type)
|
||||
{
|
||||
case 0: // Disabled
|
||||
{
|
||||
set_host_token(g.session.original_host_token);
|
||||
break;
|
||||
}
|
||||
case 1: // Legit
|
||||
{
|
||||
std::uint64_t rand_upper = math::rand(20, 230);
|
||||
set_host_token(((g.session.original_host_token) & 0xFFFFFFFF) | (rand_upper << 32));
|
||||
break;
|
||||
}
|
||||
case 2: // Aggressive
|
||||
{
|
||||
set_host_token(math::rand(10, 1000));
|
||||
break;
|
||||
}
|
||||
case 3: // Very aggressive
|
||||
{
|
||||
set_host_token(0);
|
||||
break;
|
||||
}
|
||||
case 4: // Custom
|
||||
{
|
||||
set_host_token(g.session.custom_host_token);
|
||||
break;
|
||||
}
|
||||
}
|
||||
g.session.spoof_host_token_dirty = false;
|
||||
}
|
||||
}
|
||||
|
||||
virtual void on_disable() override
|
||||
{
|
||||
if (g.session.original_host_token)
|
||||
set_host_token(g.session.original_host_token);
|
||||
}
|
||||
};
|
||||
|
||||
static bool true_ref = true;
|
||||
spoof_host_token_internal g_spoof_host_token_internal("$$spoofhosttoken", "", "", true_ref);
|
||||
}
|
@ -4,6 +4,8 @@
|
||||
#include "natives.hpp"
|
||||
#include "util/math.hpp"
|
||||
#include "util/pools.hpp"
|
||||
#include "services/friends/friends_service.hpp"
|
||||
#include "services/player_database/player_database_service.hpp"
|
||||
|
||||
namespace big
|
||||
{
|
||||
@ -136,6 +138,17 @@ namespace big
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (g.weapons.aimbot.exclude_friends && !ped->m_player_info)
|
||||
{
|
||||
auto rockstar_id = ped->m_player_info->m_net_player_data.m_gamer_handle.m_rockstar_id;
|
||||
auto is_friend = friends_service::is_friend(rockstar_id);
|
||||
auto db_player = g_player_database_service->get_player_by_rockstar_id(rockstar_id);
|
||||
auto is_trusted = db_player && db_player->is_trusted;
|
||||
|
||||
if (is_friend || is_trusted)
|
||||
continue;
|
||||
}
|
||||
|
||||
const auto ped_handle = g_pointers->m_gta.m_ptr_to_handle(ped);
|
||||
|
||||
@ -143,20 +156,20 @@ namespace big
|
||||
{
|
||||
bool is_hated_relationship = false;
|
||||
bool is_in_combat = PED::IS_PED_IN_COMBAT(ped_handle, self::ped);
|
||||
auto blip_color = HUD::GET_BLIP_COLOUR(HUD::GET_BLIP_FROM_ENTITY(ped_handle));
|
||||
bool is_enemy = PED::GET_PED_CONFIG_FLAG(ped_handle, 38, TRUE) == TRUE || (blip_color == (int)BlipColors::BlipColorEnemy || blip_color == (int)BlipColors::RedMission);
|
||||
auto blip_color = HUD::GET_BLIP_HUD_COLOUR(HUD::GET_BLIP_FROM_ENTITY(ped_handle));
|
||||
bool is_enemy = ((PED::GET_PED_CONFIG_FLAG(ped_handle, 38, TRUE) == TRUE) || (blip_color == HUD_COLOUR_RED));
|
||||
|
||||
switch (PED::GET_RELATIONSHIP_BETWEEN_PEDS(ped_handle, self::ped))
|
||||
{
|
||||
case Dislike:
|
||||
case Wanted:
|
||||
case Hate: is_hated_relationship = true;
|
||||
case Dislike:
|
||||
case Wanted:
|
||||
case Hate: is_hated_relationship = true;
|
||||
}
|
||||
|
||||
if (!is_hated_relationship && !is_in_combat && !is_enemy)
|
||||
{
|
||||
/*if (PED::GET_PED_TYPE(ped_handle) != PED_TYPE_ANIMAL)
|
||||
LOG(INFO) << " PED_TYPE " << PED::GET_PED_TYPE(ped_handle) << " hated " << is_hated_relationship << " combat " << is_in_combat << " enemy " << is_enemy << " blip_color " << blip_color;*/
|
||||
LOG(INFO) << " PED_TYPE " << PED::GET_PED_TYPE(ped_handle) << " hated " << is_hated_relationship << " combat " << is_in_combat << " enemy " << is_enemy << " blip_color " << blip_color;*/
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
@ -1,110 +1,123 @@
|
||||
#include "backend/looped_command.hpp"
|
||||
#include "gta/enums.hpp"
|
||||
#include "natives.hpp"
|
||||
#include "util/entity.hpp"
|
||||
|
||||
namespace big
|
||||
{
|
||||
class triggerbot : looped_command
|
||||
{
|
||||
using looped_command::looped_command;
|
||||
|
||||
virtual void on_tick() override
|
||||
{
|
||||
Entity crosshair_catch;
|
||||
if (PAD::IS_DISABLED_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_AIM))
|
||||
{
|
||||
if (g.weapons.aimbot.enable && g.weapons.aimbot.has_target)
|
||||
{
|
||||
PED::SET_PED_RESET_FLAG(self::ped, 65, TRUE);
|
||||
}
|
||||
else if (entity::raycast(&crosshair_catch))
|
||||
{
|
||||
if (ENTITY::IS_ENTITY_A_PED(crosshair_catch) && !ENTITY::IS_ENTITY_DEAD(crosshair_catch, 0))
|
||||
{
|
||||
Ped ped = (Ped)crosshair_catch;
|
||||
CPed* ped_ptr = reinterpret_cast<CPed*>(g_pointers->m_gta.m_handle_to_ptr(ped));
|
||||
|
||||
if (ped_ptr == nullptr)
|
||||
return;
|
||||
|
||||
if (g.weapons.aimbot.only_on_player && !ped_ptr->m_player_info)
|
||||
return;
|
||||
|
||||
if (g.weapons.aimbot.only_on_enemy)
|
||||
{
|
||||
bool is_hated_relationship = false;
|
||||
bool is_in_combat = PED::IS_PED_IN_COMBAT(ped, self::ped);
|
||||
auto blip_color = HUD::GET_BLIP_COLOUR(HUD::GET_BLIP_FROM_ENTITY(ped));
|
||||
bool is_enemy = PED::GET_PED_CONFIG_FLAG(ped, 38, TRUE) == TRUE || (blip_color == (int)BlipColors::BlipColorEnemy || blip_color == (int)BlipColors::RedMission);
|
||||
|
||||
switch (PED::GET_RELATIONSHIP_BETWEEN_PEDS(ped, self::ped))
|
||||
{
|
||||
case Dislike:
|
||||
case Wanted:
|
||||
case Hate: is_hated_relationship = true;
|
||||
}
|
||||
|
||||
if (!is_hated_relationship && !is_in_combat && !is_enemy)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
bool is_a_ped_type_we_dont_care_about;
|
||||
const auto ped_type = PED::GET_PED_TYPE(ped);
|
||||
|
||||
switch (ped_type)
|
||||
{
|
||||
case ePedType::PED_TYPE_PLAYER_0:
|
||||
case ePedType::PED_TYPE_PLAYER_1:
|
||||
case ePedType::PED_TYPE_NETWORK_PLAYER:
|
||||
case ePedType::PED_TYPE_PLAYER_2:
|
||||
case ePedType::PED_TYPE_CIVMALE:
|
||||
case ePedType::PED_TYPE_CIVFEMALE:
|
||||
case ePedType::PED_TYPE_COP:
|
||||
case ePedType::PED_TYPE_GANG_ALBANIAN:
|
||||
case ePedType::PED_TYPE_GANG_BIKER_1:
|
||||
case ePedType::PED_TYPE_GANG_BIKER_2:
|
||||
case ePedType::PED_TYPE_GANG_ITALIAN:
|
||||
case ePedType::PED_TYPE_GANG_RUSSIAN:
|
||||
case ePedType::PED_TYPE_GANG_RUSSIAN_2:
|
||||
case ePedType::PED_TYPE_GANG_IRISH:
|
||||
case ePedType::PED_TYPE_GANG_JAMAICAN:
|
||||
case ePedType::PED_TYPE_GANG_AFRICAN_AMERICAN:
|
||||
case ePedType::PED_TYPE_GANG_KOREAN:
|
||||
case ePedType::PED_TYPE_GANG_CHINESE_JAPANESE:
|
||||
case ePedType::PED_TYPE_GANG_PUERTO_RICAN:
|
||||
case ePedType::PED_TYPE_DEALER:
|
||||
case ePedType::PED_TYPE_MEDIC:
|
||||
case ePedType::PED_TYPE_FIREMAN:
|
||||
case ePedType::PED_TYPE_CRIMINAL:
|
||||
case ePedType::PED_TYPE_BUM:
|
||||
case ePedType::PED_TYPE_PROSTITUTE:
|
||||
case ePedType::PED_TYPE_SPECIAL:
|
||||
case ePedType::PED_TYPE_MISSION:
|
||||
case ePedType::PED_TYPE_SWAT:
|
||||
case ePedType::PED_TYPE_ANIMAL:
|
||||
case ePedType::PED_TYPE_ARMY:
|
||||
{
|
||||
is_a_ped_type_we_dont_care_about = (g.weapons.aimbot.only_on_ped_type & (1LL << ped_type)) == 0;
|
||||
}
|
||||
default: is_a_ped_type_we_dont_care_about = false;
|
||||
}
|
||||
|
||||
if (is_a_ped_type_we_dont_care_about)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//Vector3 coords = ENTITY::GET_ENTITY_BONE_POSTION(crosshair_catch, 0x796E); //SKEL_Head (This will fix the edge case of peds in cars)
|
||||
//PED::SET_PED_SHOOTS_AT_COORD(self::ped, coords.x, coords.y, coords.z, true);
|
||||
PED::SET_PED_RESET_FLAG(self::ped, 65, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
triggerbot g_triggerbot("triggerbot", "VIEW_OVERLAY_TRIGGERBOT", "BACKEND_LOOPED_WEAPONS_TRIGGERBOT_DESC", g.weapons.triggerbot);
|
||||
}
|
||||
#include "backend/looped_command.hpp"
|
||||
#include "gta/enums.hpp"
|
||||
#include "natives.hpp"
|
||||
#include "util/entity.hpp"
|
||||
#include "services/friends/friends_service.hpp"
|
||||
#include "services/player_database/player_database_service.hpp"
|
||||
|
||||
namespace big
|
||||
{
|
||||
class triggerbot : looped_command
|
||||
{
|
||||
using looped_command::looped_command;
|
||||
|
||||
virtual void on_tick() override
|
||||
{
|
||||
Entity crosshair_catch;
|
||||
if (PAD::IS_DISABLED_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_AIM))
|
||||
{
|
||||
if (g.weapons.aimbot.enable && g.weapons.aimbot.has_target)
|
||||
{
|
||||
PED::SET_PED_RESET_FLAG(self::ped, 65, TRUE);
|
||||
}
|
||||
else if (entity::raycast(&crosshair_catch))
|
||||
{
|
||||
if (ENTITY::IS_ENTITY_A_PED(crosshair_catch) && !ENTITY::IS_ENTITY_DEAD(crosshair_catch, 0))
|
||||
{
|
||||
Ped ped = (Ped)crosshair_catch;
|
||||
CPed* ped_ptr = reinterpret_cast<CPed*>(g_pointers->m_gta.m_handle_to_ptr(ped));
|
||||
|
||||
if (ped_ptr == nullptr)
|
||||
return;
|
||||
|
||||
if (g.weapons.aimbot.only_on_player && !ped_ptr->m_player_info)
|
||||
return;
|
||||
|
||||
if (g.weapons.aimbot.exclude_friends && !ped_ptr->m_player_info)
|
||||
{
|
||||
auto rockstar_id = ped_ptr->m_player_info->m_net_player_data.m_gamer_handle.m_rockstar_id;
|
||||
auto is_friend = friends_service::is_friend(rockstar_id);
|
||||
auto db_player = g_player_database_service->get_player_by_rockstar_id(rockstar_id);
|
||||
auto is_trusted = db_player && db_player->is_trusted;
|
||||
|
||||
if (is_friend || is_trusted)
|
||||
return;
|
||||
}
|
||||
|
||||
if (g.weapons.aimbot.only_on_enemy)
|
||||
{
|
||||
bool is_hated_relationship = false;
|
||||
bool is_in_combat = PED::IS_PED_IN_COMBAT(ped, self::ped);
|
||||
auto blip_color = HUD::GET_BLIP_HUD_COLOUR(HUD::GET_BLIP_FROM_ENTITY(ped));
|
||||
bool is_enemy = ((PED::GET_PED_CONFIG_FLAG(ped, 38, TRUE) == TRUE) || (blip_color == HUD_COLOUR_RED));
|
||||
|
||||
switch (PED::GET_RELATIONSHIP_BETWEEN_PEDS(ped, self::ped))
|
||||
{
|
||||
case Dislike:
|
||||
case Wanted:
|
||||
case Hate: is_hated_relationship = true;
|
||||
}
|
||||
|
||||
if (!is_hated_relationship && !is_in_combat && !is_enemy)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
bool is_a_ped_type_we_dont_care_about;
|
||||
const auto ped_type = PED::GET_PED_TYPE(ped);
|
||||
|
||||
switch (ped_type)
|
||||
{
|
||||
case ePedType::PED_TYPE_PLAYER_0:
|
||||
case ePedType::PED_TYPE_PLAYER_1:
|
||||
case ePedType::PED_TYPE_NETWORK_PLAYER:
|
||||
case ePedType::PED_TYPE_PLAYER_2:
|
||||
case ePedType::PED_TYPE_CIVMALE:
|
||||
case ePedType::PED_TYPE_CIVFEMALE:
|
||||
case ePedType::PED_TYPE_COP:
|
||||
case ePedType::PED_TYPE_GANG_ALBANIAN:
|
||||
case ePedType::PED_TYPE_GANG_BIKER_1:
|
||||
case ePedType::PED_TYPE_GANG_BIKER_2:
|
||||
case ePedType::PED_TYPE_GANG_ITALIAN:
|
||||
case ePedType::PED_TYPE_GANG_RUSSIAN:
|
||||
case ePedType::PED_TYPE_GANG_RUSSIAN_2:
|
||||
case ePedType::PED_TYPE_GANG_IRISH:
|
||||
case ePedType::PED_TYPE_GANG_JAMAICAN:
|
||||
case ePedType::PED_TYPE_GANG_AFRICAN_AMERICAN:
|
||||
case ePedType::PED_TYPE_GANG_KOREAN:
|
||||
case ePedType::PED_TYPE_GANG_CHINESE_JAPANESE:
|
||||
case ePedType::PED_TYPE_GANG_PUERTO_RICAN:
|
||||
case ePedType::PED_TYPE_DEALER:
|
||||
case ePedType::PED_TYPE_MEDIC:
|
||||
case ePedType::PED_TYPE_FIREMAN:
|
||||
case ePedType::PED_TYPE_CRIMINAL:
|
||||
case ePedType::PED_TYPE_BUM:
|
||||
case ePedType::PED_TYPE_PROSTITUTE:
|
||||
case ePedType::PED_TYPE_SPECIAL:
|
||||
case ePedType::PED_TYPE_MISSION:
|
||||
case ePedType::PED_TYPE_SWAT:
|
||||
case ePedType::PED_TYPE_ANIMAL:
|
||||
case ePedType::PED_TYPE_ARMY:
|
||||
{
|
||||
is_a_ped_type_we_dont_care_about = (g.weapons.aimbot.only_on_ped_type & (1LL << ped_type)) == 0;
|
||||
}
|
||||
default: is_a_ped_type_we_dont_care_about = false;
|
||||
}
|
||||
|
||||
if (is_a_ped_type_we_dont_care_about)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//Vector3 coords = ENTITY::GET_ENTITY_BONE_POSTION(crosshair_catch, 0x796E); //SKEL_Head (This will fix the edge case of peds in cars)
|
||||
//PED::SET_PED_SHOOTS_AT_COORD(self::ped, coords.x, coords.y, coords.z, true);
|
||||
PED::SET_PED_RESET_FLAG(self::ped, 65, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
triggerbot g_triggerbot("triggerbot", "VIEW_OVERLAY_TRIGGERBOT", "BACKEND_LOOPED_WEAPONS_TRIGGERBOT_DESC", g.weapons.triggerbot);
|
||||
}
|
||||
|
@ -901,6 +901,7 @@ namespace big
|
||||
bool enable = false;
|
||||
int64_t only_on_ped_type = -1;
|
||||
bool only_on_player = false;
|
||||
bool exclude_friends = false;
|
||||
bool only_on_enemy = false;
|
||||
bool has_target = false;
|
||||
float fov = 60.f;
|
||||
|
@ -2140,3 +2140,242 @@ enum PedRelationships : int
|
||||
Hate,
|
||||
Indifferent = 255
|
||||
};
|
||||
|
||||
enum HudColors : int //https://docs.fivem.net/docs/game-references/hud-colors/
|
||||
{
|
||||
HUD_COLOUR_PURE_WHITE,
|
||||
HUD_COLOUR_WHITE,
|
||||
HUD_COLOUR_BLACK,
|
||||
HUD_COLOUR_GREY,
|
||||
HUD_COLOUR_GREYLIGHT,
|
||||
HUD_COLOUR_GREYDARK,
|
||||
HUD_COLOUR_RED,
|
||||
HUD_COLOUR_REDLIGHT,
|
||||
HUD_COLOUR_REDDARK,
|
||||
HUD_COLOUR_BLUE,
|
||||
HUD_COLOUR_BLUELIGHT,
|
||||
HUD_COLOUR_BLUEDARK,
|
||||
HUD_COLOUR_YELLOW,
|
||||
HUD_COLOUR_YELLOWLIGHT,
|
||||
HUD_COLOUR_YELLOWDARK,
|
||||
HUD_COLOUR_ORANGE,
|
||||
HUD_COLOUR_ORANGELIGHT,
|
||||
HUD_COLOUR_ORANGEDARK,
|
||||
HUD_COLOUR_GREEN,
|
||||
HUD_COLOUR_GREENLIGHT,
|
||||
HUD_COLOUR_GREENDARK,
|
||||
HUD_COLOUR_PURPLE,
|
||||
HUD_COLOUR_PURPLELIGHT,
|
||||
HUD_COLOUR_PURPLEDARK,
|
||||
HUD_COLOUR_PINK,
|
||||
HUD_COLOUR_RADAR_HEALTH,
|
||||
HUD_COLOUR_RADAR_ARMOUR,
|
||||
HUD_COLOUR_RADAR_DAMAGE,
|
||||
HUD_COLOUR_NET_PLAYER1,
|
||||
HUD_COLOUR_NET_PLAYER2,
|
||||
HUD_COLOUR_NET_PLAYER3,
|
||||
HUD_COLOUR_NET_PLAYER4,
|
||||
HUD_COLOUR_NET_PLAYER5,
|
||||
HUD_COLOUR_NET_PLAYER6,
|
||||
HUD_COLOUR_NET_PLAYER7,
|
||||
HUD_COLOUR_NET_PLAYER8,
|
||||
HUD_COLOUR_NET_PLAYER9,
|
||||
HUD_COLOUR_NET_PLAYER10,
|
||||
HUD_COLOUR_NET_PLAYER11,
|
||||
HUD_COLOUR_NET_PLAYER12,
|
||||
HUD_COLOUR_NET_PLAYER13,
|
||||
HUD_COLOUR_NET_PLAYER14,
|
||||
HUD_COLOUR_NET_PLAYER15,
|
||||
HUD_COLOUR_NET_PLAYER16,
|
||||
HUD_COLOUR_NET_PLAYER17,
|
||||
HUD_COLOUR_NET_PLAYER18,
|
||||
HUD_COLOUR_NET_PLAYER19,
|
||||
HUD_COLOUR_NET_PLAYER20,
|
||||
HUD_COLOUR_NET_PLAYER21,
|
||||
HUD_COLOUR_NET_PLAYER22,
|
||||
HUD_COLOUR_NET_PLAYER23,
|
||||
HUD_COLOUR_NET_PLAYER24,
|
||||
HUD_COLOUR_NET_PLAYER25,
|
||||
HUD_COLOUR_NET_PLAYER26,
|
||||
HUD_COLOUR_NET_PLAYER27,
|
||||
HUD_COLOUR_NET_PLAYER28,
|
||||
HUD_COLOUR_NET_PLAYER29,
|
||||
HUD_COLOUR_NET_PLAYER30,
|
||||
HUD_COLOUR_NET_PLAYER31,
|
||||
HUD_COLOUR_NET_PLAYER32,
|
||||
HUD_COLOUR_SIMPLEBLIP_DEFAULT,
|
||||
HUD_COLOUR_MENU_BLUE,
|
||||
HUD_COLOUR_MENU_GREY_LIGHT,
|
||||
HUD_COLOUR_MENU_BLUE_EXTRA_DARK,
|
||||
HUD_COLOUR_MENU_YELLOW,
|
||||
HUD_COLOUR_MENU_YELLOW_DARK,
|
||||
HUD_COLOUR_MENU_GREEN,
|
||||
HUD_COLOUR_MENU_GREY,
|
||||
HUD_COLOUR_MENU_GREY_DARK,
|
||||
HUD_COLOUR_MENU_HIGHLIGHT,
|
||||
HUD_COLOUR_MENU_STANDARD,
|
||||
HUD_COLOUR_MENU_DIMMED,
|
||||
HUD_COLOUR_MENU_EXTRA_DIMMED,
|
||||
HUD_COLOUR_BRIEF_TITLE,
|
||||
HUD_COLOUR_MID_GREY_MP,
|
||||
HUD_COLOUR_NET_PLAYER1_DARK,
|
||||
HUD_COLOUR_NET_PLAYER2_DARK,
|
||||
HUD_COLOUR_NET_PLAYER3_DARK,
|
||||
HUD_COLOUR_NET_PLAYER4_DARK,
|
||||
HUD_COLOUR_NET_PLAYER5_DARK,
|
||||
HUD_COLOUR_NET_PLAYER6_DARK,
|
||||
HUD_COLOUR_NET_PLAYER7_DARK,
|
||||
HUD_COLOUR_NET_PLAYER8_DARK,
|
||||
HUD_COLOUR_NET_PLAYER9_DARK,
|
||||
HUD_COLOUR_NET_PLAYER10_DARK,
|
||||
HUD_COLOUR_NET_PLAYER11_DARK,
|
||||
HUD_COLOUR_NET_PLAYER12_DARK,
|
||||
HUD_COLOUR_NET_PLAYER13_DARK,
|
||||
HUD_COLOUR_NET_PLAYER14_DARK,
|
||||
HUD_COLOUR_NET_PLAYER15_DARK,
|
||||
HUD_COLOUR_NET_PLAYER16_DARK,
|
||||
HUD_COLOUR_NET_PLAYER17_DARK,
|
||||
HUD_COLOUR_NET_PLAYER18_DARK,
|
||||
HUD_COLOUR_NET_PLAYER19_DARK,
|
||||
HUD_COLOUR_NET_PLAYER20_DARK,
|
||||
HUD_COLOUR_NET_PLAYER21_DARK,
|
||||
HUD_COLOUR_NET_PLAYER22_DARK,
|
||||
HUD_COLOUR_NET_PLAYER23_DARK,
|
||||
HUD_COLOUR_NET_PLAYER24_DARK,
|
||||
HUD_COLOUR_NET_PLAYER25_DARK,
|
||||
HUD_COLOUR_NET_PLAYER26_DARK,
|
||||
HUD_COLOUR_NET_PLAYER27_DARK,
|
||||
HUD_COLOUR_NET_PLAYER28_DARK,
|
||||
HUD_COLOUR_NET_PLAYER29_DARK,
|
||||
HUD_COLOUR_NET_PLAYER30_DARK,
|
||||
HUD_COLOUR_NET_PLAYER31_DARK,
|
||||
HUD_COLOUR_NET_PLAYER32_DARK,
|
||||
HUD_COLOUR_BRONZE,
|
||||
HUD_COLOUR_SILVER,
|
||||
HUD_COLOUR_GOLD,
|
||||
HUD_COLOUR_PLATINUM,
|
||||
HUD_COLOUR_GANG1,
|
||||
HUD_COLOUR_GANG2,
|
||||
HUD_COLOUR_GANG3,
|
||||
HUD_COLOUR_GANG4,
|
||||
HUD_COLOUR_SAME_CREW,
|
||||
HUD_COLOUR_FREEMODE,
|
||||
HUD_COLOUR_PAUSE_BG,
|
||||
HUD_COLOUR_FRIENDLY,
|
||||
HUD_COLOUR_ENEMY,
|
||||
HUD_COLOUR_LOCATION,
|
||||
HUD_COLOUR_PICKUP,
|
||||
HUD_COLOUR_PAUSE_SINGLEPLAYER,
|
||||
HUD_COLOUR_FREEMODE_DARK,
|
||||
HUD_COLOUR_INACTIVE_MISSION,
|
||||
HUD_COLOUR_DAMAGE,
|
||||
HUD_COLOUR_PINKLIGHT,
|
||||
HUD_COLOUR_PM_MITEM_HIGHLIGHT,
|
||||
HUD_COLOUR_SCRIPT_VARIABLE,
|
||||
HUD_COLOUR_YOGA,
|
||||
HUD_COLOUR_TENNIS,
|
||||
HUD_COLOUR_GOLF,
|
||||
HUD_COLOUR_SHOOTING_RANGE,
|
||||
HUD_COLOUR_FLIGHT_SCHOOL,
|
||||
HUD_COLOUR_NORTH_BLUE,
|
||||
HUD_COLOUR_SOCIAL_CLUB,
|
||||
HUD_COLOUR_PLATFORM_BLUE,
|
||||
HUD_COLOUR_PLATFORM_GREEN,
|
||||
HUD_COLOUR_PLATFORM_GREY,
|
||||
HUD_COLOUR_FACEBOOK_BLUE,
|
||||
HUD_COLOUR_INGAME_BG,
|
||||
HUD_COLOUR_DARTS,
|
||||
HUD_COLOUR_WAYPOINT,
|
||||
HUD_COLOUR_MICHAEL,
|
||||
HUD_COLOUR_FRANKLIN,
|
||||
HUD_COLOUR_TREVOR,
|
||||
HUD_COLOUR_GOLF_P1,
|
||||
HUD_COLOUR_GOLF_P2,
|
||||
HUD_COLOUR_GOLF_P3,
|
||||
HUD_COLOUR_GOLF_P4,
|
||||
HUD_COLOUR_WAYPOINTLIGHT,
|
||||
HUD_COLOUR_WAYPOINTDARK,
|
||||
HUD_COLOUR_PANEL_LIGHT,
|
||||
HUD_COLOUR_MICHAEL_DARK,
|
||||
HUD_COLOUR_FRANKLIN_DARK,
|
||||
HUD_COLOUR_TREVOR_DARK,
|
||||
HUD_COLOUR_OBJECTIVE_ROUTE,
|
||||
HUD_COLOUR_PAUSEMAP_TINT,
|
||||
HUD_COLOUR_PAUSE_DESELECT,
|
||||
HUD_COLOUR_PM_WEAPONS_PURCHASABLE,
|
||||
HUD_COLOUR_PM_WEAPONS_LOCKED,
|
||||
HUD_COLOUR_END_SCREEN_BG,
|
||||
HUD_COLOUR_CHOP,
|
||||
HUD_COLOUR_PAUSEMAP_TINT_HALF,
|
||||
HUD_COLOUR_NORTH_BLUE_OFFICIAL,
|
||||
HUD_COLOUR_SCRIPT_VARIABLE_2,
|
||||
HUD_COLOUR_H,
|
||||
HUD_COLOUR_HDARK,
|
||||
HUD_COLOUR_T,
|
||||
HUD_COLOUR_TDARK,
|
||||
HUD_COLOUR_HSHARD,
|
||||
HUD_COLOUR_CONTROLLER_MICHAEL,
|
||||
HUD_COLOUR_CONTROLLER_FRANKLIN,
|
||||
HUD_COLOUR_CONTROLLER_TREVOR,
|
||||
HUD_COLOUR_CONTROLLER_CHOP,
|
||||
HUD_COLOUR_VIDEO_EDITOR_VIDEO,
|
||||
HUD_COLOUR_VIDEO_EDITOR_AUDIO,
|
||||
HUD_COLOUR_VIDEO_EDITOR_TEXT,
|
||||
HUD_COLOUR_HB_BLUE,
|
||||
HUD_COLOUR_HB_YELLOW,
|
||||
HUD_COLOUR_VIDEO_EDITOR_SCORE,
|
||||
HUD_COLOUR_VIDEO_EDITOR_AUDIO_FADEOUT,
|
||||
HUD_COLOUR_VIDEO_EDITOR_TEXT_FADEOUT,
|
||||
HUD_COLOUR_VIDEO_EDITOR_SCORE_FADEOUT,
|
||||
HUD_COLOUR_HEIST_BACKGROUND,
|
||||
HUD_COLOUR_VIDEO_EDITOR_AMBIENT,
|
||||
HUD_COLOUR_VIDEO_EDITOR_AMBIENT_FADEOUT,
|
||||
HUD_COLOUR_VIDEO_EDITOR_AMBIENT_DARK,
|
||||
HUD_COLOUR_VIDEO_EDITOR_AMBIENT_LIGHT,
|
||||
HUD_COLOUR_VIDEO_EDITOR_AMBIENT_MID,
|
||||
HUD_COLOUR_LOW_FLOW,
|
||||
HUD_COLOUR_LOW_FLOW_DARK,
|
||||
HUD_COLOUR_G1,
|
||||
HUD_COLOUR_G2,
|
||||
HUD_COLOUR_G3,
|
||||
HUD_COLOUR_G4,
|
||||
HUD_COLOUR_G5,
|
||||
HUD_COLOUR_G6,
|
||||
HUD_COLOUR_G7,
|
||||
HUD_COLOUR_G8,
|
||||
HUD_COLOUR_G9,
|
||||
HUD_COLOUR_G10,
|
||||
HUD_COLOUR_G11,
|
||||
HUD_COLOUR_G12,
|
||||
HUD_COLOUR_G13,
|
||||
HUD_COLOUR_G14,
|
||||
HUD_COLOUR_G15,
|
||||
HUD_COLOUR_ADVERSARY,
|
||||
HUD_COLOUR_DEGEN_RED,
|
||||
HUD_COLOUR_DEGEN_YELLOW,
|
||||
HUD_COLOUR_DEGEN_GREEN,
|
||||
HUD_COLOUR_DEGEN_CYAN,
|
||||
HUD_COLOUR_DEGEN_BLUE,
|
||||
HUD_COLOUR_DEGEN_MAGENTA,
|
||||
HUD_COLOUR_STUNT_1,
|
||||
HUD_COLOUR_STUNT_2,
|
||||
HUD_COLOUR_SPECIAL_RACE_SERIES,
|
||||
HUD_COLOUR_SPECIAL_RACE_SERIES_DARK,
|
||||
HUD_COLOUR_CS,
|
||||
HUD_COLOUR_CS_DARK,
|
||||
HUD_COLOUR_TECH_GREEN,
|
||||
HUD_COLOUR_TECH_GREEN_DARK,
|
||||
HUD_COLOUR_TECH_RED,
|
||||
HUD_COLOUR_TECH_GREEN_VERY_DARK,
|
||||
HUD_COLOUR_PLACEHOLDER_01,
|
||||
HUD_COLOUR_PLACEHOLDER_02,
|
||||
HUD_COLOUR_PLACEHOLDER_03,
|
||||
HUD_COLOUR_PLACEHOLDER_04,
|
||||
HUD_COLOUR_PLACEHOLDER_05,
|
||||
HUD_COLOUR_PLACEHOLDER_06,
|
||||
HUD_COLOUR_PLACEHOLDER_07,
|
||||
HUD_COLOUR_PLACEHOLDER_08,
|
||||
HUD_COLOUR_PLACEHOLDER_09,
|
||||
HUD_COLOUR_PLACEHOLDER_10,
|
||||
HUD_COLOUR_JUNK_ENERGY
|
||||
};
|
@ -190,6 +190,8 @@ namespace big
|
||||
{
|
||||
components::command_checkbox<"aimonlyatplayer">();
|
||||
ImGui::SameLine();
|
||||
ImGui::Checkbox("TRUST_FRIENDS"_T.data(), &g.weapons.aimbot.exclude_friends);
|
||||
ImGui::SameLine();
|
||||
components::command_checkbox<"aimonlyatenemy">();
|
||||
|
||||
ImGui::CheckboxFlags("PLAYERS"_T.data(), &g.weapons.aimbot.only_on_ped_type, (int64_t)ePedTypeFlag::PED_TYPE_NETWORK_PLAYER);
|
||||
|
Reference in New Issue
Block a user