fffffffffffffffffff

This commit is contained in:
nullifiedcat 2016-11-15 15:45:41 +03:00
parent ee88238e4f
commit 8d34f148e5
27 changed files with 495 additions and 59 deletions

View File

@ -2,7 +2,7 @@
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> <?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings"> <storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.1168214098"> <cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.1168214098">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.1168214098" moduleId="org.eclipse.cdt.core.settings" name="Debug"> <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.1168214098" moduleId="org.eclipse.cdt.core.settings" name="TF2">
<externalSettings> <externalSettings>
<externalSetting> <externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/UranHack"/> <entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/UranHack"/>
@ -23,7 +23,7 @@
</extensions> </extensions>
</storageModule> </storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0"> <storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="so" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.1168214098" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug"> <configuration artifactExtension="so" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.1168214098" name="TF2" parent="cdt.managedbuild.config.gnu.exe.debug">
<folderInfo id="cdt.managedbuild.config.gnu.exe.debug.1168214098." name="/" resourcePath=""> <folderInfo id="cdt.managedbuild.config.gnu.exe.debug.1168214098." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.965909756" name="Linux GCC" nonInternalBuilderId="cdt.managedbuild.target.gnu.builder.exe.debug" superClass="cdt.managedbuild.toolchain.gnu.exe.debug"> <toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.965909756" name="Linux GCC" nonInternalBuilderId="cdt.managedbuild.target.gnu.builder.exe.debug" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.1799148153" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/> <targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.1799148153" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/>
@ -44,6 +44,9 @@
<listOptionValue builtIn="false" value="/home/nullifiedcat/open-steamworks/osw"/> <listOptionValue builtIn="false" value="/home/nullifiedcat/open-steamworks/osw"/>
</option> </option>
<option id="gnu.cpp.compiler.option.other.verbose.1509393088" name="Verbose (-v)" superClass="gnu.cpp.compiler.option.other.verbose" useByScannerDiscovery="false" value="false" valueType="boolean"/> <option id="gnu.cpp.compiler.option.other.verbose.1509393088" name="Verbose (-v)" superClass="gnu.cpp.compiler.option.other.verbose" useByScannerDiscovery="false" value="false" valueType="boolean"/>
<option id="gnu.cpp.compiler.option.preprocessor.def.116822749" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="TF2"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.236333340" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/> <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.236333340" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
</tool> </tool>
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.1506529605" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug"> <tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.1506529605" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug">
@ -140,6 +143,96 @@
</storageModule> </storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration> </cconfiguration>
<cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.1168214098.1902522305">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.1168214098.1902522305" moduleId="org.eclipse.cdt.core.settings" name="HL2DM">
<externalSettings>
<externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/uran"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/uran/HL2DM"/>
<entry flags="RESOLVED" kind="libraryFile" name="uran" srcPrefixMapping="" srcRootPath=""/>
</externalSetting>
</externalSettings>
<extensions>
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="so" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.1168214098.1902522305" name="HL2DM" parent="cdt.managedbuild.config.gnu.exe.debug">
<folderInfo id="cdt.managedbuild.config.gnu.exe.debug.1168214098.1902522305." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.1687950157" name="Linux GCC" nonInternalBuilderId="cdt.managedbuild.target.gnu.builder.exe.debug" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.1664851496" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/>
<builder buildPath="${workspace_loc:/uran}/Debug" id="cdt.managedbuild.target.gnu.builder.exe.debug.1805097636" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/>
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1282009968" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.377459983" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug">
<option id="gnu.cpp.compiler.exe.debug.option.optimization.level.444401835" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
<option id="gnu.cpp.compiler.exe.debug.option.debugging.level.994200847" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.default" valueType="enumerated"/>
<option id="gnu.cpp.compiler.option.dialect.std.1348318692" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.cpp.compiler.dialect.c++11" valueType="enumerated"/>
<option id="gnu.cpp.compiler.option.other.other.682426426" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" useByScannerDiscovery="false" value="-c -shared -Wall -Wno-unknown-pragmas -fmessage-length=0 -m32" valueType="string"/>
<option id="gnu.cpp.compiler.option.other.pic.854897285" name="Position Independent Code (-fPIC)" superClass="gnu.cpp.compiler.option.other.pic" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="gnu.cpp.compiler.option.include.paths.1698459031" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="/home/nullifiedcat/source-sdk-2013-master/mp/src/public"/>
<listOptionValue builtIn="false" value="/home/nullifiedcat/source-sdk-2013-master/mp/src/mathlib"/>
<listOptionValue builtIn="false" value="/home/nullifiedcat/source-sdk-2013-master/mp/src/common"/>
<listOptionValue builtIn="false" value="/home/nullifiedcat/source-sdk-2013-master/mp/src/public/tier1"/>
<listOptionValue builtIn="false" value="/home/nullifiedcat/source-sdk-2013-master/mp/src/public/tier0"/>
<listOptionValue builtIn="false" value="/home/nullifiedcat/open-steamworks/osw"/>
</option>
<option id="gnu.cpp.compiler.option.other.verbose.1101234728" name="Verbose (-v)" superClass="gnu.cpp.compiler.option.other.verbose" useByScannerDiscovery="false" value="false" valueType="boolean"/>
<option id="gnu.cpp.compiler.option.preprocessor.def.1794184358" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
<listOptionValue builtIn="false" value="GAME_HL2"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1933705519" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.1250453992" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug">
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.exe.debug.option.optimization.level.1441526338" name="Optimization Level" superClass="gnu.c.compiler.exe.debug.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
<option id="gnu.c.compiler.exe.debug.option.debugging.level.1646984605" name="Debug Level" superClass="gnu.c.compiler.exe.debug.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
<option id="gnu.c.compiler.option.dialect.std.851548317" name="Language standard" superClass="gnu.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.c.compiler.dialect.default" valueType="enumerated"/>
<option id="gnu.c.compiler.option.misc.other.130979950" name="Other flags" superClass="gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-c -fmessage-length=0 -shared -m32" valueType="string"/>
<option id="gnu.c.compiler.option.misc.pic.699772682" name="Position Independent Code (-fPIC)" superClass="gnu.c.compiler.option.misc.pic" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.528018542" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.141517221" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug">
<option defaultValue="true" id="gnu.c.link.option.shared.858466780" name="Shared (-shared)" superClass="gnu.c.link.option.shared" valueType="boolean"/>
</tool>
<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.2004012769" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
<option id="gnu.cpp.link.option.libs.1784194570" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" useByScannerDiscovery="false" valueType="libs">
<listOptionValue builtIn="false" value="vstdlib"/>
<listOptionValue builtIn="false" value=":libc.so.6"/>
<listOptionValue builtIn="false" value=":libstdc++.so.6"/>
<listOptionValue builtIn="false" value="tier0"/>
</option>
<option defaultValue="true" id="gnu.cpp.link.option.shared.498201529" name="Shared (-shared)" superClass="gnu.cpp.link.option.shared" useByScannerDiscovery="false" valueType="boolean"/>
<option id="gnu.cpp.link.option.flags.451119206" name="Linker flags" superClass="gnu.cpp.link.option.flags" useByScannerDiscovery="false" value="-m32 -fno-gnu-unique -D_GLIBCXX_USE_CXX11_ABI=0" valueType="string"/>
<option id="gnu.cpp.link.option.paths.1006881276" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" useByScannerDiscovery="false" valueType="libPaths">
<listOptionValue builtIn="false" value="&quot;/home/nullifiedcat/.steam/steam/steamapps/common/Team Fortress 2/bin&quot;"/>
</option>
<option id="gnu.cpp.link.option.nodeflibs.1073691054" name="Do not use default libraries (-nodefaultlibs)" superClass="gnu.cpp.link.option.nodeflibs" useByScannerDiscovery="false" value="false" valueType="boolean"/>
<option id="gnu.cpp.link.option.nostdlibs.493909650" name="No startup or default libs (-nostdlib)" superClass="gnu.cpp.link.option.nostdlibs" useByScannerDiscovery="false" value="false" valueType="boolean"/>
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.523877278" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.debug.174257526" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.debug">
<option id="gnu.both.asm.option.include.paths.1471578127" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths"/>
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1386541135" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="copypasted|mem|sdk|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="mem" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="ilg.gnuarmeclipse.managedbuild.packs"/>
</cconfiguration>
</storageModule> </storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0"> <storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="UranHack.cdt.managedbuild.target.gnu.exe.1493648584" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/> <project id="UranHack.cdt.managedbuild.target.gnu.exe.1493648584" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/>

