diff --git a/uran/TODO b/uran/TODO index fd416f1f..b7deff08 100644 --- a/uran/TODO +++ b/uran/TODO @@ -1,16 +1,13 @@ -5. Implement KillSay -6. Implement Aimbot (silent) +killsay ESP: Box, bones -ESP: Uber n stuff -TRIGGER: Amby -TRIGGER: Ignore VACC +TRIGGER: Amby charge +TRIGGER: Ignore vaccinator Priority FIX OPTIMIZE Buildings aimbot - priority system proper player struct optimize @@ -20,9 +17,11 @@ priority system amby body Entity::AddEntityString - +optimize Glow Objects - +remove magic numbers actual ammo box esp no trigger/aim vacc uber -LINES \ No newline at end of file +LINES (trace crshr->enemy) + +SPY ALERT \ No newline at end of file diff --git a/uran/src/hack.cpp b/uran/src/hack.cpp index 0093c06f..c03fbe14 100644 --- a/uran/src/hack.cpp +++ b/uran/src/hack.cpp @@ -99,12 +99,24 @@ void hack::AddHack(IHack* hack) { ICvar* g_pCVar = 0; +class CGlowObject { +public: + void* handle; + float r, g, b, a; + bool p1, p2; + int p3, p4; +}; + void hack::Initialize() { logging::Initialize(); std::string test = ""; logging::Info("Build: " __DATE__ " " __TIME__); logging::Info("Loading shared objects..."); sharedobj::LoadAllSharedObjects(); + /* TODO */ + //logging::Info("TRYIN' SHIT"); + //CGlowObject* gom = (CGlowObject*)((uintptr_t)sharedobj::client->lmap->l_addr + 0x01FC6260); + //logging::Info("MANAGER?? 0x%08f", gom); logging::Info("Creating interfaces..."); interfaces::CreateInterfaces(); logging::Info("Interfaces created!"); diff --git a/uran/src/hacks/HAimbot.cpp b/uran/src/hacks/HAimbot.cpp index 97d7fa8e..83c9e0f0 100644 --- a/uran/src/hacks/HAimbot.cpp +++ b/uran/src/hacks/HAimbot.cpp @@ -41,15 +41,24 @@ void HAimbot::Create() { this->v_bAutoShoot = CreateConVar("u_aimbot_autoshoot", "1", "Autoshoot"); this->v_bSilent = CreateConVar("u_aimbot_silent", "1", "'Silent' mode"); this->v_bZoomedOnly = CreateConVar("u_aimbot_zoomed", "1", "Only acitve with zoomed rifle"); - this->v_bAutoShootCharge = CreateConVar("u_aimbot_autoshoot_charge", "1", "Charge is needed for autoshoot"); + this->v_iAutoShootCharge = CreateConVar("u_aimbot_autoshoot_charge", "15.0", "Minimal charge for autoshoot"); this->v_iMinRange = CreateConVar("u_aimbot_minrange", "0", "Minimum range to aim"); this->v_bPriority = CreateConVar("u_aimbot_priority", "1", "Use priority system"); this->v_bRespectCloak = CreateConVar("u_aimbot_respect_cloak", "1", "Will not shoot cloaked spies."); + this->v_bCharge = CreateConVar("u_aimbot_charge", "1", "Autoshoot only with charge ready"); + this->v_bEnabledAttacking = CreateConVar("u_aimbot_enable_attack_only", "0", "Aimbot only active with attack key held"); + this->v_bStrictAttack = CreateConVar("u_aimbot_strict_attack", "0", "Not attacking unless target is locked"); aim_filter = new trace::FilterDefault(); fix_silent = false; } bool HAimbot::CreateMove(void*, float, CUserCmd* cmd) { + if (this->v_bEnabledAttacking->GetBool() && !(cmd->buttons & IN_ATTACK)) { + return true; + } + if (this->v_bStrictAttack->GetBool() ) { + cmd->buttons = cmd->buttons &~ IN_ATTACK; + } int local = interfaces::engineClient->GetLocalPlayer(); IClientEntity* player = interfaces::entityList->GetClientEntity(local); if (!player) return true; @@ -140,6 +149,13 @@ bool HAimbot::ShouldTarget(IClientEntity* entity) { char life_state = GetEntityValue(entity, entityvars.iLifeState); if (life_state) return false; // TODO magic number: life state if (!player) return false; + int health = GetEntityValue(entity, entityvars.iHealth); + if (this->v_bCharge->GetBool() && (GetEntityValue(player, entityvars.iClass) == 2)) { + int rifleHandle = GetEntityValue(player, entityvars.hActiveWeapon); + IClientEntity* rifle = interfaces::entityList->GetClientEntity(rifleHandle & 0xFFF); + float bdmg = GetEntityValue(rifle, entityvars.flChargedDamage); + if (health > 150 && (health > (150 + bdmg) || bdmg < 15.0f)) return false; + } int team_my = GetEntityValue(player, entityvars.iTeamNum); if (team == team_my) return false; Vector enemy_pos = entity->GetAbsOrigin(); @@ -248,11 +264,11 @@ bool HAimbot::Aim(IClientEntity* entity, CUserCmd* cmd) { fClampAngle(angles); cmd->viewangles = angles; if (this->v_bAutoShoot->GetBool()) { - if (this->v_bAutoShootCharge->GetBool() && (GetEntityValue(local, entityvars.iClass) == 2)) { + if (this->v_iAutoShootCharge->GetBool() && (GetEntityValue(local, entityvars.iClass) == 2)) { int rifleHandle = GetEntityValue(local, entityvars.hActiveWeapon); IClientEntity* rifle = interfaces::entityList->GetClientEntity(rifleHandle & 0xFFF); float bdmg = GetEntityValue(rifle, entityvars.flChargedDamage); - if (bdmg < 15.0f) return true; + if (bdmg < this->v_iAutoShootCharge->GetFloat()) return true; } cmd->buttons |= IN_ATTACK; } diff --git a/uran/src/hacks/HAimbot.h b/uran/src/hacks/HAimbot.h index b269660e..71c8774e 100644 --- a/uran/src/hacks/HAimbot.h +++ b/uran/src/hacks/HAimbot.h @@ -28,10 +28,13 @@ public: ConVar* v_bAutoShoot; ConVar* v_bSilent; ConVar* v_bZoomedOnly; - ConVar* v_bAutoShootCharge; + ConVar* v_iAutoShootCharge; ConVar* v_iMinRange; ConVar* v_bPriority; ConVar* v_bRespectCloak; + ConVar* v_bCharge; + ConVar* v_bEnabledAttacking; + ConVar* v_bStrictAttack; }; diff --git a/uran/src/hacks/HGlow.cpp b/uran/src/hacks/HGlow.cpp new file mode 100644 index 00000000..e8aad823 --- /dev/null +++ b/uran/src/hacks/HGlow.cpp @@ -0,0 +1,24 @@ +/* + * HGlow.cpp + * + * Created on: Oct 22, 2016 + * Author: nullifiedcat + */ + +#include "HGlow.h" + +void HGlow::Create() { + +} + +bool HGlow::CreateMove(void*, float, CUserCmd*) { + return true; +} + +void HGlow::Destroy() { + +} + +void HGlow::PaintTraverse(void*, unsigned int, bool, bool) { + +} diff --git a/uran/src/hacks/HGlow.h b/uran/src/hacks/HGlow.h new file mode 100644 index 00000000..03bfd2f8 --- /dev/null +++ b/uran/src/hacks/HGlow.h @@ -0,0 +1,22 @@ +/* + * HGlow.h + * + * Created on: Oct 22, 2016 + * Author: nullifiedcat + */ + +#ifndef HGLOW_H_ +#define HGLOW_H_ + +#include "IHack.h" + +class HGlow : public IHack { +public: + void Create(); + bool CreateMove(void*, float, CUserCmd*); + void Destroy(); + void PaintTraverse(void*, unsigned int, bool, bool); +}; + + +#endif /* HGLOW_H_ */ diff --git a/uran/src/helpers.h b/uran/src/helpers.h index 164afcd6..edc1dff6 100644 --- a/uran/src/helpers.h +++ b/uran/src/helpers.h @@ -31,6 +31,7 @@ powerup_type GetPowerupOnPlayer(IClientEntity* player); item_type GetItemType(IClientEntity* entity); const char* GetModelPath(IClientEntity* entity); int GetHitboxPosition(IClientEntity* entity, int hb, Vector& out); +void FixMovement(float& forwardmove, float& sidemove, float& upmove, Vector& viewangles, Vector& angles); extern const char* powerups[POWERUP_COUNT]; extern const char* packs[PACK_COUNT];