Updated and Cleaned some Code

Removed and cleaned some code, added Comments to a lot of things.
pull/30/head
NerfBatInc 3 years ago
parent b8c8a5637a
commit d0e36afb31

@ -1,31 +1,31 @@
#define VERSION STEAM
//v3.0.10.29
//GameVersion=v3.0.11.32
//GameVersion v3.0.12.19
#if VERSION == STEAM
#define OFFSET_ENTITYLIST 0x1a75038 //cl_entitylist
#define OFFSET_LOCAL_ENT 0x1e25418 //LocalPlayer
#define OFFSET_NAME_LIST 0xba1e650 //NameList
#define OFFSET_THIRDPERSON 0x01a5a440 + 0x6c //thirdperson_override + 0x6c
#define OFFSET_TIMESCALE 0x0141b2b0 //host_timescale
#define OFFSET_TEAM 0x448 //m_iTeamNum
#define OFFSET_HEALTH 0x438 //m_iHealth
#define OFFSET_SHIELD 0x170 //m_shieldHealth
#define OFFSET_MAXSHIELD 0x174 //m_shieldHealthMax
#define OFFSET_ARMORTYPE 0x4574 //armortype
#define OFFSET_NAME 0x589 //m_iName
#define OFFSET_SIGN_NAME 0x580 //m_iSignifierName
#define OFFSET_ABS_VELOCITY 0x140 //m_vecAbsVelocity
#define OFFSET_VISIBLE_TIME 0x1a44 //CPlayer!lastVisibleTime
#define OFFSET_ZOOMING 0x1bc1 //m_bZooming
#define OFFSET_THIRDPERSON_SV 0x3608 //m_thirdPersonShoulderView
#define OFFSET_YAW 0x2200 - 0x8 //m_currentFramePlayer.m_ammoPoolCount - 0x8
#define OFFSET_LIFE_STATE 0x798 //m_lifeState, >0 = dead
#define OFFSET_BLEED_OUT_STATE 0x2688 //m_bleedoutState, >0 = knocked
#define OFFSET_ENTITYLIST 0x1a98778 //cl_entitylist
#define OFFSET_LOCAL_ENT 0x1e49288 //LocalPlayer
#define OFFSET_NAME_LIST 0xbac9510 //NameList
#define OFFSET_THIRDPERSON 0x01a7da50 + 0x6c //thirdperson_override + 0x6c
#define OFFSET_TIMESCALE 0x0143e580 //host_timescale
#define OFFSET_TEAM 0x044c //m_iTeamNum
#define OFFSET_HEALTH 0x043c //m_iHealth
#define OFFSET_SHIELD 0x0170 //m_shieldHealth
#define OFFSET_MAXSHIELD 0x0174 //m_shieldHealthMax
#define OFFSET_ARMORTYPE 0x45bc //armortype
#define OFFSET_NAME 0x0589 //m_iName
#define OFFSET_SIGN_NAME 0x0580 //m_iSignifierName
#define OFFSET_ABS_VELOCITY 0x0140 //m_vecAbsVelocity
#define OFFSET_VISIBLE_TIME 0x1a48 //CPlayer!lastVisibleTime
#define OFFSET_ZOOMING 0x1c01 //m_bZooming
#define OFFSET_THIRDPERSON_SV 0x3650 //m_thirdPersonShoulderView
#define OFFSET_YAW 0x2244 - 0x8 //m_currentFramePlayer.m_ammoPoolCount - 0x8
#define OFFSET_LIFE_STATE 0x0798 //m_lifeState, >0 = dead
#define OFFSET_BLEED_OUT_STATE 0x26d0 //m_bleedoutState, >0 = knocked
#define OFFSET_ORIGIN 0x014c //m_vecAbsOrigin - 3rd offset after the first int and vector
@ -34,23 +34,23 @@
#define OFFSET_STUDIOHDR 0x10d8 //CBaseAnimating!m_pStudioHdr
#define OFFSET_AIMPUNCH 0x23f8 //m_currentFrameLocalPlayer.m_vecPunchWeapon_Angle
#define OFFSET_CAMERAPOS 0x1ea0 //CPlayer!camera_origin
#define OFFSET_VIEWANGLES 0x24f4 - 0x14 //m_ammoPoolCapacity - 0x14
#define OFFSET_AIMPUNCH 0x2440 //m_currentFrameLocalPlayer.m_vecPunchWeapon_Angle
#define OFFSET_CAMERAPOS 0x1ee0 //CPlayer!camera_origin
#define OFFSET_VIEWANGLES 0x253c - 0x14 //m_ammoPoolCapacity - 0x14
#define OFFSET_BREATH_ANGLES OFFSET_VIEWANGLES - 0x10
#define OFFSET_OBSERVER_MODE 0x341c //m_iObserverMode
#define OFFSET_OBSERVING_TARGET 0x3428 //m_hObserverTarget
#define OFFSET_OBSERVER_MODE 0x3464 //m_iObserverMode
#define OFFSET_OBSERVING_TARGET 0x3470 //m_hObserverTarget
#define OFFSET_MATRIX 0x11a210 //ViewMatrix
#define OFFSET_RENDER 0x7599758 //ViewRender
#define OFFSET_RENDER 0x75c6190 //ViewRender
#define OFFSET_WEAPON 0x19ec //m_latestPrimaryWeapons
#define OFFSET_BULLET_SPEED 0x1eb8 //CWeaponX!m_flProjectileSpeed
#define OFFSET_BULLET_SCALE 0x1ec0 //CWeaponX!m_flProjectileScale
#define OFFSET_BULLET_SPEED 0x1ed0 //CWeaponX!m_flProjectileSpeed
#define OFFSET_BULLET_SCALE 0x1ed8 //CWeaponX!m_flProjectileScale
#define OFFSET_ZOOM_FOV 0x1698 + 0xb8 //m_playerData + m_curZoomFOV
#define OFFSET_AMMO 0x1624 //m_ammoInClip first offset
#define OFFSET_ITEM_GLOW 0x2c0 //m_highlightFunctionBits
#define OFFSET_ITEM_GLOW 0x02c0 //m_highlightFunctionBits
#define OFFSET_GLOW_T1 0x262 //16256 = enabled, 0 = disabled
#define OFFSET_GLOW_T2 0x2dc //1193322764 = enabled, 0 = disabled