1
uran/.gitignore vendored
View File

@ -5,3 +5,4 @@
/Debug/sources.mk /Debug/sources.mk
/Debug/ /Debug/
/src_/ /src_/
/TF2/

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project> <project>
<configuration id="cdt.managedbuild.config.gnu.exe.debug.1168214098" name="Debug"> <configuration id="cdt.managedbuild.config.gnu.exe.debug.1168214098" name="TF2">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider"> <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
@ -22,4 +22,15 @@
</provider> </provider>
</extension> </extension>
</configuration> </configuration>
<configuration id="cdt.managedbuild.config.gnu.exe.debug.1168214098.1902522305" name="HL2DM">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-583682204379314874" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
</extension>
</configuration>
</project> </project>

View File

@ -1,6 +1,4 @@
killsay ESP: bones
ESP: Box, bones
TRIGGER: Amby charge TRIGGER: Amby charge
TRIGGER: Ignore vaccinator TRIGGER: Ignore vaccinator
@ -8,7 +6,6 @@ Priority FIX
OPTIMIZE OPTIMIZE
Buildings aimbot Buildings aimbot
priority system
proper player struct proper player struct
optimize optimize
buildings aim buildings aim
@ -19,13 +16,17 @@ priority system
Target system respect mannpower powerups Target system respect mannpower powerups
Aimbot charge detection respect powerups Aimbot charge detection respect powerups
Entity::AddEntityString huntsman aim fix
minigun aim fix
ignore SB
no flinch
Sapped buildings ESP
AimBest
optimize optimize
Glow Objects Glow Objects
remove magic numbers remove magic numbers
actual ammo box esp
no trigger/aim vacc uber no trigger/aim vacc uber
LINES (trace crshr->enemy) LINES (trace crshr->enemy)
disg spy aim
"legit" esp mode
SPY ALERT SPY ALERT

View File

@ -79,7 +79,7 @@ ESPStringCompound::ESPStringCompound() {
void draw::Initialize() { void draw::Initialize() {
draw::font_handle = interfaces::surface->CreateFont(); draw::font_handle = interfaces::surface->CreateFont();
draw::font_handle_large = interfaces::surface->CreateFont(); draw::font_handle_large = interfaces::surface->CreateFont();
interfaces::surface->SetFontGlyphSet(draw::font_handle, "Ubuntu Mono Bold", 17, 500, 0, 0, 0x200); interfaces::surface->SetFontGlyphSet(draw::font_handle, "Tahoma", 16, 400, 0, 0, 0x200); // Ubuntu Mono Bold
interfaces::surface->SetFontGlyphSet(draw::font_handle_large, "TF2 BUILD", 32, 500, 0, 0, 0x200); interfaces::surface->SetFontGlyphSet(draw::font_handle_large, "TF2 BUILD", 32, 500, 0, 0, 0x200);
} }
@ -105,7 +105,7 @@ void draw::DrawString(int x, int y, Color color, bool center, const char* text,
x -= (l / 2); x -= (l / 2);
} }
draw::GetStringLength((char*)text, l, h); draw::GetStringLength((char*)text, l, h);
draw::DrawRect(x, y + 1, l, h - 5, colors::black); draw::DrawRect(x - 1, y + 1, l + 1, h - 5, colors::black);
draw::DrawString(draw::font_handle, x, y, color, string); draw::DrawString(draw::font_handle, x, y, color, string);
} }

View File

