This commit is contained in:
nullifiedcat 2016-12-11 19:00:36 +03:00
parent b2e4c257c5
commit ef2c5f38d0
22 changed files with 121 additions and 42 deletions

View File

@ -1,5 +1,8 @@
MAX -> MIN priority
pNoZoom and zoomed aimbot!!!
DO NOT REFLECT STICKIES AND REFLECTED PROJS
AirStuck FIX
Aim Stickies
Proj Aim Buildings
@ -12,9 +15,10 @@ Integrate SEGVCATCH
Proper AutoHitbox
Smoothe the smooth aim
Display on the left
Jumping ProjAim
Flare aim on fire
Trigger ambassador correction
Melee Aimbot
Hook + Aimbot FIX
ESP Icons
ESP Distance sort
Show sapped buildings in ESP
@ -34,10 +38,9 @@ Auto trigger DR before rockets
Building box opacity
AutoUber
Sticky vischeck
AutoBHop (Speed)
KillSay
InsultSpam
Airstuck Kick
newline nicknames
dark building esp
Anti Backstab
Critical rifles bodyshotting
Show spectators

View File

@ -50,6 +50,8 @@ void EntityVariables::Init() {
this->flLastFireTime = gNetvars.get_offset("DT_TFWeaponBase", "LocalActiveTFWeaponData", "m_flLastFireTime");
this->hThrower = gNetvars.get_offset("DT_BaseGrenade", "m_hThrower");
this->hMyWeapons = gNetvars.get_offset("DT_BaseCombatCharacter", "m_hMyWeapons");
this->iObserverMode = gNetvars.get_offset("DT_BasePlayer", "m_iObserverMode");
this->hObserverTarget = gNetvars.get_offset("DT_BasePlayer", "m_hObserverTarget");
}
void InitEntityOffsets() {

View File

@ -72,6 +72,9 @@ public:
offset_t vecPunchAngle;
offset_t vecPunchAngleVel;
offset_t iObserverMode;
offset_t hObserverTarget;
offset_t flChargeBeginTime;
offset_t flLastFireTime;
offset_t hThrower;

View File

@ -12,9 +12,9 @@
void GlobalSettings::Init() {
this->bHackEnabled = CreateConVar("u_enabled", "1", "Hack enabled (GLOBAL)");
this->bIgnoreTaunting = CreateConVar("u_ignore_taunting", "1", "Ignore taunting players");
this->flForceFOV = CreateConVar("u_fov", "90", "Forces FOV");
this->flForceFOV = CreateConVar("u_fov", "0", "Forces FOV");
this->bProfiler = CreateConVar("u_profiler", "0", "Profiler output enabled");
this->bNoZoom = CreateConVar("u_nozoom", "1", "No Zoom");
this->bNoZoom = CreateConVar("u_nozoom", "0", "No Zoom (Breaks aimbot)");
this->bNoFlinch = CreateConVar("u_noflinch", "0", "No-Flinch");
this->bSendPackets = CreateConVar("u_sendpackets", "1", "Send packets");
this->bShowLogo = CreateConVar("u_logo", "1", "Show logo");

View File

@ -167,6 +167,11 @@ bool Hk_SendNetMsg(void* thisptr, INetMessage& msg, bool bForceReliable = false,
}
bool hack::Hk_CreateMove(void* thisptr, float inputSample, CUserCmd* cmd) {
if (g_pLocalPlayer->entity) {
if (g_pLocalPlayer->bWasZoomed) {
SetEntityValue(g_pLocalPlayer->entity, eoffsets.iCond, g_pLocalPlayer->cond_0 |= cond::zoomed);
}
}
bool ret = ((CreateMove_t*)hooks::hkClientMode->GetMethod(hooks::offCreateMove))(thisptr, inputSample, cmd);
if (!interfaces::engineClient->IsInGame()) {
hack::invalidated = true;
@ -213,6 +218,12 @@ bool hack::Hk_CreateMove(void* thisptr, float inputSample, CUserCmd* cmd) {
ret = false;
}
}*/
if (g_pLocalPlayer->entity) {
if (g_Settings.bNoZoom->GetBool()) {
SetEntityValue(g_pLocalPlayer->entity, eoffsets.iCond, g_pLocalPlayer->cond_0 &= ~cond::zoomed);
}
}
hack::invalidated = false;
if (g_pLocalPlayer->bUseSilentAngles) {
Vector vsilent(cmd->forwardmove, cmd->sidemove, cmd->upmove);
@ -230,6 +241,13 @@ bool hack::Hk_CreateMove(void* thisptr, float inputSample, CUserCmd* cmd) {
void hack::Hk_FrameStageNotify(void* thisptr, int stage) {
//logging::Info("FrameStageNotify %i", stage);
// Ambassador to festive ambassador changer. simple.
if (g_pLocalPlayer->weapon) {
int defidx = GetEntityValue<int>(g_pLocalPlayer->weapon, eoffsets.iItemDefinitionIndex);
if (defidx == 61) {
SetEntityValue<int>(g_pLocalPlayer->weapon, eoffsets.iItemDefinitionIndex, 1006);
}
}
((FrameStageNotify_t*)hooks::hkClient->GetMethod(hooks::offFrameStageNotify))(thisptr, stage);
if (stage == 5 && g_Settings.bNoFlinch->GetBool()) {
static Vector oldPunchAngles = Vector();
Vector punchAngles = GetEntityValue<Vector>(g_pLocalPlayer->entity, eoffsets.vecPunchAngle);
@ -239,18 +257,13 @@ void hack::Hk_FrameStageNotify(void* thisptr, int stage) {
oldPunchAngles = punchAngles;
interfaces::engineClient->SetViewAngles(viewAngles);
}
if (g_pLocalPlayer->weapon) {
int defidx = GetEntityValue<int>(g_pLocalPlayer->weapon, eoffsets.iItemDefinitionIndex);
if (defidx == 61) {
SetEntityValue<int>(g_pLocalPlayer->weapon, eoffsets.iItemDefinitionIndex, 1006);
if (g_Settings.bNoZoom->GetBool()) {
if (g_pLocalPlayer->entity) {
g_pLocalPlayer->bWasZoomed = GetEntityValue<int>(g_pLocalPlayer->entity, eoffsets.iCond) & cond::zoomed;
SetEntityValue(g_pLocalPlayer->entity, eoffsets.iCond, g_pLocalPlayer->cond_0 &~ cond::zoomed);
}
}
((FrameStageNotify_t*)hooks::hkClient->GetMethod(hooks::offFrameStageNotify))(thisptr, stage);
if (g_Settings.bNoZoom->GetBool()) {
if (g_pLocalPlayer->entity) {
SetEntityValue(g_pLocalPlayer->entity, eoffsets.iCond, g_pLocalPlayer->cond_0 &~ cond::zoomed);
}
}
}
bool hack::Hk_DispatchUserMessage(void* thisptr, int type, bf_read& buf) {
@ -305,12 +318,12 @@ void hack::Initialize() {
logging::Info("Initializing surface...");
draw::Initialize();
logging::Info("Adding hacks...");
SetCVarInterface(interfaces::cvar);
BeginConVars();
hack::InitHacks();
logging::Info("Init global settings");
g_Settings.Init();
InitTargetingConVars();
ConVar_Register();
EndConVars();
logging::Info("Initializing NetVar tree...");
gNetvars.init();
logging::Info("Initializing entity offsets...");

View File

@ -66,7 +66,6 @@ Aimbot::Aimbot() {
this->v_flAutoShootHuntsmanCharge = CreateConVar("u_aimbot_huntsman_charge", "0.5", "Huntsman autoshoot charge");
this->v_fSmoothValue = CreateConVar("u_aimbot_smooth_value", "0.2", "Smooth value");
this->v_iAimKey = CreateConVar("u_aimbot_aimkey", "0", "Aim Key");
this->v_bAmbassador = CreateConVar("u_aimbot_ambassador", "0", "Ambassador mode."); // TODO
this->v_iPriorityMode = CreateConVar("u_aimbot_prioritymode", "0", "Priority mode [SMART/FOV/DISTANCE/HEALTH]");
v_bAimBuildings = CreateConVar("u_aimbot_buildings", "1", "Aim at buildings");
v_bActiveOnlyWhenCanShoot = CreateConVar("u_aimbot_only_when_can_shoot", "1", "Aimbot active only when can shoot");
@ -82,9 +81,11 @@ bool Aimbot::CreateMove(void*, float, CUserCmd* cmd) {
bool key_down = interfaces::input->IsButtonDown((ButtonCode_t)this->v_iAimKey->GetInt());
switch (this->v_iAimKeyMode->GetInt()) {
case AimKeyMode_t::PRESS_TO_ENABLE:
break;
if (key_down) break;
else return true;
case AimKeyMode_t::PRESS_TO_DISABLE:
return true;
if (key_down) return true;
else break;
case AimKeyMode_t::PRESS_TO_TOGGLE:
m_bAimKeySwitch = !m_bAimKeySwitch;
if (!m_bAimKeySwitch) return true;
@ -116,12 +117,9 @@ bool Aimbot::CreateMove(void*, float, CUserCmd* cmd) {
}
}
if (this->v_bAmbassador->GetBool()) {
// TODO defindex check
if (g_pLocalPlayer->weapon && g_pLocalPlayer->weapon->GetClientClass()->m_ClassID == ClassID::CTFRevolver) {
if ((interfaces::gvars->curtime - GetEntityValue<float>(g_pLocalPlayer->weapon, eoffsets.flLastFireTime)) <= 1.0) {
return true;
}
if (IsAmbassador(g_pLocalPlayer->weapon)) {
if ((interfaces::gvars->curtime - GetEntityValue<float>(g_pLocalPlayer->weapon, eoffsets.flLastFireTime)) <= 1.0) {
return true;
}
}
@ -149,7 +147,7 @@ bool Aimbot::CreateMove(void*, float, CUserCmd* cmd) {
m_iHitbox = 0;
break;
case ClassID::CTFRevolver:
if (this->v_bAmbassador->GetBool()) {
if (IsAmbassador(g_pLocalPlayer->weapon)) {
m_iHitbox = 0;
}
}

View File

@ -62,7 +62,6 @@ public:
ConVar* v_bProjectileAimbot;
ConVar* v_iOverrideProjSpeed;
ConVar* v_bMachinaPenetration;
ConVar* v_bAmbassador;
ConVar* v_bAimBuildings;
ConVar* v_bActiveOnlyWhenCanShoot;
ConVar* v_fSmoothAutoshootTreshold;

View File

@ -17,7 +17,7 @@ const char* AntiDisguise::GetName() {
}
AntiDisguise::AntiDisguise() {
v_bEnabled = CreateConVar("u_antidisguise", "1", "Disables spy disguise");
v_bEnabled = CreateConVar("u_antidisguise", "0", "Disables spy disguise");
}
void AntiDisguise::PaintTraverse(void*, unsigned int, bool, bool) {

View File

@ -27,9 +27,10 @@ bool IsReflectableProjectile(IClientEntity* ent) {
case ClassID::CTFProjectile_JarMilk:
case ClassID::CTFProjectile_Rocket:
case ClassID::CTFProjectile_SentryRocket:
case ClassID::CTFGrenadePipebombProjectile:
case ClassID::CTFProjectile_EnergyBall:
return true;
case ClassID::CTFGrenadePipebombProjectile:
}
return false;
}
@ -37,8 +38,10 @@ bool IsReflectableProjectile(IClientEntity* ent) {
// Hack Methods
AutoReflect::AutoReflect() {
v_bEnabled = CreateConVar("u_reflect_enabled", "0", "Reflectbot enabled");
v_iReflectDistance = CreateConVar("u_reflect_distance", "300", "Reflectbot distance");
v_bEnabled = CreateConVar("u_reflect_enabled", "0", "Autoreflect");
v_iReflectDistance = CreateConVar("u_reflect_distance", "200", "Autoreflect distance");
v_bDisableWhenAttacking = CreateConVar("u_reflect_only_idle", "0", "Autoreflect active only when not shooting");
v_bReflectStickies = CreateConVar("u_reflect_stickybombs", "0", "Reflect stickies");
}
// TODO
bool AutoReflect::CreateMove(void*, float, CUserCmd* cmd) {

View File

@ -19,6 +19,8 @@ public:
DECLARE_HACK_METHODS();
AutoReflect();
ConVar* v_bEnabled;
ConVar* v_bDisableWhenAttacking;
ConVar* v_bReflectStickies;
ConVar* v_iReflectDistance;
};

View File

@ -20,7 +20,7 @@ const char* AutoSticky::GetName() {
AutoSticky::AutoSticky() {
this->v_flDetonateDistance = CreateConVar("u_sticky_distance", "200", "Sticky detonation distance");
this->v_bBuildings = CreateConVar("u_sticky_buildings", "1", "Stickies detonate at enemies' buildings");
this->v_bEnabled = CreateConVar("u_sticky_enabled", "1", "Enable stickybot");
this->v_bEnabled = CreateConVar("u_sticky_enabled", "0", "Enable stickybot");
this->v_bScottish = CreateConVar("u_sticky_scottish", "0", "Enable stickybot scottish resistance compatability");
}

View File

@ -17,7 +17,9 @@ const char* Bunnyhop::GetName() {
}
Bunnyhop::Bunnyhop() {
this->v_bEnabled = CreateConVar("u_bhop_enabled", "1", "Enable/Disable BunnyHop");
this->v_bEnabled = CreateConVar("u_bhop_enabled", "0", "Enable/Disable BunnyHop");
this->v_bAutoJump = CreateConVar("u_bhop_autojump", "0", "AutoJump");
this->v_iAutoJumpSpeed = CreateConVar("u_bhop_autojump_speed", "300", "AutoJump speed");
}
bool bDoubleJumpFix = false;
@ -29,6 +31,14 @@ bool Bunnyhop::CreateMove(void* thisptr, float sampling, CUserCmd* cmd) {
int cond3 = GetEntityValue<int>(entity, eoffsets.iCond3);
if (cond3 & cond_ex3::grappling) return true;
int flags = GetEntityValue<int>(entity, eoffsets.iFlags);
if (v_bAutoJump->GetBool()) {
Vector vel = GetEntityValue<Vector>(g_pLocalPlayer->entity, eoffsets.vVelocity);
if (sqrt((vel.x * vel.x + vel.y * vel.y)) > v_iAutoJumpSpeed->GetInt()) {
cmd->buttons |= IN_JUMP;
}
}
bool ground = (flags & (1 << 0));
bool jump = (cmd->buttons & IN_JUMP);

View File

@ -17,6 +17,8 @@ public:
DECLARE_HACK_METHODS();
Bunnyhop();
ConVar* v_bEnabled;
ConVar* v_bAutoJump;
ConVar* v_iAutoJumpSpeed;
};
DECLARE_HACK_SINGLETON(Bunnyhop);

View File

@ -35,7 +35,7 @@ void ESP::PaintTraverse(void*, unsigned int, bool, bool) {
}
ESP::ESP() {
this->v_bEnabled = CreateConVar("u_esp_enabled", "1", "Enables ESP");
this->v_bEnabled = CreateConVar("u_esp_enabled", "0", "Enables ESP");
this->v_bEntityESP = CreateConVar("u_esp_entity", "0", "Entity ESP (dev)");
this->v_bTeammates = CreateConVar("u_esp_teammates", "0", "ESP own team");
this->v_bItemESP = CreateConVar("u_esp_item", "0", "Item ESP (powerups, health packs, etc)");
@ -53,6 +53,7 @@ ESP::ESP() {
v_bShowHealthPacks = CreateConVar("u_esp_item_health", "1", "Show health packs");
v_bShowPowerups = CreateConVar("u_esp_item_powerups", "1", "Show powerups");
v_bShowHealthNumbers = CreateConVar("u_esp_health_num", "1", "Show health number");
v_bShowMoney = CreateConVar("u_esp_money", "1", "MvM money");
}
#define ESP_HEIGHT 14
@ -138,7 +139,7 @@ void ESP::ProcessEntityPT(CachedEntity* ent) {
}
}
if (ent->Var<int>(eoffsets.iTeamNum) == g_pLocalPlayer->team && !v_bTeammates->GetBool()) break;
color = colors::GetTeamColor(ent->Var<int>(eoffsets.iTeamNum), false);
color = colors::GetTeamColor(ent->Var<int>(eoffsets.iTeamNum), !ent->m_bIsVisible);
DrawBox(ent, color, 1.0f, 0.0f, true, ent->Var<int>(eoffsets.iBuildingHealth), ent->Var<int>(eoffsets.iBuildingMaxHealth));
break;
}
@ -175,6 +176,12 @@ void ESP::ProcessEntity(CachedEntity* ent) {
}
break;
}
case ClassID::CCurrencyPack: {
if (!v_bShowMoney->GetBool()) break;
color = colors::green;
ent->AddESPString(color, bgclr, "$$$");
ent->AddESPString(color, bgclr, "%im", (int)(ent->m_flDistance / 64 * 1.22f));
} break;
case ClassID::CBaseAnimating: {
if (!this->v_bItemESP->GetBool()) break;
item_type type = GetItemType(ent->m_pEntity);

View File

@ -30,6 +30,7 @@ public:
ConVar* v_bShowAmmoPacks;
ConVar* v_bShowHealthPacks;
ConVar* v_bShowPowerups;
ConVar* v_bShowMoney;
ConVar* v_bTeammatePowerup;
ConVar* v_bShowHead;
ConVar* v_bShowEntityID;

View File

@ -312,6 +312,7 @@ void Misc::PaintTraverse(void*, unsigned int, bool, bool) {
GetProjectileData(g_pLocalPlayer->weapon, speed, arc, gravity);
AddSideString(draw::white, draw::black, "Speed: %f", speed);
AddSideString(draw::white, draw::black, "Gravity: %f", gravity);
AddSideString(draw::white, draw::black, "IsZoomed: %i", g_pLocalPlayer->bWasZoomed);
//AddSideString(draw::white, draw::black, "VecPunchAngle: %f %f %f", pa.x, pa.y, pa.z);
//draw::DrawString(10, y, draw::white, draw::black, false, "VecPunchAngleVel: %f %f %f", pav.x, pav.y, pav.z);
//y += 14;

View File

@ -15,7 +15,7 @@ DEFINE_HACK_SINGLETON(SpyAlert);
const char* SpyAlert::GetName() { return "SPY ALERT"; }
SpyAlert::SpyAlert() {
this->v_bEnabled = CreateConVar("u_spyalert_enabled", "1", "Spy alert enabled");
this->v_bEnabled = CreateConVar("u_spyalert_enabled", "0", "Spy alert enabled");
this->v_flWarningDistance = CreateConVar("u_spyalert_warning", "500.0", "Spy warning distance");
this->v_flBackstabDistance = CreateConVar("u_spyalert_backstab", "200.0", "Spy backstab warning distance");
}

View File

@ -9,6 +9,21 @@
#include "hooks.h"
#include "sdk.h"
#include <pwd.h>
FILE* hConVarsFile = 0;
void BeginConVars() {
passwd* pwd = getpwuid(getuid());
char* user = pwd->pw_name;
hConVarsFile = fopen(strfmt("/home/%s/.local/share/Steam/steamapps/common/Team Fortress 2/tf/cfg/uran.cfg", user), "w");
SetCVarInterface(interfaces::cvar);
}
void EndConVars() {
fclose(hConVarsFile);
ConVar_Register();
}
bool IsPlayerInvulnerable(IClientEntity* player) {
int cond1 = GetEntityValue<int>(player, eoffsets.iCond);
@ -37,6 +52,7 @@ bool IsPlayerCritBoosted(IClientEntity* player) {
ConVar* CreateConVar(const char* name, const char* value, const char* help) {
ConVar* ret = new ConVar(name, value, 0, help);
fprintf(hConVarsFile, "%s %s\n", name, value);
interfaces::cvar->RegisterConCommand(ret);
return ret;
}
@ -578,6 +594,18 @@ bool IsSentryBuster(IClientEntity* entity) {
return (entity && entity->GetClientClass()->m_ClassID == ClassID::CTFPlayer && GetEntityValue<int>(entity, eoffsets.iClass) == tf_class::tf_demoman && g_pPlayerResource->GetMaxHealth(entity) == 2500);
}
bool IsAmbassador(IClientEntity* entity) {
if (!entity) return false;
if (entity->GetClientClass()->m_ClassID != ClassID::CTFRevolver) return false;
int defidx = GetEntityValue<int>(entity, eoffsets.iItemDefinitionIndex);
switch (defidx) {
case 61:
case 1006:
return true;
}
return false;
}
bool CheckCE(CachedEntity* entity) {
return (entity && entity->m_pEntity && !entity->m_pEntity->IsDormant());
}

View File

@ -29,6 +29,10 @@ class Vector;
// TODO split this shit
extern FILE* hConVarsFile;
void BeginConVars();
void EndConVars();
bool IsPlayerCritBoosted(IClientEntity* player);
bool IsPlayerInvulnerable(IClientEntity* player);
bool IsPlayerInvisible(IClientEntity* player);
@ -62,6 +66,7 @@ bool IsVectorVisible(Vector a, Vector b);
relation GetRelation(IClientEntity* ent);
bool IsSentryBuster(IClientEntity* ent);
char* strfmt(const char* fmt, ...);
bool IsAmbassador(IClientEntity* ent);
void AimAt(Vector origin, Vector target, CUserCmd* cmd);
void AimAtHitbox(IClientEntity* ent, int hitbox, CUserCmd* cmd);

View File

@ -26,6 +26,8 @@ public:
int cond_2;
int cond_3;
bool bWasZoomed;
bool bIsReloading;
Vector v_ViewOffset;

View File

@ -12,9 +12,9 @@
#include "fixsdk.h"
#include <icliententity.h>
bool IsAmbassador(IClientEntity* weapon) {
return false;
}
//bool IsAmbassador(IClientEntity* weapon) {
// return false;
//}
/*int g_MeleeList[] = {
0, 1, 2, 3, 4, 5, 6, 7, 8, 37,

View File

@ -10,7 +10,7 @@
class IClientEntity;
bool IsAmbassador(IClientEntity* entity);
//bool IsAmbassador(IClientEntity* entity);
/*extern int g_MeleeList[];