aimbot vars

This commit is contained in:
nullifiedcat 2018-07-28 20:33:34 +03:00
parent 36f26e7b34
commit a4232688fa
2 changed files with 60 additions and 154 deletions

View File

@ -5,14 +5,14 @@
* Author: nullifiedcat
*/
#include <settings/Bool.hpp>
#include "common.hpp"
static settings::Bool safety{ "achievement.safety", "true" };
namespace hacks::tf2::achievement
{
static CatVar safety(CV_SWITCH, "achievement_safety", "1",
"Achievement commands safety switch");
void Lock()
{
if (safety)

View File

@ -12,155 +12,64 @@
#include <hacks/Backtrack.hpp>
#include <glez/draw.hpp>
#include <PlayerTools.hpp>
#include <settings/Bool.hpp>
#include "common.hpp"
static settings::Bool enable{ "aimbot.enable", "false" };
static settings::Button aimkey{ "aimbot.aimkey.button", "<null>" };
static settings::Int aimkey_mode{ "aimbot.aimkey.mode", "1" };
static settings::Bool autoshoot{ "aimbot.autoshoot", "0" };
static settings::Bool autoshoot_disguised{ "aimbot.autoshoot-disguised", "0" };
static settings::Bool multipoint{ "aimbot.multipoint", "false" };
static settings::Int hitbox_mode{ "aimbot.hitbox-mode", "0" };
static settings::Float fov{ "aimbot.fov", "0" };
static settings::Int priority_mode{ "aimbot.priority-mode", "0" };
static settings::Bool wait_for_charge{ "aimbot.wait-for-charge", "0" };
static settings::Bool silent{ "aimbot.silent", "0" };
static settings::Bool target_lock{ "aimbot.lock-target", "0" };
static settings::Int hitbox{ "aimbot.hitbox", "0" };
static settings::Bool zoomed_only{ "aimbot.zoomed-only", "1" };
static settings::Bool only_can_shoot{ "aimbot.can-shoot-only", "1" };
static settings::Bool extrapolate{ "aimbot.extrapolate", "0" };
static settings::Int slow_aim{ "aimbot.slow", "0" };
static settings::Float miss_chance{ "aimbot.miss-chance", "0" };
static settings::Bool projectile_aimbot{ "aimbot.projectile.enabled", "1" };
static settings::Float proj_gravity{ "aimbot.projectile.gravity", "0" };
static settings::Float proj_speed{ "aimbot.projectile.speed", "0" };
static settings::Float huntsman_autoshoot{ "aimbot.projectile.huntsman-autoshoot", "0.5" };
static settings::Float sticky_autoshoot{ "aimbot.projectile.sticky-autoshoot", "0.5" };
static settings::Bool aimbot_debug{ "aimbot.debug", "0" };
static settings::Bool engine_projpred{ "aimbot.debug.engine-pp", "0" };
static settings::Bool auto_spin_up{ "aimbot.auto.spin-up", "0" };
static settings::Bool auto_zoom{ "aimbot.auto.zoom", "0" };
static settings::Bool auto_unzoom{ "aimbot.auto.unzoom","0" };
static settings::Bool backtrackAimbot{ "aimbot.backtrack", "0" };
// TODO maybe these should be moved into "Targeting"
static settings::Float max_range{ "aimbot.target.max-range", "4096" };
static settings::Bool ignore_vaccinator{ "aimbot.target.ignore-vaccinator", "1" };
static settings::Bool ignore_cloak{ "aimbot.target.ignore-cloaked-spies", "1" };
static settings::Bool ignore_deadringer{ "aimbot.target.ignore-deadringer", "1" };
static settings::Bool buildings_sentry{ "aimbot.target.sentry", "1" };
static settings::Bool buildings_other{ "aimbot.target.other-buildings", "1" };
static settings::Bool stickybot{ "aimbot.target.stickybomb", "0" };
static settings::Bool rageonly{ "aimbot.target.ignore-non-rage", "0" };
static settings::Int teammates{ "aimbot.target.teammates", "0" };
#if ENABLE_VISUALS
static settings::Bool fov_draw{ "aimbot.fov-circle.enable", "0" };
static settings::Float fovcircle_opacity{ "aimbot.fov-circle.opacity", "0.7" };
#endif
namespace hacks::shared::aimbot
{
// User settings are stored and used by these vars
static CatVar enabled(CV_SWITCH, "aimbot_enabled", "0", "Enable Aimbot",
"Main aimbot switch");
static CatVar aimkey(CV_KEY, "aimbot_aimkey", "0", "Aimkey",
"Aimkey. Look at Aimkey Mode too!");
static CatEnum aimkey_modes_enum({ "DISABLED", "AIMKEY", "REVERSE", "TOGGLE" });
static CatVar aimkey_mode(aimkey_modes_enum, "aimbot_aimkey_mode", "1",
"Aimkey mode",
"DISABLED: aimbot is always active\nAIMKEY: aimbot "
"is active when key is down\nREVERSE: aimbot is "
"disabled when key is down\nTOGGLE: pressing key "
"toggles aimbot");
static CatVar autoshoot(CV_SWITCH, "aimbot_autoshoot", "1", "Autoshoot",
"Shoot automatically when the target is locked, isn't "
"compatible with 'Enable when attacking'");
static CatVar autoshoot_disguised(CV_SWITCH, "aimbot_autoshoot_disguised", "1",
"Autoshoot while disguised",
"Shoot automatically if disguised.");
static CatVar multipoint(CV_SWITCH, "aimbot_multipoint", "0", "Multipoint",
"Multipoint aimbot");
static CatEnum hitbox_mode_enum({ "AUTO", "AUTO-CLOSEST", "STATIC" });
static CatVar hitbox_mode(hitbox_mode_enum, "aimbot_hitboxmode", "0",
"Hitbox Mode", "Defines hitbox selection mode");
static CatVar fov(
CV_FLOAT, "aimbot_fov", "0", "Aimbot FOV",
"FOV range for aimbot to lock targets. \"Smart FOV\" coming eventually.",
180.0f);
static CatVar fovcircle_opacity(CV_FLOAT, "aimbot_fov_draw_opacity", "0.7",
"FOV Circle Opacity",
"Defines opacity of FOV circle", 0.0f, 1.0f);
// Selective and related
static CatEnum priority_mode_enum({ "SMART", "FOV", "DISTANCE", "HEALTH" });
static CatVar priority_mode(priority_mode_enum, "aimbot_prioritymode", "0",
"Priority mode",
"Priority mode.\n"
"SMART: Basically Auto-Threat. "
"FOV, DISTANCE, HEALTH are self-explainable. "
"HEALTH picks the weakest enemy");
static CatVar
wait_for_charge(CV_SWITCH, "aimbot_charge", "0",
"Wait for sniper rifle charge",
"Aimbot waits until it has enough charge to kill");
static CatVar ignore_vaccinator(
CV_SWITCH, "aimbot_ignore_vaccinator", "1", "Ignore Vaccinator",
"Hitscan weapons won't fire if enemy is vaccinated against bullets");
static CatVar ignore_cloak(CV_SWITCH, "aimbot_ignore_cloak", "1",
"Ignore cloaked", "Don't aim at invisible enemies");
static CatVar ignore_deadringer(CV_SWITCH, "aimbot_ignore_deadringer", "1",
"Ignore deadringer",
"Don't aim at deadringed enemies");
static CatVar buildings_sentry(CV_SWITCH, "aimbot_buildings_sentry", "1",
"Aim Sentry",
"Should aimbot aim at sentryguns?");
static CatVar buildings_other(CV_SWITCH, "aimbot_buildings_other", "1",
"Aim Other building",
"Should aimbot aim at other buildings");
static CatVar stickybot(CV_SWITCH, "aimbot_stickys", "0", "Aim Sticky",
"Should aimbot aim at stickys");
static CatVar rageonly(CV_SWITCH, "aimbot_rage_only", "0",
"Ignore non-rage targets",
"Use playerlist to set up rage targets");
static CatEnum teammates_enum({ "ENEMY ONLY", "TEAMMATE ONLY", "BOTH" });
static CatVar teammates(teammates_enum, "aimbot_teammates", "0",
"Aim at teammates",
"Use to choose which team/s to target");
// Other prefrences
static CatVar
silent(CV_SWITCH, "aimbot_silent", "1", "Silent",
"Your screen doesn't get snapped to the point where aimbot aims at");
static CatVar target_lock(
CV_SWITCH, "aimbot_target_lock", "0", "Target Lock",
"Keeps your previously chosen target untill target check fails");
static CatEnum hitbox_enum({ "HEAD", "PELVIS", "SPINE 0", "SPINE 1", "SPINE 2",
"SPINE 3", "UPPER ARM L", "LOWER ARM L", "HAND L",
"UPPER ARM R", "LOWER ARM R", "HAND R", "HIP L",
"KNEE L", "FOOT L", "HIP R", "KNEE R", "FOOT R" });
static CatVar hitbox(hitbox_enum, "aimbot_hitbox", "0", "Hitbox",
"Hitbox to aim at. Ignored if AutoHitbox is on");
static CatVar zoomed_only(CV_SWITCH, "aimbot_zoomed", "0", "Zoomed only",
"Don't autoshoot with unzoomed rifles");
static CatVar only_can_shoot(CV_SWITCH, "aimbot_only_when_can_shoot", "1",
"Active when can shoot",
"Aimbot only activates when you can instantly "
"shoot, sometimes making the autoshoot invisible "
"for spectators");
static CatVar
max_range(CV_INT, "aimbot_maxrange", "0", "Max distance",
"Max range for aimbot\n"
"900-1100 range is efficient for scout/widowmaker engineer",
4096.0f);
static CatVar extrapolate(CV_SWITCH, "aimbot_extrapolate", "0",
"Latency extrapolation",
"(NOT RECOMMENDED) latency extrapolation");
static CatVar slow_aim(CV_INT, "aimbot_slow", "0", "Slow Aim",
"Slowly moves your crosshair onto the target for more "
"legit play\nDisables silent aimbot",
0, 50);
static CatVar projectile_aimbot(
CV_SWITCH, "aimbot_projectile", "1", "Projectile aimbot",
"If you turn it off, aimbot won't try to aim with projectile weapons");
static CatVar
proj_gravity(CV_FLOAT, "aimbot_proj_gravity", "0", "Projectile gravity",
"Force override projectile gravity. Useful for debugging.",
1.0f);
static CatVar
proj_speed(CV_FLOAT, "aimbot_proj_speed", "0", "Projectile speed",
"Force override projectile speed.\n"
"Can be useful for playing with MvM upgrades or on x10 servers "
"since there is no \"automatic\" projectile speed detection in "
"cathook. Yet.");
static CatVar
huntsman_autoshoot(CV_FLOAT, "aimbot_huntsman_charge", "0.5",
"Huntsman autoshoot",
"Minimum charge for autoshooting with huntsman.\n"
"Set it to 0.01 if you want to shoot as soon as you "
"start pulling the arrow",
0.01f, 1.0f);
static CatVar
sticky_autoshoot(CV_FLOAT, "aimbot_sticky_charge", "0.5",
"Sticky autoshoot",
"Minimum charge for autoshooting with Pipebomb Launcher.\n"
"Set it to 0.01 if you want to shoot as soon as you "
"start Charging",
0.01f, 4.0f);
static CatVar miss_chance(CV_FLOAT, "aimbot_miss_chance", "0", "Miss chance",
"From 0 to 1. Aimbot will NOT aim in these % cases",
0.0f, 1.0f);
// Debug vars
static CatVar aimbot_debug(CV_SWITCH, "aimbot_debug", "0", "Aimbot Debug",
"Display simple debug info for aimbot");
static CatVar engine_projpred(CV_SWITCH, "debug_aimbot_engine_pp", "0",
"Engine ProjPred");
// Followbot vars
static CatVar auto_spin_up(
CV_SWITCH, "aimbot_spin_up", "0", "Auto Spin Up",
"Spin up minigun if you can see target, useful for followbots");
static CatVar auto_zoom(
CV_SWITCH, "aimbot_auto_zoom", "0", "Auto Zoom",
"Automatically zoom in if you can see target, useful for followbots");
static CatVar auto_unzoom(CV_SWITCH, "aimbot_auto_unzoom", "0", "Auto Un-zoom",
"Automatically unzoom");
static CatVar backtrackAimbot(CV_SWITCH, "backtrack_aimbot", "0",
"Backtrack Aimbot", "Enable Backtrack Aimbot");
// Current Entity
int target_eid{ 0 };
CachedEntity *target = 0;
@ -184,7 +93,7 @@ bool BacktrackAimbot()
{
if (!hacks::shared::backtrack::enable || !backtrackAimbot)
return false;
if (aimkey && !aimkey.KeyDown())
if (aimkey && !aimkey.isKeyDown())
return false;
if (CE_BAD(LOCAL_E) || !LOCAL_E->m_bAlivePlayer() || !CanShoot())
@ -1045,7 +954,7 @@ int BestHitbox(CachedEntity *target)
{
case 0:
{ // AUTO-HEAD priority
int preferred = hitbox;
int preferred = int(hitbox);
bool headonly = false; // Var to keep if we can bodyshot
IF_GAME(IsTF())
@ -1300,8 +1209,7 @@ bool UpdateAimkey()
if (aimkey && aimkey_mode)
{
// Grab whether the aimkey is depressed
bool key_down =
g_IInputSystem->IsButtonDown((ButtonCode_t)(int) aimkey);
bool key_down = aimkey.isKeyDown();
switch ((int) aimkey_mode)
{
case 1: // Only while key is depressed
@ -1355,12 +1263,10 @@ void Reset()
}
#if ENABLE_VISUALS
static CatVar fov_draw(CV_SWITCH, "aimbot_fov_draw", "0", "Draw Fov Ring",
"Draws a ring to represent your current aimbot fov");
void DrawText()
{
// Dont draw to screen when aimbot is disabled
if (!enabled)
if (!enable)
return;
// Fov ring to represent when a target will be shot