@ -32,6 +32,15 @@ void EntityVariables::Init() {
this->iHitboxSet = gNetvars.get_offset("DT_BaseAnimating", "m_nHitboxSet"); this->iHitboxSet = gNetvars.get_offset("DT_BaseAnimating", "m_nHitboxSet");
this->vVelocity = gNetvars.get_offset("DT_BasePlayer", "localdata", "m_vecVelocity[0]"); this->vVelocity = gNetvars.get_offset("DT_BasePlayer", "localdata", "m_vecVelocity[0]");
this->bGlowEnabled = gNetvars.get_offset("DT_TFPlayer", "m_bGlowEnabled"); this->bGlowEnabled = gNetvars.get_offset("DT_TFPlayer", "m_bGlowEnabled");
this->iReloadMode = gNetvars.get_offset("DT_TFWeaponBase", "m_iReloadMode");
this->iMaxHealth = gNetvars.get_offset("DT_TFPlayerResource", "m_iMaxHealth");
this->flNextAttack = gNetvars.get_offset("DT_BaseCombatCharacter", "bcc_localdata", "m_flNextAttack");
this->iNextMeleeCrit = gNetvars.get_offset("DT_TFPlayer", "m_Shared", "m_iNextMeleeCrit");
this->flNextPrimaryAttack = gNetvars.get_offset("DT_BaseCombatWeapon", "LocalActiveWeaponData", "m_flNextPrimaryAttack");
this->iNextThinkTick = gNetvars.get_offset("DT_BaseCombatWeapon", "LocalActiveWeaponData", "m_nNextThinkTick");
this->flReloadPriorNextFire = gNetvars.get_offset("DT_TFWeaponBase", "LocalActiveTFWeaponData", "m_flReloadPriorNextFire");
this->flObservedCritChance = gNetvars.get_offset("DT_TFWeaponBase", "LocalActiveTFWeaponData", "m_flObservedCritChance");
this->nTickBase = gNetvars.get_offset("DT_BasePlayer", "localdata", "m_nTickBase");
} }
void InitEntityOffsets() { void InitEntityOffsets() {

View File

@ -53,6 +53,15 @@ public:
offset_t vVelocity; offset_t vVelocity;
offset_t bGlowEnabled; offset_t bGlowEnabled;
offset_t iGlowIndex; offset_t iGlowIndex;
offset_t iReloadMode;
offset_t iMaxHealth;
offset_t flNextAttack;
offset_t iNextMeleeCrit;
offset_t flNextPrimaryAttack;
offset_t iNextThinkTick;
offset_t flReloadPriorNextFire;
offset_t flObservedCritChance;
offset_t nTickBase;
}; };
// TODO globals // TODO globals

View File

@ -12,6 +12,7 @@
#include "enums.h" #include "enums.h"
#include "entity.h" #include "entity.h"
#include "localplayer.h" #include "localplayer.h"
#include "playerresource.h"
#include "helpers.h" #include "helpers.h"
#include "fixsdk.h" #include "fixsdk.h"
@ -62,6 +63,8 @@ void CachedEntity::Update(int idx) {
m_iTeam = Var<int>(eoffsets.iTeamNum); // TODO m_iTeam = Var<int>(eoffsets.iTeamNum); // TODO
m_bEnemy = (m_iTeam != g_pLocalPlayer->team); m_bEnemy = (m_iTeam != g_pLocalPlayer->team);
m_bIsVisible = (IsEntityVisible(m_pEntity, 0) || IsEntityVisible(m_pEntity, 4)); m_bIsVisible = (IsEntityVisible(m_pEntity, 0) || IsEntityVisible(m_pEntity, 4));
m_iHealth = Var<int>(eoffsets.iHealth);
m_iMaxHealth = g_pPlayerResource->GetMaxHealth(m_pEntity);
if (m_bIsVisible) m_lLastSeen = 0; if (m_bIsVisible) m_lLastSeen = 0;
else m_lLastSeen++; else m_lLastSeen++;
} }

View File

@ -38,6 +38,8 @@ public:
int m_iTeam; int m_iTeam;
bool m_bAlivePlayer; bool m_bAlivePlayer;
bool m_bEnemy; bool m_bEnemy;
int m_iMaxHealth;
int m_iHealth;
bool m_bIsVisible; bool m_bIsVisible;
unsigned long m_lLastSeen; unsigned long m_lLastSeen;

View File