@ -26,17 +26,14 @@ typedef struct player
uint32_t check = 0xABCD;
//chargerifle toggle to ~
int chargeriflekp = 0;
//Aiming keys: left and right mouse button
int aim_key = VK_RBUTTON;
int aim_key2 = VK_LBUTTON;
int shoot_key = VK_LBUTTON;
int shoot_key2 = VK_RBUTTON;
int aim_key = VK_LBUTTON; //Left Click
int aim_key2 = VK_RBUTTON; //Right Click
int shoot_key = VK_LBUTTON; //Left Click
int shoot_key2 = VK_RBUTTON; //Right Click
bool firing_range = false;
bool use_nvidia = true;
bool use_nvidia = true; //Nvidia Shadowplay Overlay
bool active = true;
bool ready = false;
extern visuals v;
@ -47,63 +44,34 @@ bool player_glow = true;
bool aim_no_recoil = true;
bool aiming = false; //read
uint64_t g_Base = 0; //write
float max_dist = 3800.0f * 40.0f; //read
float smooth = 100.0f;
float max_fov = 15.0f;
int bone = 2;
float max_dist = 3800.0f * 40.0f; //read //Max Distance of ESP 3800 is full map
float smooth = 110.0f; //Min 100 for safe aimbotting
float max_fov = 15.0f; //15 is the sweetspot for 1080p
int bone = 2; //0 Head, 1 Neck, 2 Body, 3 Stomace, 4 Nuts
//Player Glow Color and Brightness
float glowr = 0.0f;
float glowg = 120.0f;
float glowb = 120.0f;
float glowr = 120.0f; //Red Value
float glowg = 0.0f; //Green Value
float glowb = 0.0f; //Blue Value
float glowcolor[3] = { 000.0f, 000.0f, 000.0f };
int glowtype = 1;
int glowtype2 = 2;
//Radar Color
bool minimapradar = false;
extern unsigned int radarcolorr;
extern unsigned int radarcolorg;
extern unsigned int radarcolorb;
extern unsigned int radarcolorr; //Red Value
extern unsigned int radarcolorg; //Green Value
extern unsigned int radarcolorb; //Blue Value
float radarcolor[3];
//Bigger Radar, Hotket T
bool biggerradartoggle = 0;
bool bigradar = false;
float circradarsize100 = 59.0f;
float circradarsize200 = 118.0f;
float circradarsize300 = 177.0f;
float circradarsize400 = 236.0f;
float circradarsize500 = 295.0f;
//Broken
/*
//Full Map Radar
bool mainradartoggle = 0;
bool mainradarmap = false;
bool stormmap = true;
bool worldsedge = true;
*/
bool mainradartoggle = 0; //Toggle for Main Map radar
bool mainradarmap = false; //if the Main Map Radar is enabled
bool stormpoint = false; //Set for map, ONLY ONE THO
bool worldsedge = false; //Set for map, ONLY ONE THO
bool kingscanyon = false; //Set for map, ONLY ONE THO
bool thirdperson = false;
int spectators = 0; //write
int allied_spectators = 0; //write
//chargerifle hack
bool chargerifle = false;
bool shooting = false; //read
bool valid = true; //write
bool next2 = true; //read write
//Fov Circle stuff, Its not working, have not finished it yet.
float fovsize = max_fov * 8.4;
float fovsize2 = max_fov * 10.7;
int zoomf1 = 0;
int zoomf2 = 0;
bool fovcircle = true;
float fovcolorset[4] = { 000.0f, 000.0f, 000.0f, 000.0f };
float fovcolor1 = 50.0f;
float fovcolor2 = 50.0f;
float fovcolor3 = 50.0f;
float fovthick = 0.0f;
uint64_t add[27];
bool k_f5 = 0;
@ -164,7 +132,7 @@ static D3DXVECTOR3 RotatePoint(D3DXVECTOR3 EntityPos, D3DXVECTOR3 LocalPlayerPos
return D3DXVECTOR3(x_1, y_1, 0);
}
//Main Map Radar Color
typedef struct
{
@ -211,25 +179,6 @@ void DrawRadarPoint(D3DXVECTOR3 EneamyPos, D3DXVECTOR3 LocalPos, float LocalPlay
FilledRectangle(single.x, single.y, 5, 5, { radarcolorr, radarcolorg, radarcolorb, 255 });
}
}
//Bigger Radar Stuff, Hotket T
void DrawRadarPoint2(D3DXVECTOR3 EneamyPos, D3DXVECTOR3 LocalPos, float LocalPlayerY, float eneamyDist, int xAxis, int yAxis, int width, int height, D3DXCOLOR color)
{
bool out = false;
D3DXVECTOR3 siz;
siz.x = width;
siz.y = height;
D3DXVECTOR3 pos;
pos.x = xAxis;
pos.y = yAxis;
bool ck = false;
D3DXVECTOR3 single = RotatePoint(EneamyPos, LocalPos, pos.x, pos.y, siz.x, siz.y, LocalPlayerY, 0.3f, &ck);
if (eneamyDist >= 0.f && eneamyDist < RadarSettings::distance_Radar2)
{
FilledRectangle(single.x, single.y, 5, 5, { radarcolorr, radarcolorg, radarcolorb, 255 });
}
}
//MiniMap Radar Stuff
void MiniMapRadar(D3DXVECTOR3 EneamyPos, D3DXVECTOR3 LocalPos, float LocalPlayerY, float eneamyDist)
{
@ -242,7 +191,7 @@ void MiniMapRadar(D3DXVECTOR3 EneamyPos, D3DXVECTOR3 LocalPos, float LocalPlayer
//slash out | ImGuiWindowFlags_::ImGuiWindowFlags_NoMove to move the minimap
TargetFlags = ImGuiWindowFlags_::ImGuiWindowFlags_NoResize | ImGuiWindowFlags_::ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_::ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_::ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_::ImGuiWindowFlags_NoMove;
if (!firstS)
if (!firstS) //dunno
{
ImGui::SetNextWindowPos(ImVec2{ 1200, 60 }, ImGuiCond_Once);
firstS = true;
@ -268,50 +217,6 @@ void MiniMapRadar(D3DXVECTOR3 EneamyPos, D3DXVECTOR3 LocalPos, float LocalPlayer
}
ImGui::PopStyleColor();
}
//Bigger Radar Stuff, Hotket T
void BigMiniMapRadar(D3DXVECTOR3 EneamyPos, D3DXVECTOR3 LocalPos, float LocalPlayerY, float eneamyDist)
{
ImGuiStyle* style = &ImGui::GetStyle();
style->WindowRounding = 0.2f;
ImGui::PushStyleColor(ImGuiCol_WindowBg, ImVec4(0.13529413f, 0.14705884f, 0.15490198f, 0.82f));
ImGuiWindowFlags TargetFlags;
//Radar Window Flags: No Move, Resize, Title bar, Background etc. makes it so you can change it once set.
//slash out | ImGuiWindowFlags_::ImGuiWindowFlags_NoMove
TargetFlags = ImGuiWindowFlags_::ImGuiWindowFlags_NoResize | ImGuiWindowFlags_::ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_::ImGuiWindowFlags_NoTitleBar/* | ImGuiWindowFlags_::ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_::ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_::ImGuiWindowFlags_NoMove*/;
if (!firstS)
{
ImGui::SetNextWindowPos(ImVec2{ 1200, 60 }, ImGuiCond_Once);
firstS = true;
}
if (RadarSettings::Radar == true)
{
ImGui::SetNextWindowSize({ 500, 500 });
ImGui::Begin(("Bigger Radar"), 0, TargetFlags);
//if (ImGui::Begin(xorstr("Radar", 0, ImVec2(200, 200), -1.f, TargetFlags))) {
{
ImDrawList* Draw = ImGui::GetWindowDrawList();
ImVec2 DrawPos = ImGui::GetCursorScreenPos();
ImVec2 DrawSize = ImGui::GetContentRegionAvail();
ImVec2 midRadar = ImVec2(DrawPos.x + (DrawSize.x / 2), DrawPos.y + (DrawSize.y / 2));
//unslash to set to minimap, it helps line it up
ImGui::GetWindowDrawList()->AddCircle(ImVec2(DrawPos.x + DrawSize.x / 2, DrawPos.y + DrawSize.y / 2), circradarsize100, IM_COL32(255, 255, 255, 255));
ImGui::GetWindowDrawList()->AddCircle(ImVec2(DrawPos.x + DrawSize.x / 2, DrawPos.y + DrawSize.y / 2), circradarsize200, IM_COL32(255, 255, 255, 255));
ImGui::GetWindowDrawList()->AddCircle(ImVec2(DrawPos.x + DrawSize.x / 2, DrawPos.y + DrawSize.y / 2), circradarsize300, IM_COL32(255, 255, 255, 255));
ImGui::GetWindowDrawList()->AddCircle(ImVec2(DrawPos.x + DrawSize.x / 2, DrawPos.y + DrawSize.y / 2), circradarsize400, IM_COL32(255, 255, 255, 255));
ImGui::GetWindowDrawList()->AddCircle(ImVec2(DrawPos.x + DrawSize.x / 2, DrawPos.y + DrawSize.y / 2), circradarsize500, IM_COL32(255, 255, 255, 255));
//ImGui::GetWindowDrawList()->AddLine(ImVec2(midRadar.x, midRadar.y - DrawSize.y / 2.f), ImVec2(midRadar.x, midRadar.y + DrawSize.y / 2.f), IM_COL32(255, 255, 255, 255));
DrawRadarPoint2(EneamyPos, LocalPos, LocalPlayerY, eneamyDist, DrawPos.x, DrawPos.y, DrawSize.x, DrawSize.y, { 255, 255, 255, 255 });
}
ImGui::End();
}
ImGui::PopStyleColor();
}
bool IsKeyDown(int vk)
{
return (GetAsyncKeyState(vk) & 0x8000) != 0;
@ -319,8 +224,8 @@ bool IsKeyDown(int vk)
player players[100];
/*
//Full map radar test, Broken atm
//Full map radar test, Needs Manual setting of cords
//ImVec2 can be replaced with Vector2D
class world {
public:
@ -339,80 +244,49 @@ public:
this->ratioY = (s1.y - s2.y) / (w2.y - w1.y);
}
};
//These values only work with 1920x1080 fullscreen
//These values only work with 1920x1080 fullscreen, you have to redo the values for anything else.
//
// Take screenshot, First is top right random pos, then bttm left random pos from screen shot
//
// First set is the x cord, then the y cord, then the screen pos from the screenshot, do the same for the second set.
//Battel Royal
world KingsCanyon(ImVec2(0, 0), ImVec2(0, 0), ImVec2(0, 0), ImVec2(0, 0)); //to be measured
world KingsCanyon(ImVec2(25223.177734, 28906.144531), ImVec2(1197, 185), ImVec2(10399.223633, 13334.792969), ImVec2(1014, 381)); //could be more accurate
world WorldsEdge(ImVec2(-9190.608398, 8443.554688), ImVec2(824, 412), ImVec2(-19529.794922, -8933.173828), ImVec2(707, 608));
world Olympus(ImVec2(0, 0), ImVec2(0, 0), ImVec2(0, 0), ImVec2(0, 0)); //to be measured
world StormPoint(ImVec2(-21264.427734, -47086.878906), ImVec2(711, 983), ImVec2(40298.070313, 21163.728516), ImVec2(1321, 306));
//Arena
world Overflow(ImVec2(-3344.994629, -4018.093018), ImVec2(552, 431), ImVec2(5039.592773, -4639.289063), ImVec2(1322, 489));
world DropOff(ImVec2(3135.113281, 1654.107666), ImVec2(1151, 603), ImVec2(-2920.918701, 811.240479), ImVec2(722, 663));
world Habitat4(ImVec2(4482.470215, -604.362854), ImVec2(1205, 544), ImVec2(-4464.019043, 593.067688), ImVec2(650, 470));
world Encore(ImVec2(4144.926270, 468.957611), ImVec2(1184, 472), ImVec2(-3791.070313, 3.092307), ImVec2(692, 501));
world PartyCrasher(ImVec2(-3275.972900, 3646.970703), ImVec2(589, 197), ImVec2(1085.708740, -3869.658936), ImVec2(1022, 943));
//TODO get map auto
ImVec2 worldToScreenMap(D3DXVECTOR3 origin) {
float ratioX;
float ratioY;
ImVec2 w1;
ImVec2 s1;
if (stormmap == true) { //Storm Point
ratioX = StormPoint.ratioX;
ratioY = StormPoint.ratioY;
w1 = StormPoint.w1;
s1 = StormPoint.s1;
}
else if (strncmp(mapname, "mp_rr_aqueduct", 14) == 0) { //arena Overflow
ratioX = Overflow.ratioX;
ratioY = Overflow.ratioY;
w1 = Overflow.w1;
s1 = Overflow.s1;
}
else if (strncmp(mapname, "mp_rr_arena_composite", 21) == 0) { //arena DropOff
ratioX = DropOff.ratioX;
ratioY = DropOff.ratioY;
w1 = DropOff.w1;
s1 = DropOff.s1;
}
else if (strncmp(mapname, "mp_rr_arena_habitat", 19) == 0) { //arena Habitat4
ratioX = Habitat4.ratioX;
ratioY = Habitat4.ratioY;
w1 = Habitat4.w1;
s1 = Habitat4.s1;
}
else if (strncmp(mapname, "mp_rr_arena_skygarden", 21) == 0) { //arena Encore
ratioX = Encore.ratioX;
ratioY = Encore.ratioY;
w1 = Encore.w1;
s1 = Encore.s1;
}
else if (strncmp(mapname, "mp_rr_party_crasher", 19) == 0) { //arena PartyCrasher
ratioX = PartyCrasher.ratioX;
ratioY = PartyCrasher.ratioY;
w1 = PartyCrasher.w1;
s1 = PartyCrasher.s1;
}
else if (strncmp(mapname, "mp_rr_canyonlands_mu", 20) == 0) { //KingsCanyon
//Is it me being lazy? or that i dont know how? prob both. True or False for the map detection, set in the overlay menu.
if (kingscanyon == true) { //KingsCanyon
ratioX = KingsCanyon.ratioX;
ratioY = KingsCanyon.ratioY;
w1 = KingsCanyon.w1;
s1 = KingsCanyon.s1;
}
if (stormpoint == true) { //Storm Point
ratioX = StormPoint.ratioX;
ratioY = StormPoint.ratioY;
w1 = StormPoint.w1;
s1 = StormPoint.s1;
}
if (worldsedge == true) { //WorldsEdge
ratioX = WorldsEdge.ratioX;
ratioY = WorldsEdge.ratioY;
w1 = WorldsEdge.w1;
s1 = WorldsEdge.s1;
}
else if (strncmp(mapname, "mp_rr_olympus", 13) == 0) { //Olympus
ratioX = Olympus.ratioX;
ratioY = Olympus.ratioY;
w1 = Olympus.w1;
s1 = Olympus.s1;
}
else {
return ImVec2(0, 0);
}
@ -434,30 +308,9 @@ ImVec2 worldToScreenMap(D3DXVECTOR3 origin) {
}
*/
void Overlay::RenderEsp()
{
//Fov Circle Stuff
if (fovcircle && zoomf1 == 0)
{
//ImGui::Begin(XorStr("##esp"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoBringToFrontOnFocus);
auto draw = ImGui::GetBackgroundDrawList();
draw->AddCircle(ImVec2(1920 / 2, 1080 / 2), fovsize, IM_COL32(fovcolor1, fovcolor2, fovcolor3, 255), 100, fovthick);
//ImGui::End();
}
else if (fovcircle && zoomf1 == 1)
{
//ImGui::Begin(XorStr("##esp"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoBringToFrontOnFocus);
auto draw = ImGui::GetBackgroundDrawList();
draw->AddCircle(ImVec2(1920 / 2, 1080 / 2), fovsize2, IM_COL32(fovcolor1, fovcolor2, fovcolor3, 255), 100, fovthick);
//ImGui::End();
}
next2 = false;
if (g_Base != 0 && esp)
{
@ -489,12 +342,6 @@ void Overlay::RenderEsp()
{
MiniMapRadar(players[i].EntityPosition, players[i].LocalPlayerPosition, players[i].localviewangle.y, radardistance);
}
if (bigradar)
{
BigMiniMapRadar(players[i].EntityPosition, players[i].LocalPlayerPosition, players[i].localviewangle.y, radardistance);
}
if (v.line)
DrawLine(ImVec2((float)(getWidth() / 2), (float)getHeight()), ImVec2(players[i].b_x, players[i].b_y), BLUE, 1); //LINE FROM MIDDLE SCREEN
@ -504,22 +351,18 @@ void Overlay::RenderEsp()
String(ImVec2(players[i].boxMiddle, (players[i].b_y + 1)), RED, distance.c_str()); //DISTANCEs else
String(ImVec2(players[i].boxMiddle, (players[i].b_y + 1)), GREEN, distance.c_str()); //DISTANCE
}
if (v.healthbar)
if (players[i].dist < 16000.0f)
{
DrawSeerLikeHealth((players[i].b_x - (players[i].width / 2.0f) + 5), (players[i].b_y - players[i].height - 10), players[i].shield, players[i].maxshield, players[i].armortype, players[i].health); //health bar
}
/*
//Full Radar map, broken atm
//Full Radar map, Need Manual setting of cords
if (mainradarmap == true)
worldToScreenMap(players[i].EntityPosition);
//String(ImVec2(players[i].boxMiddle, (players[i].b_y - players[i].height - 15)), WHITE, players[i].name);
*/
}
}
ImGui::End();
@ -547,16 +390,12 @@ int main(int argc, char** argv)
add[15] = (uintptr_t)&thirdperson;
add[16] = (uintptr_t)&spectators;
add[17] = (uintptr_t)&allied_spectators;
add[18] = (uintptr_t)&chargerifle;
add[19] = (uintptr_t)&shooting;
add[20] = (uintptr_t)&glowr;
add[21] = (uintptr_t)&glowg;
add[22] = (uintptr_t)&glowb;
add[23] = (uintptr_t)&firing_range;
add[24] = (uintptr_t)&glowtype;
add[25] = (uintptr_t)&glowtype2;
printf(XorStr("Game Version 3.0.11.32 |-| Radar Ver With Color Test |-| Add me offset: 0x%I64x\n"), (uint64_t)&add[0] - (uint64_t)GetModuleHandle(NULL));
printf(XorStr("Game Version v3.0.12.19 |-| Main Map Radar Test |-| Add me offset: 0x%I64x\n"), (uint64_t)&add[0] - (uint64_t)GetModuleHandle(NULL));
Overlay ov1 = Overlay();
ov1.Start();
@ -587,12 +426,9 @@ int main(int argc, char** argv)
//Load at start for saved settings to take effect. Need to save once to make the file.
for (static bool once = true; once; once = false) {
std::ifstream config("Config.txt");
std::ifstream config("Settings.txt");
if (config.is_open())
{
config >> std::boolalpha >> firing_range;
config >> aim;
config >> std::boolalpha >> esp;
@ -606,8 +442,6 @@ int main(int argc, char** argv)
config >> glowr;
config >> glowg;
config >> glowb;
config >> glowtype;
config >> glowtype2;
config >> glowcolor[0];
config >> glowcolor[1];
config >> glowcolor[2];
@ -622,35 +456,10 @@ int main(int argc, char** argv)
config >> v.distance;
config >> thirdperson;
config >> minimapradar;
config >> fovcircle;
config >> fovsize;
config >> fovsize2;
config >> fovcolor1;
config >> fovcolor2;
config >> fovcolor3;
config >> fovcolorset[0];
config >> fovcolorset[1];
config >> fovcolorset[2];
config >> fovcolorset[3];
config >> fovthick;
//config >> item_current; // no idea how to imput a string of words
config.close();
}
}
//Charge Rifle Hotkey is ~
if (IsKeyDown(VK_OEM_3) && chargeriflekp == 0)
{
chargerifle = true;
chargeriflekp = 1;
}
else if (IsKeyDown(VK_OEM_3) && chargeriflekp == 1)
{
chargerifle = false;
chargeriflekp = 0;
}
//Hotkey to Turn on and off Aimbot
if (IsKeyDown(VK_F6) && k_f6 == 0)
{
@ -674,53 +483,7 @@ int main(int argc, char** argv)
{
k_f6 = 0;
}
if (IsKeyDown(VK_F9) && k_f100 == 1)
{
k_f100 = 0;
k_f20 = 1;
k_f8 = 1;
}
else if (IsKeyDown(VK_F10) && k_f100 == 0)
{
k_f20 = 0;
k_f100 = 1;
k_f8 = 1;
}
if (IsKeyDown(VK_F11))
{
k_f20 = 0;
k_f100 = 0;
bone = 1;
smooth = 100;
}
//Big Radar Hokey is T
//Main Map Radar
if (IsKeyDown(0x54) && biggerradartoggle == 0)
{
biggerradartoggle = 1;
switch (bigradar)
{
case 0:
bigradar = true;
break;
case 1:
bigradar = false;
break;
default:
break;
}
}
else if (!IsKeyDown(0x54) && biggerradartoggle == 1)
{
biggerradartoggle = 0;
}
/*
//Main Map Radar, Broken atm
//Main Map Radar, Needs Manual Setting of cords
if (IsKeyDown(0x4D) && mainradartoggle == 0)
{
mainradartoggle = 1;
@ -742,32 +505,15 @@ int main(int argc, char** argv)
{
mainradartoggle = 0;
}
*/
if (IsKeyDown(aim_key))
if (IsKeyDown(aim_key | aim_key2))
{
aiming = true;
zoomf1 = 1;
}
else if (IsKeyDown(aim_key2))
aiming = true;
else
{
aiming = false;
zoomf1 = 0;
}
if (IsKeyDown(shoot_key))
{
shooting = true;
}
if (IsKeyDown(shoot_key2))
{
shooting = true;
}
}
ready = false;
ov1.Clear();

@ -19,32 +19,23 @@ extern int bone;
extern bool thirdperson;
extern int spectators;
extern int allied_spectators;
extern bool chargerifle;
//glow color and type
extern float glowr;
extern float glowg;
extern float glowb;
extern int glowtype;
extern int glowtype2;
extern float glowr; //Red Value
extern float glowg; //Green Value
extern float glowb; //Blue Value
extern float glowcolor[3];
//radar color
extern bool minimapradar;
unsigned int radarcolorr = 0;
unsigned int radarcolorg = 0;
unsigned int radarcolorb = 0;
unsigned int radarcolorr = 255; //Red Value
unsigned int radarcolorg = 0; //Green Value
unsigned int radarcolorb = 0; //Blue Value
extern float radarcolor[3];
//Main Map Radar
extern bool mainradarmap;
//fov stuff
extern bool fovcircle;
extern float fovsize;
extern float fovsize2;
extern float fovcolorset[4];
extern float fovcolor1;
extern float fovcolor2;
extern float fovcolor3;
extern float fovthick;
// Main Map Radar Stuff
extern bool stormpoint; //Set for map, ONLY ONE THO
extern bool worldsedge; //Set for map, ONLY ONE THO
extern bool kingscanyon; //Set for map, ONLY ONE THO
int width;
int height;
@ -165,16 +156,36 @@ void Overlay::RenderMenu()
ImGui::SameLine();
ImGui::Sliderbox(XorStr("Glow Players"), &player_glow);
ImGui::Sliderbox(XorStr("Thirdperson"), &thirdperson);
ImGui::Sliderbox(XorStr("Charge Rifle Hack"), &chargerifle);
ImGui::Sliderbox(XorStr("Firing Range Toggle"), &firing_range);
ImGui::Sliderbox(XorStr("Radar"), &minimapradar);
/*
//Full man Radar, Broken atm
ImGui::Sliderbox("Main Map Toggle Test", &mainradarmap);
*/
ImGui::Sliderbox("Circle Fov", &fovcircle);
ImGui::Sliderbox(XorStr("Mini-Map Radar"), &minimapradar);
ImGui::Text(XorStr("Main Map Selection Config:"));
//setting the state counter
static int e = 0;
//Is it me being lazy? or that i dont know how? prob both. Setting the Map for the Main Map Radar
ImGui::RadioButton("King's Canyon", &e, 0); ImGui::SameLine();
ImGui::RadioButton("World's Edge", &e, 1); ImGui::SameLine();
ImGui::RadioButton("Storm Point", &e, 2);
//Setting one and unsetting the other
if (e == 0)
{
kingscanyon = true;
worldsedge = false;
stormpoint = false;
}
else if (e == 1)
{
kingscanyon = false;
worldsedge = true;
stormpoint = false;
}
else if (e == 2)
{
kingscanyon = false;
worldsedge = false;
stormpoint = true;
}
ImGui::Text(XorStr("Max distance:"));
ImGui::SliderFloat(XorStr("##1"), &max_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SliderFloat(XorStr("##1"), &max_dist, 100.0f * 40, 3800.0f * 40, "%.2f");
ImGui::SameLine();
ImGui::Text("(%d meters)", (int)(max_dist / 40));
ImGui::Text(XorStr("Smooth Aim Value:"));
@ -208,28 +219,13 @@ void Overlay::RenderMenu()
radarcolorg = radarcolor[1] * 250;
radarcolorb = radarcolor[2] * 250;
}
//Fov Circle Color
ImGui::Text(XorStr("Fov Circle Color Picker:"));
ImGui::ColorEdit4("##Fov Circle Color Picker", fovcolorset);
{
fovcolor1 = fovcolorset[0] * 250;
fovcolor2 = fovcolorset[1] * 250;
fovcolor3 = fovcolorset[2] * 250;
fovthick = fovcolorset[3] * 250;
}
ImGui::Text(XorStr("Saving and Loading:"));
ImGui::Text(XorStr("Saving and Loading. Need to Save Once to make the file."));
//Saving
if (ImGui::Button("Save Config"))
{
ofstream config("Config.txt");
ofstream config("Settings.txt");
if (config.is_open())
{
config << std::boolalpha << firing_range << "\n";
config << aim << "\n";
config << std::boolalpha << esp << "\n";
@ -243,8 +239,6 @@ void Overlay::RenderMenu()
config << glowr << "\n";
config << glowg << "\n";
config << glowb << "\n";
config << glowtype << "\n";
config << glowtype2 << "\n";
config << glowcolor[0] << "\n";
config << glowcolor[1] << "\n";
config << glowcolor[2] << "\n";
@ -258,18 +252,7 @@ void Overlay::RenderMenu()
config << v.shieldbar << "\n";
config << v.distance << "\n";
config << thirdperson<< "\n";
config << std::boolalpha << minimapradar << "\n";
config << fovcircle << "\n";
config << fovsize << "\n";
config << fovsize2 << "\n";
config << fovcolor1 << "\n";
config << fovcolor2 << "\n";
config << fovcolor3 << "\n";
config << fovcolorset[0] << "\n";
config << fovcolorset[1] << "\n";
config << fovcolorset[2] << "\n";
config << fovcolorset[3] << "\n";
config << fovthick;
config << std::boolalpha << minimapradar;
config.close();
}
}
@ -277,13 +260,9 @@ void Overlay::RenderMenu()
//Loading
if (ImGui::Button("Load Config"))
{
ifstream config("Config.txt");
ifstream config("Settings.txt");
if (config.is_open())
{
config >> std::boolalpha >> firing_range;
config >> aim;
config >> std::boolalpha >> esp;
@ -297,8 +276,6 @@ void Overlay::RenderMenu()
config >> glowr;
config >> glowg;
config >> glowb;
config >> glowtype;
config >> glowtype2;
config >> glowcolor[0];
config >> glowcolor[1];
config >> glowcolor[2];
@ -313,37 +290,20 @@ void Overlay::RenderMenu()
config >> v.distance;
config >> thirdperson;
config >> minimapradar;
config >> fovcircle;
config >> fovsize;
config >> fovsize2;
config >> fovcolor1;
config >> fovcolor2;
config >> fovcolor3;
config >> fovcolorset[0];
config >> fovcolorset[1];
config >> fovcolorset[2];
config >> fovcolorset[3];
config >> fovthick;
config.close();
}
}
}
ImGui::Text(XorStr("Overlay FPS: %.3f ms/frame (%.1f FPS)"), 1000.0f / ImGui::GetIO().Framerate, ImGui::GetIO().Framerate);
ImGui::End();
}
void Overlay::RenderInfo()
{
{
ImGui::SetNextWindowPos(ImVec2(0, 0));
ImGui::SetNextWindowSize(ImVec2(150, 25));
ImGui::SetNextWindowSize(ImVec2(160, 25));
ImGui::Begin(XorStr("##info"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar);
DrawLine(ImVec2(1, 5), ImVec2(140, 5), RED, 2);
DrawLine(ImVec2(1, 5), ImVec2(160, 5), RED, 2);
ImGui::TextColored(RED, "%d", spectators);
ImGui::SameLine();
ImGui::Text("--");
@ -386,7 +346,7 @@ DWORD Overlay::CreateOverlay()
Sleep(300);
if (overlayHWND == 0)
{
printf(XorStr("Can't find the overlay\n"));
printf(XorStr("Can't find the overlay, HIT ALT-Z\n"));
Sleep(1000);
exit(0);
}

@ -0,0 +1,325 @@
/*
* Vector2.h
*
* Created on: Dec 12, 2011
* Author: kyle
*/
#ifndef VECTOR2_H_
#define VECTOR2_H_
#include <ostream>
#include <sstream>
#include <cmath>
namespace AO
{
namespace Vector2
{
class Vector2
{
public:
//Members
float X;
float Y;
//Constructors
Vector2();
explicit Vector2(float const& newX, float const& newY);
//Math
//Vector3 by Vector3 Math
Vector2 operator+(const Vector2& vector) const;
Vector2 operator-(const Vector2& vector) const;
Vector2 operator*(const Vector2& vector) const;
Vector2 operator/(const Vector2& vector) const;
Vector2& operator+=(const Vector2& vector);
Vector2& operator-=(const Vector2& vector);
Vector2& operator*=(const Vector2& vector);
Vector2& operator/=(const Vector2& vector);
//Vector3 by Float Math
Vector2 operator-() const;
Vector2 operator+(float const& num) const;
Vector2 operator-(float const& num) const;
Vector2 operator*(float const& num) const;
Vector2 operator/(float const& num) const;
Vector2& operator+=(float const& num);
Vector2& operator-=(float const& num);
Vector2& operator*=(float const& num);
Vector2& operator/=(float const& num);
//Boolean Equals Operators
bool operator==(const Vector2& vector) const;
bool operator!=(const Vector2& vector) const;
//Static Predefines
static const Vector2 Zero;
static const Vector2 One;
//Print out
friend std::ostream& operator<< (std::ostream& ofs, const Vector2& vector);
};
//Constructors
inline Vector2::Vector2() {}
inline Vector2::Vector2(float const& x, float const& y) : X(x), Y(y) {}
// Math
inline Vector2 Vector2::operator+(const Vector2& vector) const
{
return Vector2(X + vector.X, Y + vector.Y);
}
inline Vector2 Vector2::operator-(const Vector2& vector) const
{
return Vector2(X - vector.X, Y - vector.Y);
}
inline Vector2 Vector2::operator*(const Vector2& vector) const
{
return Vector2(X * vector.X, Y * vector.Y);
}
inline Vector2 Vector2::operator/(const Vector2& vector) const
{
return Vector2(X / vector.X, Y / vector.Y);
}
inline Vector2& Vector2::operator+=(const Vector2& vector)
{
X += vector.X;
Y += vector.Y;
return *this;
}
inline Vector2& Vector2::operator-=(const Vector2& vector)
{
X -= vector.X;
Y -= vector.Y;
return *this;
}
inline Vector2& Vector2::operator*=(const Vector2& vector)
{
X *= vector.X;
Y *= vector.Y;
return *this;
}
inline Vector2& Vector2::operator/=(const Vector2& vector)
{
X /= vector.X;
Y /= vector.Y;
return *this;
}
inline Vector2 Vector2::operator-() const
{
return Vector2(-X, -Y);
}
inline Vector2 Vector2::operator-(float const& num) const
{
return Vector2(X - num, Y - num);
}
inline Vector2 Vector2::operator+(float const& num) const
{
return Vector2(X + num, Y + num);
}
inline Vector2 Vector2::operator*(float const& num) const
{
return Vector2(X * num, Y * num);
}
inline Vector2 Vector2::operator/(float const& num) const
{
return Vector2(X / num, Y / num);
}
inline Vector2& Vector2::operator+=(const float& num)
{
X += num;
Y += num;
return *this;
}
inline Vector2& Vector2::operator-=(const float& num)
{
X -= num;
Y -= num;
return *this;
}
inline Vector2& Vector2::operator*=(const float& num)
{
X *= num;
Y *= num;
return *this;
}
inline Vector2& Vector2::operator/=(const float& num)
{
X /= num;
Y /= num;
return *this;
}
//Boolean
inline bool Vector2::operator==(const Vector2& vector) const
{
return X == vector.X && Y == vector.Y;
}
inline bool Vector2::operator!=(const Vector2& vector) const
{
return X != vector.X || Y != vector.Y;
}
//-----------------------------------------------------------------------------------
//Fast Static members
//-----------------------------------------------------------------------------
const Vector2 Vector2::Zero = Vector2(0, 0);
const Vector2 Vector2::One = Vector2(1, 1);
//Subtractes the two Vector2 objects
inline const Vector2 operator-(Vector2 const& lhs, Vector2 const& rhs) {
return Vector2(lhs.X - rhs.X, lhs.Y - rhs.Y);
}
//Adds the two Vector2 objects
inline const Vector2 operator+(Vector2 const& lhs, Vector2 const& rhs) {
return Vector2(lhs.X + rhs.X, lhs.Y + rhs.Y);
}
//divides the two Vector2 objects
inline const Vector2 operator/(Vector2 const& lhs, float const& rhs) {
return Vector2(lhs.X / rhs, lhs.Y / rhs);
}
//Multiplies the two Vector2 objects
inline const Vector2 operator*(float lhs, Vector2 const& rhs) {
Vector2 result;
result.X = rhs.X * lhs;
result.Y = rhs.Y * lhs;
return result;
}
//Subtractes the two Vector2 objects
inline const Vector2& operator-=(Vector2& lhs, const Vector2& rhs) {
lhs.X -= rhs.X;
lhs.Y -= rhs.Y;
return lhs;
}
//Adds the two Vector2 objects
inline const Vector2& operator+=(Vector2& lhs, const Vector2& rhs) {
lhs.X += rhs.X;
lhs.Y += rhs.Y;
return lhs;
}
//Divides the two Vector2 objects
inline const Vector2& operator/=(Vector2& lhs, const Vector2& rhs) {
lhs.X /= rhs.X;
lhs.Y /= rhs.Y;
return lhs;
}
//Multiplies the two Vector2 objects
inline const Vector2& operator*=(Vector2& lhs, const Vector2& rhs) {
lhs.X *= rhs.X;
lhs.Y *= rhs.Y;
return lhs;
}
//Multiplies the Vector2 object by a float
inline const Vector2& operator*=(Vector2& lhs, const float& rhs) {
lhs.X *= rhs;
lhs.Y *= rhs;
return lhs;
}
//Compares the two Vector2 objects and returns (true) if they are not equal
inline const bool operator!=(Vector2 const& lhs, Vector2 const& rhs) {
return (lhs.X != rhs.X) || (lhs.Y != rhs.Y);
}
//Compares the two Vector2 objects and returns (true) if they are equal
inline const bool operator==(Vector2 const& lhs, Vector2 const& rhs) {
return ((lhs.X * rhs.X < (float)0.000001) && (lhs.Y * rhs.Y < (float)0.000001));
}
//Sets the Vector2 with zero values
inline void zero(Vector2& lhs) {
lhs.X = 0.0f;
lhs.Y = 0.0f;
}
//Returns if the Vector2 is zero
inline const bool isZero(Vector2 const& lhs) {
return (lhs.X * lhs.X + lhs.Y * lhs.Y) < (float)0.000001;//EPSILON
}
//Returns dot product
inline const float dot(Vector2 const& lhs, Vector2 const& rhs) {
return lhs.X * rhs.X + lhs.Y * rhs.Y;
}
//Returns length squared
inline const float lsq(Vector2 const& rhs) {
return dot(rhs, rhs);
}
//Returns magnitude (length)
inline const float mag(Vector2 const& rhs) {
//return sqrtf(dot(rhs, rhs));
return sqrt(dot(rhs, rhs));
}
//Returns normalized Vector2
inline Vector2 norm(Vector2 const& lhs) {
return (1.f / (mag(lhs))) * lhs;
}
//Returns cross product for Vector2
inline float cross(Vector2 const& lhs, Vector2 const& rhs) {
return (lhs.X * rhs.Y - lhs.Y * rhs.X);
}
//Returns (Vector3) cross product of the Vector3 objects
inline Vector2 crossVec(Vector2 const& vec2, Vector2 const& vec1) {
return Vector2(
vec2.Y * vec1.X - vec1.Y * vec2.X,
vec2.X * vec1.Y - vec1.X * vec2.Y);
}
//Returns Negative or Positive (value of one)
inline const int sign(const Vector2& lhs, const Vector2& rhs) {
if (lhs.Y * rhs.X > lhs.X * rhs.Y)
{
return -1;
}
else
{
return 1;
}
}
//Returns perpendicular Vector2
inline const Vector2 perp(Vector2 const& rhs) {
return Vector2(-rhs.Y, rhs.X);
}
//Clamps Vector2 values to max
inline void truncate(Vector2& rhs, float const& max) {
if (mag(rhs) > max)
{
norm(rhs);
rhs = rhs * max;
}
}
//Returns inverse (negative) Vector2
inline Vector2 neg(Vector2 const& rhs) {
return Vector2(-rhs.X, -rhs.Y);
}
//Returns distance between the Vector2's
inline double dist(Vector2 const& lhs, Vector2 const& rhs) {
double ySeparation = rhs.Y - lhs.Y;
double xSeparation = rhs.X - lhs.X;
//return sqrtf(ySeparation*ySeparation + xSeparation*xSeparation);
return sqrt(ySeparation * ySeparation + xSeparation * xSeparation);
}
//Returns squared distance between the Vector2's
inline double distanceSquared(Vector2 const& lhs, Vector2 const& rhs) {
double ySeparation = rhs.Y - lhs.Y;
double xSeparation = rhs.X - lhs.X;
return ySeparation * ySeparation + xSeparation * xSeparation;
}
//Returns the lhs Vector2 reflected over the rhs Vector2
inline Vector2 reflect(Vector2 const& lhs, Vector2 const& rhs) {
Vector2 out;
const float dotProductTimesTwo = dot(rhs, lhs) * 2.0f;
out.X = rhs.X - (dotProductTimesTwo * lhs.X);
out.Y = rhs.Y - (dotProductTimesTwo * lhs.Y);
return out;
}
//Output display of values
inline std::ostream& operator<< (std::ostream& os, const Vector2& vector)
{
std::stringstream stream;
stream << "X: " << vector.X << ", Y: " << vector.Y;
os.write(const_cast<char*>(stream.str().c_str()), static_cast<std::streamsize>(stream.str().size() * sizeof(char)));
return os;
}
}
}
#endif /* VECTOR2_H_ */
Loading…
Cancel
Save