UPD
This commit is contained in:
parent
b2e4c257c5
commit
ef2c5f38d0
11
uran/TODO
11
uran/TODO
@ -1,5 +1,8 @@
|
|||||||
MAX -> MIN priority
|
MAX -> MIN priority
|
||||||
|
|
||||||
|
pNoZoom and zoomed aimbot!!!
|
||||||
|
|
||||||
|
DO NOT REFLECT STICKIES AND REFLECTED PROJS
|
||||||
AirStuck FIX
|
AirStuck FIX
|
||||||
Aim Stickies
|
Aim Stickies
|
||||||
Proj Aim Buildings
|
Proj Aim Buildings
|
||||||
@ -12,9 +15,10 @@ Integrate SEGVCATCH
|
|||||||
Proper AutoHitbox
|
Proper AutoHitbox
|
||||||
Smoothe the smooth aim
|
Smoothe the smooth aim
|
||||||
Display on the left
|
Display on the left
|
||||||
Jumping ProjAim
|
|
||||||
Flare aim on fire
|
Flare aim on fire
|
||||||
Trigger ambassador correction
|
Trigger ambassador correction
|
||||||
|
Melee Aimbot
|
||||||
|
Hook + Aimbot FIX
|
||||||
ESP Icons
|
ESP Icons
|
||||||
ESP Distance sort
|
ESP Distance sort
|
||||||
Show sapped buildings in ESP
|
Show sapped buildings in ESP
|
||||||
@ -34,10 +38,9 @@ Auto trigger DR before rockets
|
|||||||
Building box opacity
|
Building box opacity
|
||||||
AutoUber
|
AutoUber
|
||||||
Sticky vischeck
|
Sticky vischeck
|
||||||
AutoBHop (Speed)
|
KillSay
|
||||||
|
InsultSpam
|
||||||
Airstuck Kick
|
Airstuck Kick
|
||||||
newline nicknames
|
|
||||||
dark building esp
|
|
||||||
Anti Backstab
|
Anti Backstab
|
||||||
Critical rifles bodyshotting
|
Critical rifles bodyshotting
|
||||||
Show spectators
|
Show spectators
|
||||||
|
@ -50,6 +50,8 @@ void EntityVariables::Init() {
|
|||||||
this->flLastFireTime = gNetvars.get_offset("DT_TFWeaponBase", "LocalActiveTFWeaponData", "m_flLastFireTime");
|
this->flLastFireTime = gNetvars.get_offset("DT_TFWeaponBase", "LocalActiveTFWeaponData", "m_flLastFireTime");
|
||||||
this->hThrower = gNetvars.get_offset("DT_BaseGrenade", "m_hThrower");
|
this->hThrower = gNetvars.get_offset("DT_BaseGrenade", "m_hThrower");
|
||||||
this->hMyWeapons = gNetvars.get_offset("DT_BaseCombatCharacter", "m_hMyWeapons");
|
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() {
|
void InitEntityOffsets() {
|
||||||
|
@ -72,6 +72,9 @@ public:
|
|||||||
offset_t vecPunchAngle;
|
offset_t vecPunchAngle;
|
||||||
offset_t vecPunchAngleVel;
|
offset_t vecPunchAngleVel;
|
||||||
|
|
||||||
|
offset_t iObserverMode;
|
||||||
|
offset_t hObserverTarget;
|
||||||
|
|
||||||
offset_t flChargeBeginTime;
|
offset_t flChargeBeginTime;
|
||||||
offset_t flLastFireTime;
|
offset_t flLastFireTime;
|
||||||
offset_t hThrower;
|
offset_t hThrower;
|
||||||
|
@ -12,9 +12,9 @@
|
|||||||
void GlobalSettings::Init() {
|
void GlobalSettings::Init() {
|
||||||
this->bHackEnabled = CreateConVar("u_enabled", "1", "Hack enabled (GLOBAL)");
|
this->bHackEnabled = CreateConVar("u_enabled", "1", "Hack enabled (GLOBAL)");
|
||||||
this->bIgnoreTaunting = CreateConVar("u_ignore_taunting", "1", "Ignore taunting players");
|
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->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->bNoFlinch = CreateConVar("u_noflinch", "0", "No-Flinch");
|
||||||
this->bSendPackets = CreateConVar("u_sendpackets", "1", "Send packets");
|
this->bSendPackets = CreateConVar("u_sendpackets", "1", "Send packets");
|
||||||
this->bShowLogo = CreateConVar("u_logo", "1", "Show logo");
|
this->bShowLogo = CreateConVar("u_logo", "1", "Show logo");
|
||||||
|
@ -167,6 +167,11 @@ bool Hk_SendNetMsg(void* thisptr, INetMessage& msg, bool bForceReliable = false,
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool hack::Hk_CreateMove(void* thisptr, float inputSample, CUserCmd* cmd) {
|
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);
|
bool ret = ((CreateMove_t*)hooks::hkClientMode->GetMethod(hooks::offCreateMove))(thisptr, inputSample, cmd);
|
||||||
if (!interfaces::engineClient->IsInGame()) {
|
if (!interfaces::engineClient->IsInGame()) {
|
||||||
hack::invalidated = true;
|
hack::invalidated = true;
|
||||||
@ -213,6 +218,12 @@ bool hack::Hk_CreateMove(void* thisptr, float inputSample, CUserCmd* cmd) {
|
|||||||
ret = false;
|
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;
|
hack::invalidated = false;
|
||||||
if (g_pLocalPlayer->bUseSilentAngles) {
|
if (g_pLocalPlayer->bUseSilentAngles) {
|
||||||
Vector vsilent(cmd->forwardmove, cmd->sidemove, cmd->upmove);
|
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) {
|
void hack::Hk_FrameStageNotify(void* thisptr, int stage) {
|
||||||
//logging::Info("FrameStageNotify %i", stage);
|
//logging::Info("FrameStageNotify %i", stage);
|
||||||
// Ambassador to festive ambassador changer. simple.
|
// 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()) {
|
if (stage == 5 && g_Settings.bNoFlinch->GetBool()) {
|
||||||
static Vector oldPunchAngles = Vector();
|
static Vector oldPunchAngles = Vector();
|
||||||
Vector punchAngles = GetEntityValue<Vector>(g_pLocalPlayer->entity, eoffsets.vecPunchAngle);
|
Vector punchAngles = GetEntityValue<Vector>(g_pLocalPlayer->entity, eoffsets.vecPunchAngle);
|
||||||
@ -239,15 +257,10 @@ void hack::Hk_FrameStageNotify(void* thisptr, int stage) {
|
|||||||
oldPunchAngles = punchAngles;
|
oldPunchAngles = punchAngles;
|
||||||
interfaces::engineClient->SetViewAngles(viewAngles);
|
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
((FrameStageNotify_t*)hooks::hkClient->GetMethod(hooks::offFrameStageNotify))(thisptr, stage);
|
|
||||||
if (g_Settings.bNoZoom->GetBool()) {
|
if (g_Settings.bNoZoom->GetBool()) {
|
||||||
if (g_pLocalPlayer->entity) {
|
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);
|
SetEntityValue(g_pLocalPlayer->entity, eoffsets.iCond, g_pLocalPlayer->cond_0 &~ cond::zoomed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -305,12 +318,12 @@ void hack::Initialize() {
|
|||||||
logging::Info("Initializing surface...");
|
logging::Info("Initializing surface...");
|
||||||
draw::Initialize();
|
draw::Initialize();
|
||||||
logging::Info("Adding hacks...");
|
logging::Info("Adding hacks...");
|
||||||
SetCVarInterface(interfaces::cvar);
|
BeginConVars();
|
||||||
hack::InitHacks();
|
hack::InitHacks();
|
||||||
logging::Info("Init global settings");
|
logging::Info("Init global settings");
|
||||||
g_Settings.Init();
|
g_Settings.Init();
|
||||||
InitTargetingConVars();
|
InitTargetingConVars();
|
||||||
ConVar_Register();
|
EndConVars();
|
||||||
logging::Info("Initializing NetVar tree...");
|
logging::Info("Initializing NetVar tree...");
|
||||||
gNetvars.init();
|
gNetvars.init();
|
||||||
logging::Info("Initializing entity offsets...");
|
logging::Info("Initializing entity offsets...");
|
||||||
|
@ -66,7 +66,6 @@ Aimbot::Aimbot() {
|
|||||||
this->v_flAutoShootHuntsmanCharge = CreateConVar("u_aimbot_huntsman_charge", "0.5", "Huntsman autoshoot charge");
|
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_fSmoothValue = CreateConVar("u_aimbot_smooth_value", "0.2", "Smooth value");
|
||||||
this->v_iAimKey = CreateConVar("u_aimbot_aimkey", "0", "Aim Key");
|
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]");
|
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_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");
|
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());
|
bool key_down = interfaces::input->IsButtonDown((ButtonCode_t)this->v_iAimKey->GetInt());
|
||||||
switch (this->v_iAimKeyMode->GetInt()) {
|
switch (this->v_iAimKeyMode->GetInt()) {
|
||||||
case AimKeyMode_t::PRESS_TO_ENABLE:
|
case AimKeyMode_t::PRESS_TO_ENABLE:
|
||||||
break;
|
if (key_down) break;
|
||||||
|
else return true;
|
||||||
case AimKeyMode_t::PRESS_TO_DISABLE:
|
case AimKeyMode_t::PRESS_TO_DISABLE:
|
||||||
return true;
|
if (key_down) return true;
|
||||||
|
else break;
|
||||||
case AimKeyMode_t::PRESS_TO_TOGGLE:
|
case AimKeyMode_t::PRESS_TO_TOGGLE:
|
||||||
m_bAimKeySwitch = !m_bAimKeySwitch;
|
m_bAimKeySwitch = !m_bAimKeySwitch;
|
||||||
if (!m_bAimKeySwitch) return true;
|
if (!m_bAimKeySwitch) return true;
|
||||||
@ -116,14 +117,11 @@ bool Aimbot::CreateMove(void*, float, CUserCmd* cmd) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->v_bAmbassador->GetBool()) {
|
if (IsAmbassador(g_pLocalPlayer->weapon)) {
|
||||||
// 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) {
|
if ((interfaces::gvars->curtime - GetEntityValue<float>(g_pLocalPlayer->weapon, eoffsets.flLastFireTime)) <= 1.0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if(cmd->buttons & IN_USE) return true;
|
if(cmd->buttons & IN_USE) return true;
|
||||||
|
|
||||||
@ -149,7 +147,7 @@ bool Aimbot::CreateMove(void*, float, CUserCmd* cmd) {
|
|||||||
m_iHitbox = 0;
|
m_iHitbox = 0;
|
||||||
break;
|
break;
|
||||||
case ClassID::CTFRevolver:
|
case ClassID::CTFRevolver:
|
||||||
if (this->v_bAmbassador->GetBool()) {
|
if (IsAmbassador(g_pLocalPlayer->weapon)) {
|
||||||
m_iHitbox = 0;
|
m_iHitbox = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,6 @@ public:
|
|||||||
ConVar* v_bProjectileAimbot;
|
ConVar* v_bProjectileAimbot;
|
||||||
ConVar* v_iOverrideProjSpeed;
|
ConVar* v_iOverrideProjSpeed;
|
||||||
ConVar* v_bMachinaPenetration;
|
ConVar* v_bMachinaPenetration;
|
||||||
ConVar* v_bAmbassador;
|
|
||||||
ConVar* v_bAimBuildings;
|
ConVar* v_bAimBuildings;
|
||||||
ConVar* v_bActiveOnlyWhenCanShoot;
|
ConVar* v_bActiveOnlyWhenCanShoot;
|
||||||
ConVar* v_fSmoothAutoshootTreshold;
|
ConVar* v_fSmoothAutoshootTreshold;
|
||||||
|
@ -17,7 +17,7 @@ const char* AntiDisguise::GetName() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
AntiDisguise::AntiDisguise() {
|
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) {
|
void AntiDisguise::PaintTraverse(void*, unsigned int, bool, bool) {
|
||||||
|
@ -27,9 +27,10 @@ bool IsReflectableProjectile(IClientEntity* ent) {
|
|||||||
case ClassID::CTFProjectile_JarMilk:
|
case ClassID::CTFProjectile_JarMilk:
|
||||||
case ClassID::CTFProjectile_Rocket:
|
case ClassID::CTFProjectile_Rocket:
|
||||||
case ClassID::CTFProjectile_SentryRocket:
|
case ClassID::CTFProjectile_SentryRocket:
|
||||||
case ClassID::CTFGrenadePipebombProjectile:
|
|
||||||
case ClassID::CTFProjectile_EnergyBall:
|
case ClassID::CTFProjectile_EnergyBall:
|
||||||
return true;
|
return true;
|
||||||
|
case ClassID::CTFGrenadePipebombProjectile:
|
||||||
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -37,8 +38,10 @@ bool IsReflectableProjectile(IClientEntity* ent) {
|
|||||||
// Hack Methods
|
// Hack Methods
|
||||||
|
|
||||||
AutoReflect::AutoReflect() {
|
AutoReflect::AutoReflect() {
|
||||||
v_bEnabled = CreateConVar("u_reflect_enabled", "0", "Reflectbot enabled");
|
v_bEnabled = CreateConVar("u_reflect_enabled", "0", "Autoreflect");
|
||||||
v_iReflectDistance = CreateConVar("u_reflect_distance", "300", "Reflectbot distance");
|
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
|
// TODO
|
||||||
bool AutoReflect::CreateMove(void*, float, CUserCmd* cmd) {
|
bool AutoReflect::CreateMove(void*, float, CUserCmd* cmd) {
|
||||||
|
@ -19,6 +19,8 @@ public:
|
|||||||
DECLARE_HACK_METHODS();
|
DECLARE_HACK_METHODS();
|
||||||
AutoReflect();
|
AutoReflect();
|
||||||
ConVar* v_bEnabled;
|
ConVar* v_bEnabled;
|
||||||
|
ConVar* v_bDisableWhenAttacking;
|
||||||
|
ConVar* v_bReflectStickies;
|
||||||
ConVar* v_iReflectDistance;
|
ConVar* v_iReflectDistance;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ const char* AutoSticky::GetName() {
|
|||||||
AutoSticky::AutoSticky() {
|
AutoSticky::AutoSticky() {
|
||||||
this->v_flDetonateDistance = CreateConVar("u_sticky_distance", "200", "Sticky detonation distance");
|
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_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");
|
this->v_bScottish = CreateConVar("u_sticky_scottish", "0", "Enable stickybot scottish resistance compatability");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,9 @@ const char* Bunnyhop::GetName() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Bunnyhop::Bunnyhop() {
|
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;
|
bool bDoubleJumpFix = false;
|
||||||
@ -29,6 +31,14 @@ bool Bunnyhop::CreateMove(void* thisptr, float sampling, CUserCmd* cmd) {
|
|||||||
int cond3 = GetEntityValue<int>(entity, eoffsets.iCond3);
|
int cond3 = GetEntityValue<int>(entity, eoffsets.iCond3);
|
||||||
if (cond3 & cond_ex3::grappling) return true;
|
if (cond3 & cond_ex3::grappling) return true;
|
||||||
int flags = GetEntityValue<int>(entity, eoffsets.iFlags);
|
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 ground = (flags & (1 << 0));
|
||||||
bool jump = (cmd->buttons & IN_JUMP);
|
bool jump = (cmd->buttons & IN_JUMP);
|
||||||
|
|
||||||
|
@ -17,6 +17,8 @@ public:
|
|||||||
DECLARE_HACK_METHODS();
|
DECLARE_HACK_METHODS();
|
||||||
Bunnyhop();
|
Bunnyhop();
|
||||||
ConVar* v_bEnabled;
|
ConVar* v_bEnabled;
|
||||||
|
ConVar* v_bAutoJump;
|
||||||
|
ConVar* v_iAutoJumpSpeed;
|
||||||
};
|
};
|
||||||
|
|
||||||
DECLARE_HACK_SINGLETON(Bunnyhop);
|
DECLARE_HACK_SINGLETON(Bunnyhop);
|
||||||
|
@ -35,7 +35,7 @@ void ESP::PaintTraverse(void*, unsigned int, bool, bool) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ESP::ESP() {
|
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_bEntityESP = CreateConVar("u_esp_entity", "0", "Entity ESP (dev)");
|
||||||
this->v_bTeammates = CreateConVar("u_esp_teammates", "0", "ESP own team");
|
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)");
|
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_bShowHealthPacks = CreateConVar("u_esp_item_health", "1", "Show health packs");
|
||||||
v_bShowPowerups = CreateConVar("u_esp_item_powerups", "1", "Show powerups");
|
v_bShowPowerups = CreateConVar("u_esp_item_powerups", "1", "Show powerups");
|
||||||
v_bShowHealthNumbers = CreateConVar("u_esp_health_num", "1", "Show health number");
|
v_bShowHealthNumbers = CreateConVar("u_esp_health_num", "1", "Show health number");
|
||||||
|
v_bShowMoney = CreateConVar("u_esp_money", "1", "MvM money");
|
||||||
}
|
}
|
||||||
|
|
||||||
#define ESP_HEIGHT 14
|
#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;
|
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));
|
DrawBox(ent, color, 1.0f, 0.0f, true, ent->Var<int>(eoffsets.iBuildingHealth), ent->Var<int>(eoffsets.iBuildingMaxHealth));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -175,6 +176,12 @@ void ESP::ProcessEntity(CachedEntity* ent) {
|
|||||||
}
|
}
|
||||||
break;
|
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: {
|
case ClassID::CBaseAnimating: {
|
||||||
if (!this->v_bItemESP->GetBool()) break;
|
if (!this->v_bItemESP->GetBool()) break;
|
||||||
item_type type = GetItemType(ent->m_pEntity);
|
item_type type = GetItemType(ent->m_pEntity);
|
||||||
|
@ -30,6 +30,7 @@ public:
|
|||||||
ConVar* v_bShowAmmoPacks;
|
ConVar* v_bShowAmmoPacks;
|
||||||
ConVar* v_bShowHealthPacks;
|
ConVar* v_bShowHealthPacks;
|
||||||
ConVar* v_bShowPowerups;
|
ConVar* v_bShowPowerups;
|
||||||
|
ConVar* v_bShowMoney;
|
||||||
ConVar* v_bTeammatePowerup;
|
ConVar* v_bTeammatePowerup;
|
||||||
ConVar* v_bShowHead;
|
ConVar* v_bShowHead;
|
||||||
ConVar* v_bShowEntityID;
|
ConVar* v_bShowEntityID;
|
||||||
|
@ -312,6 +312,7 @@ void Misc::PaintTraverse(void*, unsigned int, bool, bool) {
|
|||||||
GetProjectileData(g_pLocalPlayer->weapon, speed, arc, gravity);
|
GetProjectileData(g_pLocalPlayer->weapon, speed, arc, gravity);
|
||||||
AddSideString(draw::white, draw::black, "Speed: %f", speed);
|
AddSideString(draw::white, draw::black, "Speed: %f", speed);
|
||||||
AddSideString(draw::white, draw::black, "Gravity: %f", gravity);
|
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);
|
//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);
|
//draw::DrawString(10, y, draw::white, draw::black, false, "VecPunchAngleVel: %f %f %f", pav.x, pav.y, pav.z);
|
||||||
//y += 14;
|
//y += 14;
|
||||||
|
@ -15,7 +15,7 @@ DEFINE_HACK_SINGLETON(SpyAlert);
|
|||||||
const char* SpyAlert::GetName() { return "SPY ALERT"; }
|
const char* SpyAlert::GetName() { return "SPY ALERT"; }
|
||||||
|
|
||||||
SpyAlert::SpyAlert() {
|
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_flWarningDistance = CreateConVar("u_spyalert_warning", "500.0", "Spy warning distance");
|
||||||
this->v_flBackstabDistance = CreateConVar("u_spyalert_backstab", "200.0", "Spy backstab warning distance");
|
this->v_flBackstabDistance = CreateConVar("u_spyalert_backstab", "200.0", "Spy backstab warning distance");
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,21 @@
|
|||||||
#include "hooks.h"
|
#include "hooks.h"
|
||||||
#include "sdk.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) {
|
bool IsPlayerInvulnerable(IClientEntity* player) {
|
||||||
int cond1 = GetEntityValue<int>(player, eoffsets.iCond);
|
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* CreateConVar(const char* name, const char* value, const char* help) {
|
||||||
ConVar* ret = new ConVar(name, value, 0, help);
|
ConVar* ret = new ConVar(name, value, 0, help);
|
||||||
|
fprintf(hConVarsFile, "%s %s\n", name, value);
|
||||||
interfaces::cvar->RegisterConCommand(ret);
|
interfaces::cvar->RegisterConCommand(ret);
|
||||||
return 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);
|
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) {
|
bool CheckCE(CachedEntity* entity) {
|
||||||
return (entity && entity->m_pEntity && !entity->m_pEntity->IsDormant());
|
return (entity && entity->m_pEntity && !entity->m_pEntity->IsDormant());
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,10 @@ class Vector;
|
|||||||
|
|
||||||
// TODO split this shit
|
// TODO split this shit
|
||||||
|
|
||||||
|
extern FILE* hConVarsFile;
|
||||||
|
void BeginConVars();
|
||||||
|
void EndConVars();
|
||||||
|
|
||||||
bool IsPlayerCritBoosted(IClientEntity* player);
|
bool IsPlayerCritBoosted(IClientEntity* player);
|
||||||
bool IsPlayerInvulnerable(IClientEntity* player);
|
bool IsPlayerInvulnerable(IClientEntity* player);
|
||||||
bool IsPlayerInvisible(IClientEntity* player);
|
bool IsPlayerInvisible(IClientEntity* player);
|
||||||
@ -62,6 +66,7 @@ bool IsVectorVisible(Vector a, Vector b);
|
|||||||
relation GetRelation(IClientEntity* ent);
|
relation GetRelation(IClientEntity* ent);
|
||||||
bool IsSentryBuster(IClientEntity* ent);
|
bool IsSentryBuster(IClientEntity* ent);
|
||||||
char* strfmt(const char* fmt, ...);
|
char* strfmt(const char* fmt, ...);
|
||||||
|
bool IsAmbassador(IClientEntity* ent);
|
||||||
|
|
||||||
void AimAt(Vector origin, Vector target, CUserCmd* cmd);
|
void AimAt(Vector origin, Vector target, CUserCmd* cmd);
|
||||||
void AimAtHitbox(IClientEntity* ent, int hitbox, CUserCmd* cmd);
|
void AimAtHitbox(IClientEntity* ent, int hitbox, CUserCmd* cmd);
|
||||||
|
@ -26,6 +26,8 @@ public:
|
|||||||
int cond_2;
|
int cond_2;
|
||||||
int cond_3;
|
int cond_3;
|
||||||
|
|
||||||
|
bool bWasZoomed;
|
||||||
|
|
||||||
bool bIsReloading;
|
bool bIsReloading;
|
||||||
|
|
||||||
Vector v_ViewOffset;
|
Vector v_ViewOffset;
|
||||||
|
@ -12,9 +12,9 @@
|
|||||||
#include "fixsdk.h"
|
#include "fixsdk.h"
|
||||||
#include <icliententity.h>
|
#include <icliententity.h>
|
||||||
|
|
||||||
bool IsAmbassador(IClientEntity* weapon) {
|
//bool IsAmbassador(IClientEntity* weapon) {
|
||||||
return false;
|
// return false;
|
||||||
}
|
//}
|
||||||
|
|
||||||
/*int g_MeleeList[] = {
|
/*int g_MeleeList[] = {
|
||||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 37,
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 37,
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
class IClientEntity;
|
class IClientEntity;
|
||||||
|
|
||||||
bool IsAmbassador(IClientEntity* entity);
|
//bool IsAmbassador(IClientEntity* entity);
|
||||||
|
|
||||||
/*extern int g_MeleeList[];
|
/*extern int g_MeleeList[];
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user