@ -31,11 +31,13 @@
#include "hacks/HPyroBot.h" #include "hacks/HPyroBot.h"
#include "hacks/HAimbot.h" #include "hacks/HAimbot.h"
#include "hacks/AntiAim.h" #include "hacks/AntiAim.h"
#include "hacks/Quickscope.h"
#include "hacks/Misc.h" #include "hacks/Misc.h"
#include "usercmd.h" #include "usercmd.h"
#include "drawing.h" #include "drawing.h"
#include "entity.h" #include "entity.h"
#include "localplayer.h" #include "localplayer.h"
#include "playerresource.h"
#include <csignal> #include <csignal>
@ -117,6 +119,9 @@ bool hack::Hk_CreateMove(void* thisptr, float inputSample, CUserCmd* cmd) {
return true; return true;
} }
if (!cmd) return ret; if (!cmd) return ret;
g_pPlayerResource->Update();
g_pLocalPlayer->Update(); g_pLocalPlayer->Update();
g_pLocalPlayer->v_OrigViewangles = cmd->viewangles; g_pLocalPlayer->v_OrigViewangles = cmd->viewangles;
gEntityCache.Update(); gEntityCache.Update();
@ -179,6 +184,33 @@ void hack::Initialize() {
logging::Info("Creating interfaces..."); logging::Info("Creating interfaces...");
interfaces::CreateInterfaces(); interfaces::CreateInterfaces();
logging::Info("Interfaces created!"); logging::Info("Interfaces created!");
logging::Info("APPID: %i", interfaces::engineClient->GetAppID());
logging::Info("Dumping NetVars...");
CDumper dumper;
dumper.SaveDump();
logging::Info("Initializing surface...");
draw::Initialize();
logging::Info("Adding hacks...");
SetCVarInterface(interfaces::cvar);
hack::AddHack(new AntiAim());
logging::Info("Quickscoping");
hack::AddHack(new Quickscope());
hack::AddHack(new HBunnyhop());
hack::AddHack(new Misc());
hack::AddHack(new HEsp());
hack::AddHack(new HAimbot());
hack::AddHack(new HTrigger());
//hack::AddHack(new HGlow());
hack::AddHack(new HPyroBot());
ConVar_Register();
logging::Info("Initializing NetVar tree...");
gNetvars.init();
logging::Info("Initializing entity offsets...");
InitEntityOffsets();
g_pLocalPlayer = new LocalPlayer();
g_pPlayerResource = new TFPlayerResource();
logging::Info("Hooking PaintTraverse..."); logging::Info("Hooking PaintTraverse...");
hooks::hkPaintTraverse = new hooks::VMTHook(); hooks::hkPaintTraverse = new hooks::VMTHook();
hooks::hkPaintTraverse->Init(interfaces::panel, 0); hooks::hkPaintTraverse->Init(interfaces::panel, 0);
@ -190,28 +222,11 @@ void hack::Initialize() {
while(!(clientMode = **(uintptr_t***)((uintptr_t)((*(void***)interfaces::baseClient)[10]) + 1))) { while(!(clientMode = **(uintptr_t***)((uintptr_t)((*(void***)interfaces::baseClient)[10]) + 1))) {
sleep(1); sleep(1);
} }
g_pLocalPlayer = new LocalPlayer();
hooks::hkCreateMove->Init((void*)clientMode, 0); hooks::hkCreateMove->Init((void*)clientMode, 0);
hooks::hkCreateMove->HookMethod((void*)&hack::Hk_CreateMove, hooks::offCreateMove); hooks::hkCreateMove->HookMethod((void*)&hack::Hk_CreateMove, hooks::offCreateMove);
hooks::hkCreateMove->Apply(); hooks::hkCreateMove->Apply();
logging::Info("Hooked!"); logging::Info("Hooked!");
logging::Info("Initializing surface...");
draw::Initialize();
logging::Info("Adding hacks...");
SetCVarInterface(interfaces::cvar);
hack::AddHack(new AntiAim());
hack::AddHack(new HBunnyhop());
hack::AddHack(new HTrigger());
hack::AddHack(new HEsp());
hack::AddHack(new HAimbot());
//hack::AddHack(new HGlow());
hack::AddHack(new HPyroBot());
hack::AddHack(new Misc());
ConVar_Register();
logging::Info("Initializing NetVar tree...");
gNetvars.init();
logging::Info("Initializing entity offsets...");
InitEntityOffsets();
logging::Info("Init done!"); logging::Info("Init done!");
} }

View File

