diff --git a/apex_dma/offsets.h b/apex_dma/offsets.h index 644ad58..f39f92b 100644 --- a/apex_dma/offsets.h +++ b/apex_dma/offsets.h @@ -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 diff --git a/apex_guest/Client/Client/main.cpp b/apex_guest/Client/Client/main.cpp index 086b1f0..6c5770e 100644 --- a/apex_guest/Client/Client/main.cpp +++ b/apex_guest/Client/Client/main.cpp @@ -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(); diff --git a/apex_guest/Client/Client/overlay.cpp b/apex_guest/Client/Client/overlay.cpp index 2ab3b30..bd84017 100644 --- a/apex_guest/Client/Client/overlay.cpp +++ b/apex_guest/Client/Client/overlay.cpp @@ -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); } diff --git a/apex_guest/Client/Client/vector2.h b/apex_guest/Client/Client/vector2.h new file mode 100644 index 0000000..e3e0a60 --- /dev/null +++ b/apex_guest/Client/Client/vector2.h @@ -0,0 +1,325 @@ +/* + * Vector2.h + * + * Created on: Dec 12, 2011 + * Author: kyle + */ + +#ifndef VECTOR2_H_ +#define VECTOR2_H_ +#include +#include +#include +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(stream.str().c_str()), static_cast(stream.str().size() * sizeof(char))); + return os; + } + + } +} + + + +#endif /* VECTOR2_H_ */ \ No newline at end of file