@ -55,9 +55,15 @@ void HAimbot::Create() {
} }
bool HAimbot::CreateMove(void*, float, CUserCmd* cmd) { bool HAimbot::CreateMove(void*, float, CUserCmd* cmd) {
if (!this->v_bEnabled->GetBool()) return true;
if (this->v_bEnabledAttacking->GetBool() && !(cmd->buttons & IN_ATTACK)) { if (this->v_bEnabledAttacking->GetBool() && !(cmd->buttons & IN_ATTACK)) {
return true; return true;
} }
if (g_pLocalPlayer->bIsReloading) {
return true;
}
if (this->v_bStrictAttack->GetBool() ) { if (this->v_bStrictAttack->GetBool() ) {
cmd->buttons = cmd->buttons &~ IN_ATTACK; cmd->buttons = cmd->buttons &~ IN_ATTACK;
} }
@ -71,7 +77,7 @@ bool HAimbot::CreateMove(void*, float, CUserCmd* cmd) {
if (g_pLocalPlayer->weapon) { if (g_pLocalPlayer->weapon) {
if (g_pLocalPlayer->weapon->GetClientClass()->m_ClassID == 210) return true; if (g_pLocalPlayer->weapon->GetClientClass()->m_ClassID == 210) return true;
} /* Grappling hook */ } /* Grappling hook */
if (!this->v_bEnabled->GetBool()) return true;
//logging::Info("Creating move.. aimbot"); //logging::Info("Creating move.. aimbot");
m_bProjectileMode = (GetProjectileData(g_pLocalPlayer->weapon, m_flProjSpeed, m_bProjArc)); m_bProjectileMode = (GetProjectileData(g_pLocalPlayer->weapon, m_flProjSpeed, m_bProjArc));
if (!this->v_bPriority->GetBool()) { if (!this->v_bPriority->GetBool()) {
@ -130,6 +136,7 @@ bool HAimbot::ShouldTarget(IClientEntity* entity) {
char life_state = GetEntityValue<char>(entity, eoffsets.iLifeState); char life_state = GetEntityValue<char>(entity, eoffsets.iLifeState);
if (life_state) return false; // TODO magic number: life state if (life_state) return false; // TODO magic number: life state
if (!player) return false; if (!player) return false;
if (v_bRespectCloak->GetBool() && (GetEntityValue<int>(entity, eoffsets.iCond) & cond::cloaked)) return false;
int health = GetEntityValue<int>(entity, eoffsets.iHealth); int health = GetEntityValue<int>(entity, eoffsets.iHealth);
if (this->v_bCharge->GetBool() && (GetEntityValue<int>(player, eoffsets.iClass) == 2)) { if (this->v_bCharge->GetBool() && (GetEntityValue<int>(player, eoffsets.iClass) == 2)) {
int rifleHandle = GetEntityValue<int>(player, eoffsets.hActiveWeapon); int rifleHandle = GetEntityValue<int>(player, eoffsets.hActiveWeapon);
@ -147,6 +154,7 @@ bool HAimbot::ShouldTarget(IClientEntity* entity) {
} }
int econd = GetEntityValue<int>(entity, eoffsets.iCond1); int econd = GetEntityValue<int>(entity, eoffsets.iCond1);
if ((econd & cond_ex::vacc_bullet)) return false; if ((econd & cond_ex::vacc_bullet)) return false;
if (GetRelation(entity) == relation::FRIEND) return false;
if (!m_bProjectileMode) { if (!m_bProjectileMode) {
Vector hbv; Vector hbv;
if (GetHitboxPosition(entity, v_iHitbox->GetInt(), hbv)) return false; if (GetHitboxPosition(entity, v_iHitbox->GetInt(), hbv)) return false;

View File

@ -128,7 +128,7 @@ void HEsp::ProcessEntityPT(CachedEntity* ent) {
color = colors::yellow; color = colors::yellow;
break; break;
} }
DrawBox(ent, color, 3.0f, -15.0f, true, ent->Var<int>(eoffsets.iHealth), ClassMaxHealth(ent->Var<int>(eoffsets.iClass))); DrawBox(ent, color, 3.0f, -15.0f, true, ent->Var<int>(eoffsets.iHealth), ent->m_iMaxHealth);
break; break;
} }
case ClassID::CObjectSentrygun: case ClassID::CObjectSentrygun:
@ -238,7 +238,7 @@ void HEsp::ProcessEntity(CachedEntity* ent) {
} }
if (pclass > 0 && pclass < 10) if (pclass > 0 && pclass < 10)
ent->AddESPString(color, "%s", classes[pclass - 1]); ent->AddESPString(color, "%s", classes[pclass - 1]);
//ent->AddESPString(color, "%i", health); ent->AddESPString(color, "%i / %i HP", ent->m_iHealth, ent->m_iMaxHealth);
if (pcond & cond::cloaked) { if (pcond & cond::cloaked) {
ent->AddESPString(color, "CLOAKED"); ent->AddESPString(color, "CLOAKED");
} }
@ -262,7 +262,7 @@ void HEsp::ProcessEntity(CachedEntity* ent) {
const char* name = (ent->m_iClassID == 89 ? "Teleporter" : (ent->m_iClassID == 88 ? "Sentry Gun" : "Dispenser")); const char* name = (ent->m_iClassID == 89 ? "Teleporter" : (ent->m_iClassID == 88 ? "Sentry Gun" : "Dispenser"));
color = TEAM_COLORS[ent->Var<int>(eoffsets.iTeamNum)]; color = TEAM_COLORS[ent->Var<int>(eoffsets.iTeamNum)];
ent->AddESPString(color, "LV %i %s", level, name); ent->AddESPString(color, "LV %i %s", level, name);
//ent->AddESPString(color, "%i HP", health); ent->AddESPString(color, "%i / %i HP", ent->Var<int>(eoffsets.iBuildingHealth), ent->Var<int>(eoffsets.iBuildingMaxHealth));
if (this->v_bShowDistance) { if (this->v_bShowDistance) {
ent->AddESPString(color, "%im", (int)(ent->m_flDistance / 64 * 1.22f)); ent->AddESPString(color, "%im", (int)(ent->m_flDistance / 64 * 1.22f));
} }

View File

@ -98,6 +98,7 @@ bool HTrigger::CreateMove(void* thisptr, float sampl, CUserCmd* cmd) {
cmd->buttons |= IN_ATTACK; cmd->buttons |= IN_ATTACK;
return true; return true;
} }
if (GetRelation(entity) == relation::FRIEND) return true;
if (IsPlayerInvulnerable(entity)) return true; if (IsPlayerInvulnerable(entity)) return true;
if (!this->v_bIgnoreCloak->GetBool() && if (!this->v_bIgnoreCloak->GetBool() &&
((GetEntityValue<int>(entity, eoffsets.iCond)) & cond::cloaked)) return true; ((GetEntityValue<int>(entity, eoffsets.iCond)) & cond::cloaked)) return true;

View File

@ -9,6 +9,7 @@
#define IHACK_H_ #define IHACK_H_
class CUserCmd; class CUserCmd;
class ConVar;
#define DECL_HACK \ #define DECL_HACK \
void Create(); \ void Create(); \

View File

@ -11,7 +11,11 @@
#include "../helpers.h" #include "../helpers.h"
#include "../drawing.h" #include "../drawing.h"
#include "../localplayer.h" #include "../localplayer.h"
#include "../logging.h"
#include "../interfaces.h" #include "../interfaces.h"
#include "../entity.h"
#include "../usercmd.h"
#include "../sdk/in_buttons.h"
#include "../fixsdk.h" #include "../fixsdk.h"
#include <icliententity.h> #include <icliententity.h>
@ -32,14 +36,43 @@ void CC_Shutdown(const CCommand& args) {
hack::Shutdown(); hack::Shutdown();
} }
void Misc::Create() { void CC_AddFriend(const CCommand& args) {
v_bDbWeaponInfo = CreateConVar("u_misc_debug_weapon", "0", "Debug info: Weapon"); if (args.ArgC() < 1) return;
c_SayLine = CreateConCommand("u_say_lines", CC_SayLines, "Uses ^ as a newline character"); if (!atoi(args[1])) return;
c_Shutdown = CreateConCommand("u_shutdown", CC_Shutdown, "Stops the hack"); logging::Info("Adding friend %s", args.Arg(1));
friends[n_friends++] = atoi(args[1]);
} }
void CC_AddRage(const CCommand& args) {
if (args.ArgC() < 1) return;
if (!atoi(args[1])) return;
logging::Info("Adding rage %s", args.Arg(1));
rage[n_rage++] = atoi(args[1]);
}
void Misc::Create() {
v_bDbWeaponInfo = CreateConVar("u_misc_debug_weapon", "0", "Debug info: Weapon");
v_bSemiAuto = CreateConVar("u_misc_semiauto", "0", "Force semi-auto");
c_SayLine = CreateConCommand("u_say_lines", CC_SayLines, "Uses ^ as a newline character");
c_Shutdown = CreateConCommand("u_shutdown", CC_Shutdown, "Stops the hack");
c_AddFriend = CreateConCommand("u_addfriend", CC_AddFriend, "Adds a friend");
c_AddRage = CreateConCommand("u_addrage", CC_AddRage, "Adds player to rage list");
}
int sa_switch = 0;
bool Misc::CreateMove(void*, float, CUserCmd* cmd) { bool Misc::CreateMove(void*, float, CUserCmd* cmd) {
if (v_bSemiAuto->GetBool()) {
if (cmd->buttons & IN_ATTACK) {
if (sa_switch > 5) {
cmd->buttons = cmd->buttons &~ IN_ATTACK;
}
sa_switch++;
} else {
sa_switch = 0;
}
}
return true; return true;
} }
@ -54,6 +87,10 @@ void Misc::PaintTraverse(void*, unsigned int, bool, bool) {
IClientEntity* weapon = g_pLocalPlayer->weapon; IClientEntity* weapon = g_pLocalPlayer->weapon;
draw::DrawString(10, y, draw::white, false, "Weapon: %s [%i]", weapon->GetClientClass()->GetName(), weapon->GetClientClass()->m_ClassID); draw::DrawString(10, y, draw::white, false, "Weapon: %s [%i]", weapon->GetClientClass()->GetName(), weapon->GetClientClass()->m_ClassID);
y += 14; y += 14;
draw::DrawString(10, y, draw::white, false, "flNextAttack: %f", GetEntityValue<float>(g_pLocalPlayer->entity, eoffsets.flNextAttack));
y += 14;
draw::DrawString(10, y, draw::white, false, "nTickBase: %i", GetEntityValue<int>(g_pLocalPlayer->entity, eoffsets.nTickBase));
y += 14;
} }
} }
} }

View File

@ -20,8 +20,11 @@ public:
void Destroy(); void Destroy();
void PaintTraverse(void*, unsigned int, bool, bool); void PaintTraverse(void*, unsigned int, bool, bool);
ConVar* v_bDbWeaponInfo; ConVar* v_bDbWeaponInfo;
ConVar* v_bSemiAuto;
ConCommand* c_SayLine; ConCommand* c_SayLine;
ConCommand* c_Shutdown; ConCommand* c_Shutdown;
ConCommand* c_AddFriend;
ConCommand* c_AddRage;
}; };
#endif /* HACKS_MISC_H_ */ #endif /* HACKS_MISC_H_ */

View File

@ -0,0 +1,43 @@
/*
* Quickscope.cpp
*
* Created on: Nov 12, 2016
* Author: nullifiedcat
*/
#include "Quickscope.h"
#include "../localplayer.h"
#include "../helpers.h"
#include "../entity.h"
#include "../usercmd.h"
#include "../sdk/in_buttons.h"
#include "../fixsdk.h"
#include <icliententity.h>
#include <client_class.h>
void Quickscope::Create() {
v_bEnabled = CreateConVar("u_quickscope", "1", "Quickscope mode");
}
bool Quickscope::CreateMove(void*, float, CUserCmd* cmd) {
if (!v_bEnabled->GetBool()) return true;
if (g_pLocalPlayer->clazz == tf_class::tf_sniper) {
if (!g_pLocalPlayer->weapon) return false;
switch (g_pLocalPlayer->weapon->GetClientClass()->m_ClassID) {
case ClassID::CTFSniperRifle:
break;
default:
return true;
}
float bdmg = GetEntityValue<float>(g_pLocalPlayer->weapon, eoffsets.flChargedDamage);
if (bdmg <= 15.0f && (g_pLocalPlayer->cond_0 & cond::zoomed)) {
cmd->buttons = cmd->buttons &~ IN_ATTACK;
}
}
return true;
}
void Quickscope::Destroy() {}
void Quickscope::PaintTraverse(void*, unsigned int, bool, bool) { }

View File

@ -0,0 +1,19 @@
/*
* Quickscope.h
*
* Created on: Nov 12, 2016
* Author: nullifiedcat
*/
#ifndef HACKS_QUICKSCOPE_H_
#define HACKS_QUICKSCOPE_H_
#include "IHack.h"
class Quickscope : public IHack {
public:
DECL_HACK
ConVar* v_bEnabled;
};
#endif /* HACKS_QUICKSCOPE_H_ */

View File

@ -30,9 +30,13 @@
bool IsPlayerInvulnerable(IClientEntity* player) { bool IsPlayerInvulnerable(IClientEntity* player) {
int cond1 = GetEntityValue<int>(player, eoffsets.iCond); int cond1 = GetEntityValue<int>(player, eoffsets.iCond);
int cond2 = GetEntityValue<int>(player, eoffsets.iCond1); int cond2 = GetEntityValue<int>(player, eoffsets.iCond1);
int uber_mask_1 = (cond::uber | cond::uber_expiration | cond::bonk); int uber_mask_1 = (cond::uber | cond::bonk);
int uber_mask_2 = (cond_ex::hidden_uber | cond_ex::canteen_uber | cond_ex::misc_uber | cond_ex::phlog_uber); int uber_mask_2 = (cond_ex::hidden_uber | cond_ex::canteen_uber | cond_ex::misc_uber | cond_ex::phlog_uber);
if ((cond1 & uber_mask_1) || (cond2 & uber_mask_2)) return true; if ((cond1 & uber_mask_1) || (cond2 & uber_mask_2)) {
//logging::Info("COND1: %i MASK1: %i", cond1, uber_mask_1);
//logging::Info("COND2: %i MASK2: %i", cond2, uber_mask_2);
return true;
}
return false; return false;
} }
@ -148,6 +152,7 @@ pack_type GetHealthPackType(IClientEntity* ent) {
pack_type GetAmmoPackType(IClientEntity* ent) { pack_type GetAmmoPackType(IClientEntity* ent) {
if (!ent) return pack_type::not_pack; if (!ent) return pack_type::not_pack;
const char* name = GetModelPath(ent); const char* name = GetModelPath(ent);
if (strlen(name) < 30) return pack_type::not_pack; if (strlen(name) < 30) return pack_type::not_pack;
return pack_type::not_pack; return pack_type::not_pack;
} }
@ -159,7 +164,6 @@ powerup_type GetPowerupType(IClientEntity* ent) {
const char* name = GetModelPath(ent); const char* name = GetModelPath(ent);
if (strlen(name) < 35) return powerup_type::not_powerup; if (strlen(name) < 35) return powerup_type::not_powerup;
if (name[27] != 'u' || name[22] != 'p') return powerup_type::not_powerup; if (name[27] != 'u' || name[22] != 'p') return powerup_type::not_powerup;
if (name[30] == 's' && name[31] == 't') return powerup_type::strength; if (name[30] == 's' && name[31] == 't') return powerup_type::strength;
if (name[30] == 'd' && name[32] == 'f') return powerup_type::resistance; if (name[30] == 'd' && name[32] == 'f') return powerup_type::resistance;
if (name[30] == 'v') return powerup_type::vampire; if (name[30] == 'v') return powerup_type::vampire;
@ -204,7 +208,8 @@ void VectorTransform (const float *in1, const matrix3x4_t& in2, float *out)
out[2] = (in1[0] * in2[2][0] + in1[1] * in2[2][1] + in1[2] * in2[2][2]) + in2[2][3]; out[2] = (in1[0] * in2[2][0] + in1[1] * in2[2][1] + in1[2] * in2[2][2]) + in2[2][3];
} }
int ClassMaxHealth(int clazz) { // TODO deprecated
/*int ClassMaxHealth(int clazz) {
switch(clazz) { switch(clazz) {
case tf_scout: case tf_scout:
case tf_spy: case tf_spy:
@ -222,7 +227,7 @@ int ClassMaxHealth(int clazz) {
return 175; return 175;
} }
return 0; return 0;
} }*/
int GetHitboxPosition(IClientEntity* entity, int hb, Vector& out) { int GetHitboxPosition(IClientEntity* entity, int hb, Vector& out) {
if (!entity) return 1; if (!entity) return 1;
@ -458,10 +463,10 @@ relation GetRelation(IClientEntity* ent) {
if (ent->IsDormant()) return relation::NEUTRAL; if (ent->IsDormant()) return relation::NEUTRAL;
player_info_t info; player_info_t info;
if (!interfaces::engineClient->GetPlayerInfo(ent->entindex(), &info)) return relation::NEUTRAL; if (!interfaces::engineClient->GetPlayerInfo(ent->entindex(), &info)) return relation::NEUTRAL;
for (int i = 0; i < 1; i++) { for (int i = 0; i < n_friends; i++) {
if (friends[i] == info.friendsID) return relation::FRIEND; if (friends[i] == info.friendsID) return relation::FRIEND;
} }
for (int i = 0; i < 1; i++) { for (int i = 0; i < n_rage; i++) {
if (rage[i] == info.friendsID) return relation::RAGE; if (rage[i] == info.friendsID) return relation::RAGE;
} }
return relation::NEUTRAL; return relation::NEUTRAL;
@ -508,6 +513,12 @@ float GetFov(Vector angle, Vector src, Vector dst)
return RAD2DEG(acos(u_dot_v / (pow(mag, 2)))); return RAD2DEG(acos(u_dot_v / (pow(mag, 2))));
} }
bool CanShoot(IClientEntity* weapon) {
if (!weapon) return false;
return false;
}
const char* powerups[] = { const char* powerups[] = {
"STRENGTH", "STRENGTH",
"RESISTANCE", "RESISTANCE",
@ -524,13 +535,12 @@ const char* powerups[] = {
"CRITS" "CRITS"
}; };
uint32 friends[] = { uint32 friends[256];
39133950
};
uint32 rage[] = { uint32 rage[256];
36315583
}; int n_friends = 0;
int n_rage = 0;
const char* packs[] = { const char* packs[] = {
"+", "+",

View File

@ -13,6 +13,7 @@ class IClientEntity;
class ConVar; class ConVar;
class ConCommand; class ConCommand;
class CUserCmd; class CUserCmd;
class CCommand;
class Vector; class Vector;
#define PI 3.14159265358979323846f #define PI 3.14159265358979323846f
@ -24,6 +25,8 @@ class Vector;
#include "fixsdk.h" #include "fixsdk.h"
#include <tier1/convar.h> #include <tier1/convar.h>
//typedef void ( *FnCommandCallback_t )( const CCommand &command );
bool IsPlayerCritBoosted(IClientEntity* player); bool IsPlayerCritBoosted(IClientEntity* player);
bool IsPlayerInvulnerable(IClientEntity* player); bool IsPlayerInvulnerable(IClientEntity* player);
bool IsPlayerInvisible(IClientEntity* player); bool IsPlayerInvisible(IClientEntity* player);
@ -48,8 +51,11 @@ bool GetProjectileData(IClientEntity* weapon, float& speed, bool& arc);
bool IsVectorVisible(Vector a, Vector b); bool IsVectorVisible(Vector a, Vector b);
bool PredictProjectileAim(Vector origin, IClientEntity* target, hitbox hb, float speed, bool arc, Vector& result); bool PredictProjectileAim(Vector origin, IClientEntity* target, hitbox hb, float speed, bool arc, Vector& result);
relation GetRelation(IClientEntity* ent); relation GetRelation(IClientEntity* ent);
int ClassMaxHealth(int clazz); // TODO deprecated
//int ClassMaxHealth(int clazz);
bool CheckCE(CachedEntity* entity); bool CheckCE(CachedEntity* entity);
bool CanShoot(IClientEntity* entity);
// F1 c&p // F1 c&p
Vector CalcAngle(Vector src, Vector dst); Vector CalcAngle(Vector src, Vector dst);
void MakeVector(Vector ang, Vector& out); void MakeVector(Vector ang, Vector& out);
@ -57,7 +63,9 @@ float GetFov(Vector ang, Vector src, Vector dst);
extern const char* powerups[POWERUP_COUNT]; extern const char* powerups[POWERUP_COUNT];
extern const char* packs[PACK_COUNT]; extern const char* packs[PACK_COUNT];
extern uint32 friends[1]; extern uint32 friends[256];
extern uint32 rage[1]; extern int n_friends;
extern int n_rage;
extern uint32 rage[256];
#endif /* HELPERS_H_ */ #endif /* HELPERS_H_ */

View File

@ -25,10 +25,17 @@ void LocalPlayer::Update() {
v_Eye = v_Origin + v_ViewOffset; v_Eye = v_Origin + v_ViewOffset;
cond_0 = GetEntityValue<int>(entity, eoffsets.iCond); cond_0 = GetEntityValue<int>(entity, eoffsets.iCond);
clazz = GetEntityValue<int>(entity, eoffsets.iClass); clazz = GetEntityValue<int>(entity, eoffsets.iClass);
int hWeapon = GetEntityValue<int>(entity, eoffsets.hActiveWeapon); int hWeapon = GetEntityValue<int>(entity, eoffsets.hActiveWeapon);
if (hWeapon) if (hWeapon) {
weapon = interfaces::entityList->GetClientEntity(hWeapon & 0xFFF); weapon = interfaces::entityList->GetClientEntity(hWeapon & 0xFFF);
else weapon = 0; bIsReloading = (GetEntityValue<int>(weapon, eoffsets.iReloadMode) == 1);
} else {
weapon = 0;
bIsReloading = false;
}
} }
LocalPlayer* g_pLocalPlayer = 0; LocalPlayer* g_pLocalPlayer = 0;

View File

@ -25,6 +25,9 @@ public:
int cond_1; int cond_1;
int cond_2; int cond_2;
int cond_3; int cond_3;
bool bIsReloading;
Vector v_ViewOffset; Vector v_ViewOffset;
Vector v_Origin; Vector v_Origin;
Vector v_Eye; Vector v_Eye;

View File

@ -0,0 +1,36 @@
/*
* playerresource.cpp
*
* Created on: Nov 13, 2016
* Author: nullifiedcat
*/
#include "playerresource.h"
#include "interfaces.h"
#include "enums.h"
#include "entity.h"
#include "fixsdk.h"
#include <icliententity.h>
#include <icliententitylist.h>
#include <client_class.h>
void TFPlayerResource::Update() {
m_pEntity = 0;
for (int i = 0; i < interfaces::entityList->GetHighestEntityIndex(); i++) {
IClientEntity* ent = interfaces::entityList->GetClientEntity(i);
if (ent && ent->GetClientClass()->m_ClassID == ClassID::CTFPlayerResource) {
m_pEntity = ent;
}
}
}
int TFPlayerResource::GetMaxHealth(IClientEntity* player) {
if (!player) return 0;
if (!m_pEntity) return 0;
int idx = player->entindex();
if (idx >= 64 || idx < 0) return 0;
return *(int*)((unsigned int)m_pEntity + eoffsets.iMaxHealth + 4 * idx);
}
TFPlayerResource* g_pPlayerResource = 0;

23
uran/src/playerresource.h Normal file
View File

@ -0,0 +1,23 @@
/*
* playerresource.h
*
* Created on: Nov 13, 2016
* Author: nullifiedcat
*/
#ifndef PLAYERRESOURCE_H_
#define PLAYERRESOURCE_H_
class IClientEntity;
class TFPlayerResource {
public:
void Update();
int GetMaxHealth(IClientEntity* player);
IClientEntity* m_pEntity;
};
extern TFPlayerResource* g_pPlayerResource;
#endif /* PLAYERRESOURCE_H_ */

51
uran/src/relations.cpp Normal file
View File

@ -0,0 +1,51 @@
/*
* relations.cpp
*
* Created on: Nov 13, 2016
* Author: nullifiedcat
*/
#include "relations.h"
#include "logging.h"
void CRelations::Add(uint32 id, relation rel) {
logging::Info("Adding");
}
void CRelations::Remove(uint32 id) {
for (int i = 0; i < m_nFriends; i++) {
if (m_Friends[i] == id) {
m_nFriends--;
ShiftArray(m_Friends, i, m_nFriends);
}
}
for (int i = 0; i < m_nFriendlies; i++) {
if (m_Friendlies[i] == id) {
m_nFriendlies--;
ShiftArray(m_Friendlies, i, m_nFriendlies);
}
}
for (int i = 0; i < m_nRage; i++) {
if (m_Rage[i] == id) {
m_nRage--;
ShiftArray(m_Rage, i, m_nRage);
}
}
}
void CRelations::WriteConfig() {
FILE* cfg = fopen("", "w");
fclose(cfg);
}
void CRelations::ShiftArray(uint32* array, int idx, int max) {
for (int i = idx; i < max; i++) {
array[idx] = array[idx + 1];
}
}
char* RelStr[] = { "NONE", "FRIEND", "FRIENDLY", "RAGE" };
CRelations* g_pRelations = 0;

41
uran/src/relations.h Normal file
View File

@ -0,0 +1,41 @@
/*
* relations.h
*
* Created on: Nov 13, 2016
* Author: nullifiedcat
*/
#ifndef RELATIONS_H_
#define RELATIONS_H_
typedef unsigned long uint32;
enum relation {
NONE = 0,
FRIEND, // PURPLE color
FRIENDLY, // Ignored by aimbot, GREEN color
RAGE // Max target priority, YELLOW color
};
#define MAX_FRIENDS 256
class CRelations {
public:
void Add(uint32 id, relation rel);
void Remove(uint32 id);
void WriteConfig();
void ShiftArray(uint32* array, int idx, int max);
uint32 m_Friends[MAX_FRIENDS];
uint32 m_Friendlies[MAX_FRIENDS];
uint32 m_Rage[MAX_FRIENDS];
int m_nFriends;
int m_nFriendlies;
int m_nRage;
};
extern char* RelStr[4];
extern CRelations* g_pRelations;
#endif /* RELATIONS_H_ */

View File

@ -74,5 +74,6 @@ int GetScoreForEntity(IClientEntity* entity) {
} }
} }
if (total > 99) total = 99; if (total > 99) total = 99;
if (GetRelation(entity) == relation::RAGE) total = 999;
return total; return total;
} }