diff --git a/README.md b/README.md index f2e07a6..53f259e 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,10 @@ - you can enable aimbot/esp for your teammates - press mouse4 to disable visible check(Aim at enemies behind smoke) - display legend's name (https://www.unknowncheats.me/forum/3915178-post14046.html) +- Spectator List (Display Sepctator's Name and XP level) # how to use ## guest -- ctrl+h to replace "changeableplace" to other contents to bypass memory detection. +- ctrl+h to replace "placeholder" to other contents to bypass memory detection. - in CustomOverlay: main.cpp - better use VMprotect - build in release x64, use custom overlay for streamproof. @@ -25,3 +26,11 @@ - https://github.com/A1exxander/KVM-Spoofing *If you are concerned with Passthrough/bypass , ask Unknowncheats community for help* + + +### Changelog +#### 2023/12/20(UTC+8) +- Freecamera will be disable when player is not alive. +- Spectator List +- Fix some bugs of Legend's name ESP. +- Added rcs setting to client \ No newline at end of file diff --git a/apex_dma/Game.cpp b/apex_dma/Game.cpp index 4a20cca..c90d674 100644 --- a/apex_dma/Game.cpp +++ b/apex_dma/Game.cpp @@ -299,7 +299,7 @@ float CalculateFov(Entity& from, Entity& target) return Math::GetFov(ViewAngles, Angle); } -QAngle CalculateBestBoneAim(Entity& from, uintptr_t t, float max_fov) +QAngle CalculateBestBoneAim(Entity& from, uintptr_t t, float max_fov , float rcs_pitch , float rcs_yaw) { Entity target = getEntity(t); if (firing_range) @@ -382,9 +382,8 @@ QAngle CalculateBestBoneAim(Entity& from, uintptr_t t, float max_fov) //remove sway and recoil if (aim_no_recoil) { QAngle sway = SwayAngles - ViewAngles; - sway.x = sway.x * 0.8; //pitch - sway.y = sway.y * 0.75; //yaw - sway.z = sway.z * 0.9; + sway.x = sway.x * rcs_pitch; //pitch 0.3 + sway.y = sway.y * rcs_yaw; //yaw 0.5 CalculatedAngles -= sway; } Math::NormalizeAngles(CalculatedAngles); diff --git a/apex_dma/Game.h b/apex_dma/Game.h index 847a1f4..478a57e 100644 --- a/apex_dma/Game.h +++ b/apex_dma/Game.h @@ -94,7 +94,7 @@ Entity getEntity(uintptr_t ptr); Item getItem(uintptr_t ptr); bool WorldToScreen(Vector from, float* m_vMatrix, int targetWidth, int targetHeight, Vector& to); float CalculateFov(Entity& from, Entity& target); -QAngle CalculateBestBoneAim(Entity& from, uintptr_t target, float max_fov); +QAngle CalculateBestBoneAim(Entity& from, uintptr_t target, float max_fov , float rcs_pitch, float rcs_yaw); void get_class_name(uint64_t entity_ptr, char* out_str); void charge_rifle_hack(uint64_t entity_ptr); diff --git a/apex_dma/apex_dma.cpp b/apex_dma/apex_dma.cpp index 471d440..3b601ba 100644 --- a/apex_dma/apex_dma.cpp +++ b/apex_dma/apex_dma.cpp @@ -12,7 +12,7 @@ Memory apex_mem; Memory client_mem; -uint64_t add_off = 0x114514; +uint64_t add_off = 0x40980; bool freecam = false; bool lockall_enable = false; @@ -24,6 +24,11 @@ uintptr_t tmp_aimentity = 0; uintptr_t lastaimentity = 0; float kmax = 999.0f; float max_dist = 200.0f * 40.0f; + +//rcs setting +float rcs_pitch = 0.3f; +float rcs_yaw = 0.4f; + int team_player = 0; float max_fov = 15; const int toRead = 100; @@ -66,14 +71,22 @@ typedef struct player int maxshield = 0; int armortype = 0; char name[33] = { 0 }; - char model_name[33] = { 0 }; + char model_name[100] = { 0 }; }player; +typedef struct spectator{ + bool is_spec = false; + int xp_level = 0; + char name[33] = { 0 }; +}spectator; + struct Matrix { float matrix[16]; }; +spectator spectator_list[toRead]; + float lastvis_esp[toRead]; float lastvis_aim[toRead]; int tmp_spec = 0, spectators = 0; @@ -144,7 +157,7 @@ void DoActions() actions_t = true; while (actions_t) { - std::this_thread::sleep_for(std::chrono::milliseconds(1)); + std::this_thread::sleep_for(std::chrono::milliseconds(10)); uint32_t counter = 0; while (g_Base != 0 && c_Base != 0) @@ -179,16 +192,21 @@ void DoActions() tmp_spec = 0; tmp_all_spec = 0; + memset(spectator_list,0, sizeof(spectator_list)); + int current_obid; - if (freecam) { - apex_mem.Write(LocalPlayer + OFFSET_OBSERVER_MODE, 7); - } - else { - apex_mem.Read(LocalPlayer + OFFSET_OBSERVER_MODE, current_obid); - if (current_obid == 7) { - apex_mem.Write(LocalPlayer + OFFSET_OBSERVER_MODE, 0); + if(LPlayer.isAlive()){ + if (freecam) { + apex_mem.Write(LocalPlayer + OFFSET_OBSERVER_MODE, 7); + } + else { + apex_mem.Read(LocalPlayer + OFFSET_OBSERVER_MODE, current_obid); + if (current_obid == 7) { + apex_mem.Write(LocalPlayer + OFFSET_OBSERVER_MODE, 0); + } } } + if (firing_range) { int c = 0; @@ -224,6 +242,20 @@ void DoActions() continue; } + float localyaw = LPlayer.GetYaw(); + float targetyaw = Target.GetYaw(); + if(!Target.isAlive() && localyaw == targetyaw){//if this player a spectator + Target.get_name(g_Base,i-1,&spectator_list[i].name[0]); + int xp; + apex_mem.Read(centity + OFFSET_XP, xp); + int xp_level = calc_level(xp); + spectator_list[i].xp_level = xp_level; + if(spectator_list[i].name[0]){ //detect if this player quit + spectator_list[i].is_spec = true; + }else{spectator_list[i].is_spec = false;} + }else{ + spectator_list[i].is_spec = false; + } ProcessPlayer(LPlayer, Target, entitylist, i); int entity_team = Target.getTeamId(); @@ -251,10 +283,11 @@ void DoActions() } } - if (!klock) + if (!klock){ aimentity = tmp_aimentity; - else + }else{ aimentity = lastaimentity; + } } } actions_t = false; @@ -362,6 +395,7 @@ static void EspLoop() int shield = Target.getShield(); int maxshield = Target.getMaxshield(); int armortype = Target.getArmortype(); + //xp int xp; apex_mem.Read(centity + OFFSET_XP, xp); int xp_level = calc_level(xp); @@ -386,7 +420,7 @@ static void EspLoop() Target.get_name(g_Base, i - 1, &players[c].name[0]); uint64_t model_ptr; apex_mem.Read(centity + OFFSET_MODELNAME, model_ptr); - apex_mem.ReadArray(model_ptr,&players[c].model_name[0], 32); + apex_mem.ReadArray(model_ptr,&players[c].model_name[0], 99); lastvis_esp[c] = Target.lastVisTime(); valid = true; @@ -411,6 +445,7 @@ static void EspLoop() } Entity Target = getEntity(centity); + Entity Lplayer = getEntity(LocalPlayer); if (!Target.isPlayer()) { @@ -456,6 +491,7 @@ static void EspLoop() int shield = Target.getShield(); int maxshield = Target.getMaxshield(); int armortype = Target.getArmortype(); + //xp int xp; apex_mem.Read(centity + OFFSET_XP, xp); @@ -482,7 +518,7 @@ static void EspLoop() Target.get_name(g_Base, i - 1, &players[i].name[0]); uint64_t model_ptr; apex_mem.Read(centity + OFFSET_MODELNAME, model_ptr); - apex_mem.ReadArray(model_ptr,&players[i].model_name[0], 32); + apex_mem.ReadArray(model_ptr,&players[i].model_name[0], 99); lastvis_esp[i] = Target.lastVisTime(); valid = true; @@ -524,7 +560,7 @@ static void AimbotLoop() apex_mem.Read(g_Base + OFFSET_LOCAL_ENT, LocalPlayer); if (LocalPlayer == 0) continue; Entity LPlayer = getEntity(LocalPlayer); - QAngle Angles = CalculateBestBoneAim(LPlayer, aimentity, max_fov); + QAngle Angles = CalculateBestBoneAim(LPlayer, aimentity, max_fov , rcs_pitch , rcs_yaw); if (Angles.x == 0 && Angles.y == 0) { klock = false; @@ -557,39 +593,44 @@ static void set_vars(uint64_t add_addr) client_mem.Read(add_addr + sizeof(uint64_t) * 5, next_addr); uint64_t player_addr = 0; client_mem.Read(add_addr + sizeof(uint64_t) * 6, player_addr); + uint64_t spec_list_addr = 0; + client_mem.Read(add_addr + sizeof(uint64_t) * 7, spec_list_addr); uint64_t valid_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 7, valid_addr); + client_mem.Read(add_addr + sizeof(uint64_t) * 8, valid_addr); uint64_t max_dist_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 8, max_dist_addr); + client_mem.Read(add_addr + sizeof(uint64_t) * 9, max_dist_addr); uint64_t item_glow_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 9, item_glow_addr); + client_mem.Read(add_addr + sizeof(uint64_t) * 10, item_glow_addr); uint64_t player_glow_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 10, player_glow_addr); + client_mem.Read(add_addr + sizeof(uint64_t) * 11, player_glow_addr); uint64_t aim_no_recoil_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 11, aim_no_recoil_addr); + client_mem.Read(add_addr + sizeof(uint64_t) * 12, aim_no_recoil_addr); uint64_t smooth_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 12, smooth_addr); + client_mem.Read(add_addr + sizeof(uint64_t) * 13, smooth_addr); uint64_t max_fov_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 13, max_fov_addr); + client_mem.Read(add_addr + sizeof(uint64_t) * 14, max_fov_addr); uint64_t bone_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 14, bone_addr); + client_mem.Read(add_addr + sizeof(uint64_t) * 15, bone_addr); uint64_t thirdperson_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 15, thirdperson_addr); + client_mem.Read(add_addr + sizeof(uint64_t) * 16, thirdperson_addr); uint64_t spectators_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 16, spectators_addr); + client_mem.Read(add_addr + sizeof(uint64_t) * 17, spectators_addr); uint64_t allied_spectators_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 17, allied_spectators_addr); + client_mem.Read(add_addr + sizeof(uint64_t) * 18, allied_spectators_addr); uint64_t chargerifle_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 18, chargerifle_addr); + client_mem.Read(add_addr + sizeof(uint64_t) * 19, chargerifle_addr); uint64_t shooting_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 19, shooting_addr); + client_mem.Read(add_addr + sizeof(uint64_t) * 20, shooting_addr); uint64_t freecam_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 20, freecam_addr); + client_mem.Read(add_addr + sizeof(uint64_t) * 21, freecam_addr); uint64_t lockall_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 21, lockall_addr); + client_mem.Read(add_addr + sizeof(uint64_t) * 22, lockall_addr); uint64_t firing_range_addr = 0; - client_mem.Read(add_addr + sizeof(uint64_t) * 22, firing_range_addr); - + client_mem.Read(add_addr + sizeof(uint64_t) * 23, firing_range_addr); + uint64_t rcs_p_addr = 0; + client_mem.Read(add_addr + sizeof(uint64_t) * 24, rcs_p_addr); + uint64_t rcs_y_addr = 0; + client_mem.Read(add_addr + sizeof(uint64_t) * 25, rcs_y_addr); uint32_t check = 0; client_mem.Read(check_addr, check); @@ -615,6 +656,7 @@ static void set_vars(uint64_t add_addr) client_mem.Write(g_Base_addr, g_Base); client_mem.Write(spectators_addr, spectators); client_mem.Write(allied_spectators_addr, allied_spectators); + client_mem.WriteArray(spec_list_addr, spectator_list , toRead); client_mem.Read(aim_addr, aim); client_mem.Read(esp_addr, esp); @@ -630,11 +672,14 @@ static void set_vars(uint64_t add_addr) client_mem.Read(freecam_addr, freecam); client_mem.Read(lockall_addr, lockall_enable); client_mem.Read(firing_range_addr, firing_range); + client_mem.Read(rcs_p_addr, rcs_pitch); + client_mem.Read(rcs_y_addr, rcs_yaw); if (esp && knext) { if (valid) - client_mem.WriteArray(player_addr, players, toRead); + client_mem.WriteArray(player_addr, players, toRead); + client_mem.Write(valid_addr, valid); client_mem.Write(next_addr, true); //next diff --git a/apex_dma/offsets.h b/apex_dma/offsets.h index 5d4ba93..cca50a1 100644 --- a/apex_dma/offsets.h +++ b/apex_dma/offsets.h @@ -1,4 +1,3 @@ -//game version: 3.0.51.45 / date:2023/11/21 #define OFFSET_ARMOR_TYPE 0x4634 //m_armorType #define OFFSET_MAXSHIELD 0x01a4 //m_shieldhealthmax #define OFFSET_MODELNAME 0x0030 //m_modelname diff --git a/apex_guest/Client/Client/imgui.ini b/apex_guest/Client/Client/imgui.ini new file mode 100644 index 0000000..bc58d4a --- /dev/null +++ b/apex_guest/Client/Client/imgui.ini @@ -0,0 +1,15 @@ +[Window][Debug##Default] +Pos=60,60 +Size=400,400 +Collapsed=0 + +[Window][##info] +Pos=0,0 +Size=210,25 +Collapsed=0 + +[Window][Sepectators] +Pos=60,60 +Size=84,1074 +Collapsed=0 + diff --git a/apex_guest/Client/Client/main.cpp b/apex_guest/Client/Client/main.cpp index 4a7e7ce..01a3d2c 100644 --- a/apex_guest/Client/Client/main.cpp +++ b/apex_guest/Client/Client/main.cpp @@ -1,226 +1,261 @@ #include "main.h" -typedef struct changeableplaceplayer +typedef struct placeholderplayer { - float changeableplacedist = 0; - int changeableplaceentity_team = 0; - float changeableplaceboxMiddle = 0; - float changeableplaceh_y = 0; - float changeableplacewidth = 0; - float changeableplaceheight = 0; - float changeableplaceb_x = 0; - float changeableplaceb_y = 0; - bool changeableplaceknocked = false; - bool changeableplacevisible = false; - int changeableplacehealth = 0; - int changeableplaceshield = 0; - int changeableplacexp_level = 0; - int changeableplacemaxshield = 0; - int changeableplacearmortype = 0; - char changeableplacename[33] = { 0 }; - char changeableplacemodel_name[33] = { 0 }; -}changeableplaceplayer; - -uint32_t changeableplacecheck = 0xABCD; -int changeableplaceaim_key = VK_XBUTTON2; -int changeableplaceaim_key2 = VK_XBUTTON1; - -int changeableplaceshoot_key = VK_LBUTTON; - -float changeableplacescale = 1.4f; -bool changeableplacefiring_range; -int changeableplaceoffset = 0; -bool changeableplaceuse_nvidia = false; -bool changeableplaceactive = true; -bool changeableplaceready = false; -extern changeableplacevisuals changeableplacev; -int changeableplaceaim = 2; //read - -float changeableplacexp_dist = 200.0f * 40.0f; -float changeableplacename_dist = 100.0f * 40.0f; -bool changeableplacefreecam = false;//read -bool changeableplacelockall_mode = false; //read - -bool changeableplaceesp = true; //read -bool changeableplaceitem_glow = false; -bool changeableplaceplayer_glow = false; -bool changeableplaceaim_no_recoil = true; -bool changeableplaceaiming = false; //read -uint64_t changeableplaceg_Base = 0; //write -float changeableplacemax_dist = 650.0f * 40.0f; //read -float changeableplaceseer_dist = 400.0 * 40.0f; -float changeableplacesmooth = 82.0f; -float changeableplacemax_fov = 12.0f; -int changeableplacebone = 3; -bool changeableplacethirdperson = false; -int changeableplacespectators = 0; //write -int changeableplaceallied_spectators = 0; //write -bool changeableplacechargerifle = false; -bool changeableplaceshooting = false; //read - - -int changeableplaceindex = 0; -bool changeableplacevalid = false; //write -bool changeableplacenext = false; //read write - -uint64_t changeableplaceadd[23]; - -bool changeableplacek_f5 = 0; -bool changeableplacek_f6 = 0; -bool changeableplacek_f8 = 0; + float placeholderdist = 0; + int placeholderentity_team = 0; + float placeholderboxMiddle = 0; + float placeholderh_y = 0; + float placeholderwidth = 0; + float placeholderheight = 0; + float placeholderb_x = 0; + float placeholderb_y = 0; + bool placeholderknocked = false; + bool placeholdervisible = false; + int placeholderhealth = 0; + int placeholdershield = 0; + int placeholderxp_level = 0; + int placeholdermaxshield = 0; + int placeholderarmortype = 0; + char placeholdername[33] = { 0 }; + char placeholdermodel_name[100] = { 0 }; +}placeholderplayer; + +typedef struct placeholderspectator { + bool is_placeholderspec = false; + int xp_placeholderlevel = 0; + char nplaceholderame[33] = { 0 }; +}placeholderspectator; + +uint32_t placeholdercheck = 0xABCD; +int placeholderaim_key = VK_XBUTTON2; +int placeholderaim_key2 = VK_XBUTTON1; + +int placeholdershoot_key = VK_LBUTTON; + +float placeholderrcs_pitch = 0.3f; +float placeholderrcs_yaw = 0.4f; + +float placeholderscale = 1.4f; +bool placeholderfiring_range; +int placeholderoffset = 0; +bool placeholderuse_nvidia = false; +bool placeholderactive = true; +bool placeholderready = false; +extern placeholdervisuals placeholderv; +int placeholderaim = 2; //read + +float placeholderxp_dist = 600.0f * 40.0f; +float placeholdername_dist = 100.0f * 40.0f; +bool placeholderfreecam = false;//read +bool placeholderlockall_mode = false; //read + +bool placeholderesp = true; //read +bool placeholderitem_glow = false; +bool placeholderplayer_glow = false; +bool placeholderaim_no_recoil = true; +bool placeholderaiming = false; //read +uint64_t placeholderg_Base = 0; //write +float placeholdermax_dist = 650.0f * 40.0f; //read +float placeholderseer_dist = 400.0 * 40.0f; +float placeholdersmooth = 82.0f; +float placeholdermax_fov = 12.0f; +int placeholderbone = 3; +bool placeholderthirdperson = false; +int placeholderspectators = 0; //write +int placeholderallied_spectators = 0; //write +bool placeholderchargerifle = false; +bool placeholdershooting = false; //read + +int placeholderindex = 0; +bool placeholdervalid = false; //write +bool placeholdernext = false; //read write + +uint64_t placeholderadd[26]; + bool IsKeyDown(int vk) { return (GetAsyncKeyState(vk) & 0x8000) != 0; } -changeableplaceplayer changeableplaceplayers[100]; -std::string changeableplaceprocess_model_name(char changeableplacemodel_name[]) { - if (strstr(changeableplacemodel_name, "dummie")) { +placeholderplayer placeholderplayers[100]; + +std::string placeholderprocess_model_name(char placeholdermodel_name[]) { + if (strstr(placeholdermodel_name, "dummie")) { return u8"人机"; } - else if (strstr(changeableplacemodel_name, "bangalore")) { + else if (strstr(placeholdermodel_name, "bangalore")) { return u8"班加罗尔"; } - else if (strstr(changeableplacemodel_name, "fuse")) { + else if (strstr(placeholdermodel_name, "fuse")) { return u8"暴雷"; } - else if (strstr(changeableplacemodel_name, "ash")) { + else if (strstr(placeholdermodel_name, "ash")) { return u8"艾许"; } - else if (strstr(changeableplacemodel_name, "madmaggie")) { + else if (strstr(placeholdermodel_name, "madmaggie")) { return u8"疯马吉"; } - else if (strstr(changeableplacemodel_name, "ballistic")) { + else if (strstr(placeholdermodel_name, "ballistic")) { return u8"弹道"; } - else if (strstr(changeableplacemodel_name, "pathfinder")) { + else if (strstr(placeholdermodel_name, "pathfinder")) { return u8"探路者"; } - else if (strstr(changeableplacemodel_name, "stim")) { + else if (strstr(placeholdermodel_name, "octane")) { + return u8"动力小子"; + } + else if (strstr(placeholdermodel_name, "stim")) { return u8"动力小子"; } - else if (strstr(changeableplacemodel_name, "revenant")) { + else if (strstr(placeholdermodel_name, "revenant")) { return u8"亡灵"; } - else if (strstr(changeableplacemodel_name, "nova")) { + else if (strstr(placeholdermodel_name, "nova")) { return u8"地平线"; } - else if (strstr(changeableplacemodel_name, "valkyrie")) { + else if (strstr(placeholdermodel_name, "horizon")) { + return u8"地平线"; + } + else if (strstr(placeholdermodel_name, "valkyrie")) { return u8"瓦尔基里"; } - else if (strstr(changeableplacemodel_name, "bloodhound")) { + else if (strstr(placeholdermodel_name, "bloodhound")) { return u8"寻血猎犬"; } - else if (strstr(changeableplacemodel_name, "crypto")) { + else if (strstr(placeholdermodel_name, "crypto")) { return u8"密客"; } - else if (strstr(changeableplacemodel_name, "seer")) { + else if (strstr(placeholdermodel_name, "seer")) { return u8"希尔"; } - else if (strstr(changeableplacemodel_name, "wraith")) { + else if (strstr(placeholdermodel_name, "wraith")) { return u8"恶灵"; } - else if (strstr(changeableplacemodel_name, "vantage")) { + else if (strstr(placeholdermodel_name, "vantage")) { return u8"万蒂奇"; } - else if (strstr(changeableplacemodel_name, "gibraltar")) { + else if (strstr(placeholdermodel_name, "gibraltar")) { return u8"直布罗陀"; } - else if (strstr(changeableplacemodel_name, "lifeline")) { + else if (strstr(placeholdermodel_name, "lifeline")) { return u8"命脉"; } - else if (strstr(changeableplacemodel_name, "loba")) { + else if (strstr(placeholdermodel_name, "loba")) { return u8"罗芭"; } - else if (strstr(changeableplacemodel_name, "holo")) { + else if (strstr(placeholdermodel_name, "holo")) { return u8"幻象"; } - else if (strstr(changeableplacemodel_name, "newcastle")) { + else if (strstr(placeholdermodel_name, "newcastle")) { return u8"纽卡斯尔"; } - else if (strstr(changeableplacemodel_name, "conduit")) { + else if (strstr(placeholdermodel_name, "conduit")) { return u8"导线管"; } - else if (strstr(changeableplacemodel_name, "caustic")) { + else if (strstr(placeholdermodel_name, "caustic")) { return u8"侵蚀"; } - else if (strstr(changeableplacemodel_name, "wattson")) { + else if (strstr(placeholdermodel_name, "wattson")) { return u8"沃特森"; } - else if (strstr(changeableplacemodel_name, "rampart")) { + else if (strstr(placeholdermodel_name, "rampart")) { return u8"兰伯特"; } - else if (strstr(changeableplacemodel_name, "catalyst")) { + else if (strstr(placeholdermodel_name, "catalyst")) { return u8"催化剂"; } - else return u8"读取出错"; + else return placeholdermodel_name; +} + +placeholderspectator placeholderspectator_list[100]; + +void Overlay::RenderplaceholderSpectator() { + int text_placeholderindex = 0; + + ImGui::SetNextWindowPos(ImVec2(0, 0)); + ImGui::SetNextWindowSize(ImVec2((float)getplaceholderWidth(), (float)getplaceholderHeight())); + ImGui::Begin(XorStr("##spectator_list"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoBringToFrontOnFocus); + + for (int i = 0; i < 61; i++) { + if (placeholderspectator_list[i].is_placeholderspec) { + Stringplaceholder(ImVec2(5, 60 + text_placeholderindex * 20), WHITE, std::to_string(text_placeholderindex + 1).c_str(), 16); + Stringplaceholder(ImVec2(25, 60 + text_placeholderindex * 20), WHITE, placeholderspectator_list[i].nplaceholderame , 16); + Stringplaceholder(ImVec2(sizeof(placeholderspectator_list[i].nplaceholderame)*5 + 25, 60 + text_placeholderindex * 20), WHITE, std::to_string(placeholderspectator_list[i].xp_placeholderlevel).c_str(), 16); + text_placeholderindex++; + } + } + ImGui::End(); + memset(placeholderspectator_list, 0, sizeof(placeholderspectator_list)); } -void Overlay::RenderchangeableplaceEsp() + +void Overlay::RenderplaceholderEsp() { - changeableplacenext = false; - if (changeableplaceg_Base != 0 && changeableplaceesp) + placeholdernext = false; + if (placeholderg_Base != 0 && placeholderesp) { - memset(changeableplaceplayers, 0, sizeof(changeableplaceplayers)); - while (!changeableplacenext && changeableplaceesp) + memset(placeholderplayers, 0, sizeof(placeholderplayers)); + + while (!placeholdernext && placeholderesp) { std::this_thread::sleep_for(std::chrono::milliseconds(1)); } - if (changeableplacenext && changeableplacevalid) + if (placeholdernext && placeholdervalid) { ImGui::SetNextWindowPos(ImVec2(0, 0)); - ImGui::SetNextWindowSize(ImVec2((float)getchangeableplaceWidth(), (float)getchangeableplaceHeight())); + ImGui::SetNextWindowSize(ImVec2((float)getplaceholderWidth(), (float)getplaceholderHeight())); ImGui::Begin(XorStr("##esp"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoBringToFrontOnFocus); for (int i = 0; i < 100; i++) { - if (changeableplaceplayers[i].changeableplacehealth > 0) + if (placeholderplayers[i].placeholderhealth > 0) { //xp+legend - std::string changeableplacexpstr = std::to_string(changeableplaceplayers[i].changeableplacexp_level); - changeableplacexpstr = u8"Level:" + changeableplacexpstr.substr(0, changeableplacexpstr.find('.')) + " Legend:" + changeableplaceprocess_model_name(changeableplaceplayers[i].changeableplacemodel_name); + std::string placeholderxpstr = std::to_string(placeholderplayers[i].placeholderxp_level); + placeholderxpstr = u8"Level:" + placeholderxpstr.substr(0, placeholderxpstr.find('.')) + " Legend:" + placeholderprocess_model_name(placeholderplayers[i].placeholdermodel_name); // placeholderprocess_model_name(placeholderplayers[i].placeholdermodel_name) //DISTENCE + teamnum - std::string changeableplacedistance = std::to_string(changeableplaceplayers[i].changeableplacedist / 39.62); - changeableplacedistance = changeableplacedistance.substr(0, changeableplacedistance.find('.')) + u8"M( No." + std::to_string(changeableplaceplayers[i].changeableplaceentity_team) + u8")"; + std::string placeholderdistance = std::to_string(placeholderplayers[i].placeholderdist / 39.62); + placeholderdistance = placeholderdistance.substr(0, placeholderdistance.find('.')) + u8"M( No." + std::to_string(placeholderplayers[i].placeholderentity_team) + u8")"; - if (changeableplacev.changeableplacebox) + if (placeholderv.placeholderbox) { - if (changeableplaceplayers[i].changeableplacevisible) + if (placeholderplayers[i].placeholdervisible) { - if (changeableplaceplayers[i].changeableplacedist < 1600.0f) - DrawchangeableplaceBox(RED, changeableplaceplayers[i].changeableplaceboxMiddle, changeableplaceplayers[i].changeableplaceh_y, changeableplaceplayers[i].changeableplacewidth, changeableplaceplayers[i].changeableplaceheight); //BOX + if (placeholderplayers[i].placeholderdist < 1600.0f) + DrawplaceholderBox(RED, placeholderplayers[i].placeholderboxMiddle, placeholderplayers[i].placeholderh_y, placeholderplayers[i].placeholderwidth, placeholderplayers[i].placeholderheight); //BOX else - DrawchangeableplaceBox(ORANGE, changeableplaceplayers[i].changeableplaceboxMiddle, changeableplaceplayers[i].changeableplaceh_y, changeableplaceplayers[i].changeableplacewidth, changeableplaceplayers[i].changeableplaceheight); //BOX + DrawplaceholderBox(ORANGE, placeholderplayers[i].placeholderboxMiddle, placeholderplayers[i].placeholderh_y, placeholderplayers[i].placeholderwidth, placeholderplayers[i].placeholderheight); //BOX } else { - DrawchangeableplaceBox(WHITE, changeableplaceplayers[i].changeableplaceboxMiddle, changeableplaceplayers[i].changeableplaceh_y, changeableplaceplayers[i].changeableplacewidth, changeableplaceplayers[i].changeableplaceheight); //white if player not visible + DrawplaceholderBox(WHITE, placeholderplayers[i].placeholderboxMiddle, placeholderplayers[i].placeholderh_y, placeholderplayers[i].placeholderwidth, placeholderplayers[i].placeholderheight); //white if player not visible } } - if (changeableplacev.changeableplaceline) - DrawchangeableplaceLine(ImVec2((float)(getchangeableplaceWidth() / 2), (float)getchangeableplaceHeight()), ImVec2(changeableplaceplayers[i].changeableplaceb_x, changeableplaceplayers[i].changeableplaceb_y), BLUE, 1); //LINE FROM MIDDLE SCREEN + if (placeholderv.placeholderline) + DrawplaceholderLine(ImVec2((float)(getplaceholderWidth() / 2), (float)getplaceholderHeight()), ImVec2(placeholderplayers[i].placeholderb_x, placeholderplayers[i].placeholderb_y), BLUE, 1); //LINE FROM MIDDLE SCREEN - if (changeableplacev.changeableplacedistance) + if (placeholderv.placeholderdistance) { - if (changeableplaceplayers[i].changeableplaceknocked) - Stringchangeableplace(ImVec2(changeableplaceplayers[i].changeableplaceboxMiddle, (changeableplaceplayers[i].changeableplaceb_y + 1)), RED, changeableplacedistance.c_str()); //DISTANCE + if (placeholderplayers[i].placeholderknocked) + Stringplaceholder(ImVec2(placeholderplayers[i].placeholderboxMiddle, (placeholderplayers[i].placeholderb_y + 1)), RED, placeholderdistance.c_str()); //DISTANCE else - Stringchangeableplace(ImVec2(changeableplaceplayers[i].changeableplaceboxMiddle, (changeableplaceplayers[i].changeableplaceb_y + 1)), WHITE, changeableplacedistance.c_str()); //DISTANCE + Stringplaceholder(ImVec2(placeholderplayers[i].placeholderboxMiddle, (placeholderplayers[i].placeholderb_y + 1)), WHITE, placeholderdistance.c_str()); //DISTANCE } //esp stuff of shield bar/ bar color - if (changeableplacev.changeableplacehealthbar && changeableplaceplayers[i].changeableplacedist <= changeableplaceseer_dist) - DrawchangeableplaceHealth((changeableplaceplayers[i].changeableplaceb_x - (changeableplaceplayers[i].changeableplacewidth / 2.0f) + 5), (changeableplaceplayers[i].changeableplaceb_y - changeableplaceplayers[i].changeableplaceheight - 10), changeableplaceplayers[i].changeableplaceshield, changeableplaceplayers[i].changeableplacemaxshield, changeableplaceplayers[i].changeableplacearmortype, changeableplaceplayers[i].changeableplacehealth); + if (placeholderv.placeholderhealthbar && placeholderplayers[i].placeholderdist <= placeholderseer_dist) + DrawplaceholderHealth((placeholderplayers[i].placeholderb_x - (placeholderplayers[i].placeholderwidth / 2.0f) + 5), (placeholderplayers[i].placeholderb_y - placeholderplayers[i].placeholderheight - 10), placeholderplayers[i].placeholdershield, placeholderplayers[i].placeholdermaxshield, placeholderplayers[i].placeholderarmortype, placeholderplayers[i].placeholderhealth); //name - if (changeableplacev.changeableplacename && changeableplaceplayers[i].changeableplacedist <= changeableplacename_dist) - Stringchangeableplace(ImVec2(changeableplaceplayers[i].changeableplaceboxMiddle, (changeableplaceplayers[i].changeableplaceb_y - changeableplaceplayers[i].changeableplaceheight - 15)), WHITE, changeableplaceplayers[i].changeableplacename); + if (placeholderv.placeholdername && placeholderplayers[i].placeholderdist <= placeholdername_dist) + Stringplaceholder(ImVec2(placeholderplayers[i].placeholderboxMiddle, (placeholderplayers[i].placeholderb_y - placeholderplayers[i].placeholderheight - 15)), WHITE, placeholderplayers[i].placeholdername); //xp and legend - if (changeableplacev.changeableplacerenderxp && changeableplaceplayers[i].changeableplacedist <= changeableplacexp_dist) { - Stringchangeableplace(ImVec2(changeableplaceplayers[i].changeableplaceboxMiddle - changeableplaceplayers[i].changeableplacewidth , (changeableplaceplayers[i].changeableplaceb_y - changeableplaceplayers[i].changeableplaceheight - 15)), GREEN , changeableplacexpstr.c_str()); + if (placeholderv.placeholderrenderxp && placeholderplayers[i].placeholderdist <= placeholderxp_dist) { + Stringplaceholder(ImVec2(placeholderplayers[i].placeholderboxMiddle - placeholderplayers[i].placeholderwidth , (placeholderplayers[i].placeholderb_y - placeholderplayers[i].placeholderheight - 15)), GREEN , placeholderxpstr.c_str()); } } } @@ -233,73 +268,76 @@ void Overlay::RenderchangeableplaceEsp() int main(int argc, char** argv) { //ShowWindow(GetForegroundWindow(), 0); // Hide the window - changeableplaceadd[0] = (uintptr_t)&changeableplacecheck; - changeableplaceadd[1] = (uintptr_t)&changeableplaceaim; - changeableplaceadd[2] = (uintptr_t)&changeableplaceesp; - changeableplaceadd[3] = (uintptr_t)&changeableplaceaiming; - changeableplaceadd[4] = (uintptr_t)&changeableplaceg_Base; - changeableplaceadd[5] = (uintptr_t)&changeableplacenext; - changeableplaceadd[6] = (uintptr_t)&changeableplaceplayers[0]; - changeableplaceadd[7] = (uintptr_t)&changeableplacevalid; - changeableplaceadd[8] = (uintptr_t)&changeableplacemax_dist; - changeableplaceadd[9] = (uintptr_t)&changeableplaceitem_glow; - changeableplaceadd[10] = (uintptr_t)&changeableplaceplayer_glow; - changeableplaceadd[11] = (uintptr_t)&changeableplaceaim_no_recoil; - changeableplaceadd[12] = (uintptr_t)&changeableplacesmooth; - changeableplaceadd[13] = (uintptr_t)&changeableplacemax_fov; - changeableplaceadd[14] = (uintptr_t)&changeableplacebone; - changeableplaceadd[15] = (uintptr_t)&changeableplacethirdperson; - changeableplaceadd[16] = (uintptr_t)&changeableplacespectators; - changeableplaceadd[17] = (uintptr_t)&changeableplaceallied_spectators; - changeableplaceadd[18] = (uintptr_t)&changeableplacechargerifle; - changeableplaceadd[19] = (uintptr_t)&changeableplaceshooting; - changeableplaceadd[20] = (uintptr_t)&changeableplacefreecam; - changeableplaceadd[21] = (uintptr_t)&changeableplacelockall_mode; - changeableplaceadd[22] = (uintptr_t)&changeableplacefiring_range; - - printf(XorStr("offset: 0x%I64x\n"), (uint64_t)&changeableplaceadd[0] - (uint64_t)GetModuleHandle(NULL)); - Overlay ov1changeableplace = Overlay(); - ov1changeableplace.Startchangeableplace(); + placeholderadd[0] = (uintptr_t)&placeholdercheck; + placeholderadd[1] = (uintptr_t)&placeholderaim; + placeholderadd[2] = (uintptr_t)&placeholderesp; + placeholderadd[3] = (uintptr_t)&placeholderaiming; + placeholderadd[4] = (uintptr_t)&placeholderg_Base; + placeholderadd[5] = (uintptr_t)&placeholdernext; + placeholderadd[6] = (uintptr_t)&placeholderplayers[0]; + placeholderadd[7] = (uintptr_t)&placeholderspectator_list[0]; + placeholderadd[8] = (uintptr_t)&placeholdervalid; + placeholderadd[9] = (uintptr_t)&placeholdermax_dist; + placeholderadd[10] = (uintptr_t)&placeholderitem_glow; + placeholderadd[11] = (uintptr_t)&placeholderplayer_glow; + placeholderadd[12] = (uintptr_t)&placeholderaim_no_recoil; + placeholderadd[13] = (uintptr_t)&placeholdersmooth; + placeholderadd[14] = (uintptr_t)&placeholdermax_fov; + placeholderadd[15] = (uintptr_t)&placeholderbone; + placeholderadd[16] = (uintptr_t)&placeholderthirdperson; + placeholderadd[17] = (uintptr_t)&placeholderspectators; + placeholderadd[18] = (uintptr_t)&placeholderallied_spectators; + placeholderadd[19] = (uintptr_t)&placeholderchargerifle; + placeholderadd[20] = (uintptr_t)&placeholdershooting; + placeholderadd[21] = (uintptr_t)&placeholderfreecam; + placeholderadd[22] = (uintptr_t)&placeholderlockall_mode; + placeholderadd[23] = (uintptr_t)&placeholderfiring_range; + placeholderadd[24] = (uintptr_t)&placeholderrcs_pitch; + placeholderadd[25] = (uintptr_t)&placeholderrcs_yaw; + + printf(XorStr("offset: 0x%I64x\n"), (uint64_t)&placeholderadd[0] - (uint64_t)GetModuleHandle(NULL)); + Overlay ov1placeholder = Overlay(); + ov1placeholder.Startplaceholder(); printf(XorStr("Waiting for host/apex...\n")); - while (changeableplacecheck == 0xABCD) + while (placeholdercheck == 0xABCD) { if (IsKeyDown(VK_F4)) { - changeableplaceactive = false; + placeholderactive = false; break; } std::this_thread::sleep_for(std::chrono::milliseconds(1)); } - if (changeableplaceactive) + if (placeholderactive) { - changeableplaceready = true; + placeholderready = true; printf(XorStr("Successful\n")); } - while (changeableplaceactive) + while (placeholderactive) { if (IsKeyDown(VK_F4)) { - changeableplaceactive = false; + placeholderactive = false; } std::this_thread::sleep_for(std::chrono::milliseconds(1)); - if (IsKeyDown(changeableplaceaim_key)) - changeableplaceaiming = true; + if (IsKeyDown(placeholderaim_key)) + placeholderaiming = true; else - changeableplaceaiming = false; - if (changeableplaceaim > 0) { - if (IsKeyDown(changeableplaceaim_key2)) { - changeableplaceaim = 1; + placeholderaiming = false; + if (placeholderaim > 0) { + if (IsKeyDown(placeholderaim_key2)) { + placeholderaim = 1; } else { - changeableplaceaim = 2; + placeholderaim = 2; } } } - changeableplaceready = false; - ov1changeableplace.Clearchangeableplace(); - if (!changeableplaceuse_nvidia) + placeholderready = false; + ov1placeholder.Clearplaceholder(); + if (!placeholderuse_nvidia) system(XorStr("taskkill /F /T /IM ov.exe")); //custom overlay processname return 0; } \ No newline at end of file diff --git a/apex_guest/Client/Client/overlay.cpp b/apex_guest/Client/Client/overlay.cpp index d05b0bf..5c90fe9 100644 --- a/apex_guest/Client/Client/overlay.cpp +++ b/apex_guest/Client/Client/overlay.cpp @@ -1,72 +1,73 @@ #include "overlay.h" -extern int changeableplaceaim; -extern bool changeableplaceesp; -extern bool changeableplaceaim_no_recoil; -extern bool changeableplaceready; -extern bool changeableplaceuse_nvidia; -extern float changeableplacemax_dist; -extern float changeableplaceseer_dist; -extern float changeableplacesmooth; -extern float changeableplacemax_fov; -extern float changeableplacexp_dist; -extern float changeableplacescale; -extern int changeableplacebone; -extern bool changeableplacethirdperson; -extern float changeableplacename_dist; -extern int changeableplacespectators; -extern int changeableplaceallied_spectators; -extern bool changeableplacechargerifle; -extern bool changeableplacefreecam; -extern bool changeableplacelockall_mode; -extern bool changeableplacedisplay_spec; -extern bool changeableplacefiring_range; -extern int changeableplaceindex; -int changeableplacewidth; -int changeableplaceheight; -bool changeableplacek_leftclick = false; -bool changeableplacek_ins = false; -bool changeableplaceshow_menu = false; -changeableplacevisuals changeableplacev; +extern int placeholderaim; +extern bool placeholderesp; +extern bool placeholderaim_no_recoil; +extern bool placeholderready; +extern bool placeholderuse_nvidia; +extern float placeholdermax_dist; +extern float placeholderseer_dist; +extern float placeholdersmooth; +extern float placeholdermax_fov; +extern float placeholderxp_dist; +extern float placeholderscale; +extern int placeholderbone; +extern bool placeholderthirdperson; +extern float placeholdername_dist; +extern int placeholderspectators; +extern int placeholderallied_spectators; +extern bool placeholderchargerifle; +extern bool placeholderfreecam; +extern bool placeholderlockall_mode; +extern bool placeholderfiring_range; +extern int placeholderindex; +extern float placeholderrcs_pitch; +extern float placeholderrcs_yaw; +int placeholderwidth; +int placeholderheight; +bool placeholderk_leftclick = false; +bool placeholderk_ins = false; +bool placeholdershow_menu = false; +placeholdervisuals placeholderv; extern bool IsKeyDown(int vk); -LONG changeableplacenv_default = WS_POPUP | WS_CLIPSIBLINGS; -LONG changeableplacenv_default_in_game = changeableplacenv_default | WS_DISABLED; -LONG changeableplacenv_edit = changeableplacenv_default_in_game | WS_VISIBLE; +LONG placeholdernv_default = WS_POPUP | WS_CLIPSIBLINGS; +LONG placeholdernv_default_in_game = placeholdernv_default | WS_DISABLED; +LONG placeholdernv_edit = placeholdernv_default_in_game | WS_VISIBLE; -LONG changeableplacenv_ex_default = WS_EX_TOOLWINDOW; -LONG changeableplacenv_ex_edit = changeableplacenv_ex_default | WS_EX_LAYERED | WS_EX_TRANSPARENT; -LONG changeableplacenv_ex_edit_menu = changeableplacenv_ex_default | WS_EX_TRANSPARENT; +LONG placeholdernv_ex_default = WS_EX_TOOLWINDOW; +LONG placeholdernv_ex_edit = placeholdernv_ex_default | WS_EX_LAYERED | WS_EX_TRANSPARENT; +LONG placeholdernv_ex_edit_menu = placeholdernv_ex_default | WS_EX_TRANSPARENT; -static DWORD WINAPI StaticMessageStart(void* changeableplaceParam) +static DWORD WINAPI StaticMessageStart(void* placeholderParam) { - Overlay* changeableplaceov = (Overlay*)changeableplaceParam; - changeableplaceov->CreatechangeableplaceOverlay(); + Overlay* placeholderov = (Overlay*)placeholderParam; + placeholderov->CreateplaceholderOverlay(); return 0; } -BOOL CALLBACK EnumWindowsCallback(HWND changeableplacehwnd, LPARAM lParam) +BOOL CALLBACK EnumWindowsCallback(HWND placeholderhwnd, LPARAM lParam) { - wchar_t classchangeableplaceName[255] = L""; - GetClassName(changeableplacehwnd, classchangeableplaceName, 255); - if (changeableplaceuse_nvidia) + wchar_t classplaceholderName[255] = L""; + GetClassName(placeholderhwnd, classplaceholderName, 255); + if (placeholderuse_nvidia) { - if (wcscmp(XorStrW(L"CEF-OSC-WIDGET"), classchangeableplaceName) == 0) //Nvidia overlay + if (wcscmp(XorStrW(L"CEF-OSC-WIDGET"), classplaceholderName) == 0) //Nvidia overlay { HWND* w = (HWND*)lParam; - if (GetWindowLong(changeableplacehwnd, GWL_STYLE) != changeableplacenv_default && GetWindowLong(changeableplacehwnd, GWL_STYLE) != changeableplacenv_default_in_game) + if (GetWindowLong(placeholderhwnd, GWL_STYLE) != placeholdernv_default && GetWindowLong(placeholderhwnd, GWL_STYLE) != placeholdernv_default_in_game) return TRUE; - *w = changeableplacehwnd; + *w = placeholderhwnd; return TRUE; } } else { - if (wcscmp(XorStrW(L"changeableplaceoverlay"), classchangeableplaceName) == 0) //Custom overlay + if (wcscmp(XorStrW(L"placeholderoverlay"), classplaceholderName) == 0) //Custom overlay { HWND* w = (HWND*)lParam; - *w = changeableplacehwnd; + *w = placeholderhwnd; return TRUE; } } @@ -85,29 +86,29 @@ void CleanupDeviceD3D(); void CreateRenderTarget(); void CleanupRenderTarget(); -void Overlay::RenderchangeableplaceMenu() +void Overlay::RenderplaceholderMenu() { - static bool changeableplaceaim_enable = false; - static bool changeableplacevis_check = false; - static bool changeableplacespec_disable = false; - static bool changeableplaceall_spec_disable = false; + static bool placeholderaim_enable = false; + static bool placeholdervis_check = false; + static bool placeholderspec_disable = false; + static bool placeholderall_spec_disable = false; - if (changeableplaceaim > 0) + if (placeholderaim > 0) { - changeableplaceaim_enable = true; - if (changeableplaceaim > 1) + placeholderaim_enable = true; + if (placeholderaim > 1) { - changeableplacevis_check = true; + placeholdervis_check = true; } else { - changeableplacevis_check = false; + placeholdervis_check = false; } } else { - changeableplaceaim_enable = false; - changeableplacevis_check = false; + placeholderaim_enable = false; + placeholdervis_check = false; } ImGui::SetNextWindowPos(ImVec2(0, 0)); ImGui::SetNextWindowSize(ImVec2(490, 275)); @@ -117,82 +118,88 @@ void Overlay::RenderchangeableplaceMenu() { if (ImGui::BeginTabItem(XorStr(u8"MainMenu"))) { - ImGui::Checkbox(XorStr(u8"ESP"), &changeableplaceesp); - ImGui::Checkbox(XorStr(u8"Aimbot"), &changeableplaceaim_enable); + ImGui::Checkbox(XorStr(u8"ESP"), &placeholderesp); + ImGui::Checkbox(XorStr(u8"Aimbot"), &placeholderaim_enable); - if (changeableplaceaim_enable) + if (placeholderaim_enable) { ImGui::SameLine(); - ImGui::Checkbox(XorStr(u8"Visible check"), &changeableplacevis_check); + ImGui::Checkbox(XorStr(u8"Visible check"), &placeholdervis_check); ImGui::SameLine(); - ImGui::Checkbox(XorStr(u8"No recoil"), &changeableplaceaim_no_recoil); - if (changeableplacevis_check) + ImGui::Checkbox(XorStr(u8"No recoil"), &placeholderaim_no_recoil); + if (placeholdervis_check) { - changeableplaceaim = 2; + placeholderaim = 2; } else { - changeableplaceaim = 1; + placeholderaim = 1; } } else { - changeableplaceaim = 0; + placeholderaim = 0; } - ImGui::Checkbox(XorStr(u8"freecamera"), &changeableplacefreecam); - ImGui::Checkbox(XorStr(u8"Lock on teammates"), &changeableplacelockall_mode); - ImGui::Checkbox(XorStr(u8"firing_range mode"), &changeableplacefiring_range);//changeableplacefiring_range - //ImGui::InputInt(XorStr("index"), &changeableplaceindex);//changeableplaceindex + ImGui::Checkbox(XorStr(u8"freecamera"), &placeholderfreecam); + ImGui::Checkbox(XorStr(u8"Lock on teammates"), &placeholderlockall_mode); + ImGui::Checkbox(XorStr(u8"firing_range mode"), &placeholderfiring_range);//placeholderfiring_range + //ImGui::InputInt(XorStr("index"), &placeholderindex);//placeholderindex ImGui::EndTabItem(); } if (ImGui::BeginTabItem(XorStr(u8"Aimbot"))) { ImGui::Text(XorStr(u8"Max distence:")); - ImGui::SliderFloat(XorStr("##1"), &changeableplacemax_dist, 100.0f * 40, 800.0f * 40, "%.2f"); + ImGui::SliderFloat(XorStr("##1"), &placeholdermax_dist, 100.0f * 40, 800.0f * 40, "%.2f"); ImGui::SameLine(); - ImGui::Text(u8"(%d M)", (int)(changeableplacemax_dist / 40)); - ImGui::Text(u8"real dist :%d M", (int)(changeableplacemax_dist / 40)); + ImGui::Text(u8"(%d M)", (int)(placeholdermax_dist / 40)); + ImGui::Text(u8"real dist :%d M", (int)(placeholdermax_dist / 40)); ImGui::Text(XorStr(u8"Smooth")); - ImGui::SliderFloat(XorStr("##2"), &changeableplacesmooth, 76.0f, 100.0f, "%.2f"); + ImGui::SliderFloat(XorStr("##2"), &placeholdersmooth, 76.0f, 100.0f, "%.2f"); ImGui::Text(XorStr(u8"FOV:")); - ImGui::SliderFloat(XorStr("##3"), &changeableplacemax_fov, 5.0f, 250.0f, "%.2f"); + ImGui::SliderFloat(XorStr("##3"), &placeholdermax_fov, 5.0f, 250.0f, "%.2f"); ImGui::Text(XorStr(u8"Bone:")); - ImGui::SliderInt(XorStr("##4"), &changeableplacebone, 0, 3); + ImGui::SliderInt(XorStr("##4"), &placeholderbone, 0, 3); + + ImGui::Text(XorStr(u8"RCS PITCH:")); + ImGui::SliderFloat(XorStr("##5"), &placeholderrcs_pitch, 0, 1); + + ImGui::Text(XorStr(u8"RCS YAW:")); + ImGui::SliderFloat(XorStr("##6"), &placeholderrcs_yaw, 0, 1); //ImGui::Text(XorStr(u8"FOV Draw scale:")); - //ImGui::SliderFloat(XorStr("##5"), &changeableplacescale, 0.0f, 140.0f, "%.2f"); + //ImGui::SliderFloat(XorStr("##5"), &placeholderscale, 0.0f, 140.0f, "%.2f"); ImGui::EndTabItem(); } if (ImGui::BeginTabItem(XorStr(u8"ESPHACK"))) { ImGui::Text(XorStr(u8"ESP")); //ImGui::Checkbox - ImGui::Checkbox(XorStr(u8"BOX"), &changeableplacev.changeableplacebox); + ImGui::Checkbox(XorStr(u8"BOX"), &placeholderv.placeholderbox); ImGui::SameLine(0, 70.0f); - ImGui::Checkbox(XorStr(u8"Name"), &changeableplacev.changeableplacename); - ImGui::Checkbox(XorStr(u8"xp level"), &changeableplacev.changeableplacerenderxp); - ImGui::Checkbox(XorStr(u8"line"), &changeableplacev.changeableplaceline); - ImGui::Checkbox(XorStr(u8"dist + teamID"), &changeableplacev.changeableplacedistance); - ImGui::Checkbox(XorStr(u8"seer esp"), &changeableplacev.changeableplacehealthbar); + ImGui::Checkbox(XorStr(u8"Name"), &placeholderv.placeholdername); + ImGui::Checkbox(XorStr(u8"xp level"), &placeholderv.placeholderrenderxp); + ImGui::Checkbox(XorStr(u8"line"), &placeholderv.placeholderline); + ImGui::Checkbox(XorStr(u8"dist + teamID"), &placeholderv.placeholderdistance); + ImGui::Checkbox(XorStr(u8"seer esp"), &placeholderv.placeholderhealthbar); ImGui::Text(XorStr(u8"seer esp distence:")); - ImGui::SliderFloat(XorStr("##1"), &changeableplaceseer_dist, 100.0f * 40, 800.0f * 40, "%.2f"); + ImGui::SliderFloat(XorStr("##1"), &placeholderseer_dist, 100.0f * 40, 800.0f * 40, "%.2f"); ImGui::SameLine(); - ImGui::Text(u8"(%d M)", (int)(changeableplaceseer_dist / 40)); + ImGui::Text(u8"(%d M)", (int)(placeholderseer_dist / 40)); ImGui::Text(XorStr(u8"XP level display distence:")); - ImGui::SliderFloat(XorStr("##2"), &changeableplacexp_dist, 100.0f * 40, 800.0f * 40, "%.2f"); + ImGui::SliderFloat(XorStr("##2"), &placeholderxp_dist, 100.0f * 40, 800.0f * 40, "%.2f"); ImGui::SameLine(); - ImGui::Text(u8"(%d M)", (int)(changeableplacexp_dist / 40)); + ImGui::Text(u8"(%d M)", (int)(placeholderxp_dist / 40)); ImGui::Text(XorStr(u8"name esp distence:")); - ImGui::SliderFloat(XorStr("##3"), &changeableplacename_dist, 100.0f * 40, 800.0f * 40, "%.2f"); + ImGui::SliderFloat(XorStr("##3"), &placeholdername_dist, 100.0f * 40, 800.0f * 40, "%.2f"); ImGui::SameLine(); - ImGui::Text(u8"(%d M)", (int)(changeableplacename_dist / 40)); + ImGui::Text(u8"(%d M)", (int)(placeholdername_dist / 40)); ImGui::EndTabItem(); } ImGui::EndTabBar(); @@ -200,44 +207,40 @@ void Overlay::RenderchangeableplaceMenu() ImGui::End(); } -void Overlay::RenderchangeableplaceInfo() +void Overlay::RenderplaceholderInfo() { - //ImGui::Begin("#FOVC'", nullptr, ImGuiWindowFlags_NoMove | ImGuiInputTextFlags_ReadOnly | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoScrollbar); - //auto draw = ImGui::GetBackgroundDrawList(); - //draw ->AddCircle(ImVec2(1920 / 2, 1080 / 2), changeableplacemax_fov * changeableplacescale ,IM_COL32(255, 0, 0, 255), 100, 0.0f); - //ImGui::End(); ImGui::SetNextWindowPos(ImVec2(0, 0)); ImGui::SetNextWindowSize(ImVec2(210, 25)); ImGui::Begin(XorStr("##info"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar); - ImGui::TextColored(RED, u8"Enemies %d", changeableplacespectators); + ImGui::TextColored(RED, u8"Enemies %d", placeholderspectators); ImGui::SameLine(); ImGui::Text(" / "); ImGui::SameLine(); - ImGui::TextColored(GREEN, u8"Team %d", changeableplaceallied_spectators); + ImGui::TextColored(GREEN, u8"Team %d", placeholderallied_spectators); ImGui::End(); } -void Overlay::ClickchangeableplaceThrough(bool changeableplacev) +void Overlay::ClickplaceholderThrough(bool placeholderv) { - if (changeableplacev) + if (placeholderv) { - changeableplacenv_edit = changeableplacenv_default_in_game | WS_VISIBLE; - if (GetWindowLong(overlaychangeableplaceHWND, GWL_EXSTYLE) != changeableplacenv_ex_edit) - SetWindowLong(overlaychangeableplaceHWND, GWL_EXSTYLE, changeableplacenv_ex_edit); + placeholdernv_edit = placeholdernv_default_in_game | WS_VISIBLE; + if (GetWindowLong(overlayplaceholderHWND, GWL_EXSTYLE) != placeholdernv_ex_edit) + SetWindowLong(overlayplaceholderHWND, GWL_EXSTYLE, placeholdernv_ex_edit); } else { - changeableplacenv_edit = changeableplacenv_default | WS_VISIBLE; - if (GetWindowLong(overlaychangeableplaceHWND, GWL_EXSTYLE) != changeableplacenv_ex_edit_menu) - SetWindowLong(overlaychangeableplaceHWND, GWL_EXSTYLE, changeableplacenv_ex_edit_menu); + placeholdernv_edit = placeholdernv_default | WS_VISIBLE; + if (GetWindowLong(overlayplaceholderHWND, GWL_EXSTYLE) != placeholdernv_ex_edit_menu) + SetWindowLong(overlayplaceholderHWND, GWL_EXSTYLE, placeholdernv_ex_edit_menu); } } -DWORD Overlay::CreatechangeableplaceOverlay() +DWORD Overlay::CreateplaceholderOverlay() { - EnumWindows(EnumWindowsCallback, (LPARAM)&overlaychangeableplaceHWND); + EnumWindows(EnumWindowsCallback, (LPARAM)&overlayplaceholderHWND); Sleep(300); - if (overlaychangeableplaceHWND == 0) + if (overlayplaceholderHWND == 0) { printf(XorStr("Can't find the overlay\n")); Sleep(1000); @@ -245,21 +248,21 @@ DWORD Overlay::CreatechangeableplaceOverlay() } HDC hDC = ::GetWindowDC(NULL); - changeableplacewidth = ::GetDeviceCaps(hDC, HORZRES); - changeableplaceheight = ::GetDeviceCaps(hDC, VERTRES); + placeholderwidth = ::GetDeviceCaps(hDC, HORZRES); + placeholderheight = ::GetDeviceCaps(hDC, VERTRES); - changeableplacerunning = true; + placeholderrunning = true; // Initialize Direct3D - if (!CreateDeviceD3D(overlaychangeableplaceHWND)) + if (!CreateDeviceD3D(overlayplaceholderHWND)) { CleanupDeviceD3D(); return 1; } // Show the window - ::ShowWindow(overlaychangeableplaceHWND, SW_SHOWDEFAULT); - ::UpdateWindow(overlaychangeableplaceHWND); + ::ShowWindow(overlayplaceholderHWND, SW_SHOWDEFAULT); + ::UpdateWindow(overlayplaceholderHWND); // Setup Dear ImGui context IMGUI_CHECKVERSION(); @@ -274,7 +277,7 @@ DWORD Overlay::CreatechangeableplaceOverlay() ImGui::GetStyle().WindowMinSize = ImVec2(1, 1); // Setup Platform/Renderer bindings - ImGui_ImplWin32_Init(overlaychangeableplaceHWND); + ImGui_ImplWin32_Init(overlayplaceholderHWND); ImGui_ImplDX11_Init(g_pd3dDevice, g_pd3dDeviceContext); ImVec4 clear_color = ImVec4(0.0f, 0.0f, 0.0f, 0.00f); @@ -282,14 +285,14 @@ DWORD Overlay::CreatechangeableplaceOverlay() // Main loop MSG msg; ZeroMemory(&msg, sizeof(msg)); - ClickchangeableplaceThrough(true); - while (changeableplacerunning) + ClickplaceholderThrough(true); + while (placeholderrunning) { HWND wnd = GetWindow(GetForegroundWindow(), GW_HWNDPREV); - if (wnd != overlaychangeableplaceHWND) + if (wnd != overlayplaceholderHWND) { - SetWindowPos(overlaychangeableplaceHWND, wnd, 0, 0, 0, 0, SWP_ASYNCWINDOWPOS | SWP_NOMOVE | SWP_NOSIZE); - ::UpdateWindow(overlaychangeableplaceHWND); + SetWindowPos(overlayplaceholderHWND, wnd, 0, 0, 0, 0, SWP_ASYNCWINDOWPOS | SWP_NOMOVE | SWP_NOSIZE); + ::UpdateWindow(overlayplaceholderHWND); } if (::PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE)) @@ -304,35 +307,36 @@ DWORD Overlay::CreatechangeableplaceOverlay() ImGui_ImplWin32_NewFrame(); ImGui::NewFrame(); - if (IsKeyDown(VK_LBUTTON) && !changeableplacek_leftclick) + if (IsKeyDown(VK_LBUTTON) && !placeholderk_leftclick) { io.MouseDown[0] = true; - changeableplacek_leftclick = true; + placeholderk_leftclick = true; } - else if (!IsKeyDown(VK_LBUTTON) && changeableplacek_leftclick) + else if (!IsKeyDown(VK_LBUTTON) && placeholderk_leftclick) { io.MouseDown[0] = false; - changeableplacek_leftclick = false; + placeholderk_leftclick = false; } - if (IsKeyDown(VK_INSERT) && !changeableplacek_ins && changeableplaceready) + if (IsKeyDown(VK_INSERT) && !placeholderk_ins && placeholderready) { - changeableplaceshow_menu = !changeableplaceshow_menu; - ClickchangeableplaceThrough(!changeableplaceshow_menu); - changeableplacek_ins = true; + placeholdershow_menu = !placeholdershow_menu; + ClickplaceholderThrough(!placeholdershow_menu); + placeholderk_ins = true; } - else if (!IsKeyDown(VK_INSERT) && changeableplacek_ins) + else if (!IsKeyDown(VK_INSERT) && placeholderk_ins) { - changeableplacek_ins = false; + placeholderk_ins = false; } - if (changeableplaceshow_menu) { - RenderchangeableplaceMenu(); + if (placeholdershow_menu) { + RenderplaceholderMenu(); } else { - RenderchangeableplaceInfo(); + RenderplaceholderInfo(); + RenderplaceholderSpectator(); } - RenderchangeableplaceEsp(); + RenderplaceholderEsp(); // Rendering ImGui::EndFrame(); @@ -346,33 +350,33 @@ DWORD Overlay::CreatechangeableplaceOverlay() std::this_thread::sleep_for(std::chrono::milliseconds(1)); } - ClickchangeableplaceThrough(true); + ClickplaceholderThrough(true); CleanupDeviceD3D(); - ::DestroyWindow(overlaychangeableplaceHWND); + ::DestroyWindow(overlayplaceholderHWND); return 0; } -void Overlay::Startchangeableplace() +void Overlay::Startplaceholder() { DWORD ThreadID; CreateThread(NULL, 0, StaticMessageStart, (void*)this, 0, &ThreadID); } -void Overlay::Clearchangeableplace() +void Overlay::Clearplaceholder() { - changeableplacerunning = 0; + placeholderrunning = 0; Sleep(50); } -int Overlay::getchangeableplaceWidth() +int Overlay::getplaceholderWidth() { - return changeableplacewidth; + return placeholderwidth; } -int Overlay::getchangeableplaceHeight() +int Overlay::getplaceholderHeight() { - return changeableplaceheight; + return placeholderheight; } // Helper functions @@ -431,37 +435,47 @@ void CleanupDeviceD3D() if (g_pd3dDevice) { g_pd3dDevice->Release(); g_pd3dDevice = NULL; } } -void Overlay::DrawchangeableplaceLine(ImVec2 a, ImVec2 b, ImColor color, float width) +void Overlay::DrawplaceholderLine(ImVec2 a, ImVec2 b, ImColor color, float width) { ImGui::GetWindowDrawList()->AddLine(a, b, color, width); } -void Overlay::DrawchangeableplaceBox(ImColor color, float x, float y, float w, float h) +void Overlay::DrawplaceholderBox(ImColor color, float x, float y, float w, float h) { - DrawchangeableplaceLine(ImVec2(x, y), ImVec2(x + w, y), color, 1.0f); - DrawchangeableplaceLine(ImVec2(x, y), ImVec2(x, y + h), color, 1.0f); - DrawchangeableplaceLine(ImVec2(x + w, y), ImVec2(x + w, y + h), color, 1.0f); - DrawchangeableplaceLine(ImVec2(x, y + h), ImVec2(x + w, y + h), color, 1.0f); + DrawplaceholderLine(ImVec2(x, y), ImVec2(x + w, y), color, 1.0f); + DrawplaceholderLine(ImVec2(x, y), ImVec2(x, y + h), color, 1.0f); + DrawplaceholderLine(ImVec2(x + w, y), ImVec2(x + w, y + h), color, 1.0f); + DrawplaceholderLine(ImVec2(x, y + h), ImVec2(x + w, y + h), color, 1.0f); } -void Overlay::changeableplaceText(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4 * cpu_fine_clip_rect) +void Overlay::placeholderText(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4 * cpu_fine_clip_rect) { ImGui::GetWindowDrawList()->AddText(ImGui::GetFont(), 14, pos, color, text_begin, text_end, wrap_width, cpu_fine_clip_rect); } -void Overlay::Stringchangeableplace(ImVec2 pos, ImColor color, const char* text) +void Overlay::placeholderText(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4* cpu_fine_clip_rect , int font) +{ + ImGui::GetWindowDrawList()->AddText(ImGui::GetFont(), font, pos, color, text_begin, text_end, wrap_width, cpu_fine_clip_rect); +} + +void Overlay::Stringplaceholder(ImVec2 pos, ImColor color, const char* text) +{ + placeholderText(pos, color, text, text + strlen(text), 200, 0); +} + +void Overlay::Stringplaceholder(ImVec2 pos, ImColor color, const char* text,int font) { - changeableplaceText(pos, color, text, text + strlen(text), 200, 0); + placeholderText(pos, color, text, text + strlen(text), 200, 0 , font); } -void Overlay::RectchangeableplaceFilled(float x0, float y0, float x1, float y1, ImColor color, float rounding, int rounding_corners_flags) +void Overlay::RectplaceholderFilled(float x0, float y0, float x1, float y1, ImColor color, float rounding, int rounding_corners_flags) { ImGui::GetWindowDrawList()->AddRectFilled(ImVec2(x0, y0), ImVec2(x1, y1), color, rounding, rounding_corners_flags); } -void Overlay::ProgresschangeableplaceBar(float x, float y, float w, float h, int value, int v_max, ImColor barColor) +void Overlay::ProgressplaceholderBar(float x, float y, float w, float h, int value, int v_max, ImColor barColor) { - RectchangeableplaceFilled(x, y, x + w, y + ((h / float(v_max)) * (float)value), barColor, 0.0f, 0); + RectplaceholderFilled(x, y, x + w, y + ((h / float(v_max)) * (float)value), barColor, 0.0f, 0); } @@ -478,36 +492,36 @@ void DrawHexagonFilled(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, con ImGui::GetWindowDrawList()->AddHexagonFilled(p1, p2, p3, p4, p5, p6, col); } -void Overlay::DrawchangeableplaceHealth(float changeableplacex, float changeableplacey, int changeableplaceshield, int changeableplacemax_shield, int changeableplacearmorType, int changeableplacehealth) { +void Overlay::DrawplaceholderHealth(float placeholderx, float placeholdery, int placeholdershield, int placeholdermax_shield, int placeholderarmorType, int placeholderhealth) { - int changeableplacebg_offset = 3; - int changeableplacebar_width = 105; //158 + int placeholderbg_offset = 3; + int placeholderbar_width = 105; //158 // 4steps...2*3=6 // 38*4=152 152+6 = 158 // 5steps...2*4=8 // 30*5=150 150+8 = 158 - float changeableplacemax_health = 100.0f;//100 - float changeableplaceshield_step = 25.0f; //25 + float placeholdermax_health = 100.0f;//100 + float placeholdershield_step = 25.0f; //25 - int changeableplaceshield_25 = 14; //30 - int changeableplacesteps = 5; + int placeholdershield_25 = 14; //30 + int placeholdersteps = 5; - ImVec2 bg1(changeableplacex - changeableplacebar_width / 2 - changeableplacebg_offset, changeableplacey); + ImVec2 bg1(placeholderx - placeholderbar_width / 2 - placeholderbg_offset, placeholdery); ImVec2 bg2(bg1.x - 10, bg1.y - 16); ImVec2 bg3(bg2.x + 5, bg2.y - 7); - ImVec2 bg4(bg3.x + changeableplacebar_width + changeableplacebg_offset, bg3.y); + ImVec2 bg4(bg3.x + placeholderbar_width + placeholderbg_offset, bg3.y); ImVec2 bg5(bg4.x + 11, bg4.y + 18); - ImVec2 bg6(changeableplacex + changeableplacebar_width / 2 + changeableplacebg_offset, changeableplacey); + ImVec2 bg6(placeholderx + placeholderbar_width / 2 + placeholderbg_offset, placeholdery); DrawHexagonFilled(bg1, bg2, bg3, bg4, bg5, bg6, ImColor(0, 0, 0, 120)); ImVec2 h1(bg1.x + 3, bg1.y - 4); ImVec2 h2(h1.x - 5, h1.y - 8); - ImVec2 h3(h2.x + (float)changeableplacehealth / changeableplacemax_health * changeableplacebar_width, h2.y); - ImVec2 h4(h1.x + (float)changeableplacehealth / changeableplacemax_health * changeableplacebar_width, h1.y); - ImVec2 h3m(h2.x + changeableplacebar_width, h2.y); - ImVec2 h4m(h1.x + changeableplacebar_width, h1.y); + ImVec2 h3(h2.x + (float)placeholderhealth / placeholdermax_health * placeholderbar_width, h2.y); + ImVec2 h4(h1.x + (float)placeholderhealth / placeholdermax_health * placeholderbar_width, h1.y); + ImVec2 h3m(h2.x + placeholderbar_width, h2.y); + ImVec2 h4m(h1.x + placeholderbar_width, h1.y); DrawQuadFilled(h1, h2, h3m, h4m, ImColor(10, 10, 30, 60)); DrawQuadFilled(h1, h2, h3, h4, WHITE); @@ -517,23 +531,23 @@ void Overlay::DrawchangeableplaceHealth(float changeableplacex, float changeable ImColor shieldCol; ImColor shieldColDark; //not used, but the real seer q has shadow inside - if (changeableplacemax_shield == 50) { //white + if (placeholdermax_shield == 50) { //white shieldCol = ImColor(247, 247, 247); shieldColDark = ImColor(164, 164, 164); } - else if (changeableplacemax_shield == 75) { //blue + else if (placeholdermax_shield == 75) { //blue shieldCol = ImColor(39, 178, 255); shieldColDark = ImColor(27, 120, 210); } - else if (changeableplacemax_shield == 100) { //purple + else if (placeholdermax_shield == 100) { //purple shieldCol = ImColor(206, 59, 255); shieldColDark = ImColor(136, 36, 220); } - else if (changeableplacemax_shield == 100) { //gold + else if (placeholdermax_shield == 100) { //gold shieldCol = ImColor(255, 255, 79); shieldColDark = ImColor(218, 175, 49); } - else if (changeableplacemax_shield == 125) { //red + else if (placeholdermax_shield == 125) { //red shieldCol = ImColor(219, 2, 2); shieldColDark = ImColor(219, 2, 2); } @@ -541,7 +555,7 @@ void Overlay::DrawchangeableplaceHealth(float changeableplacex, float changeable shieldCol = ImColor(247, 247, 247); shieldColDark = ImColor(164, 164, 164); } - int shield_tmp = changeableplaceshield; + int shield_tmp = placeholdershield; int shield1 = 0; int shield2 = 0; int shield3 = 0; @@ -578,185 +592,185 @@ void Overlay::DrawchangeableplaceHealth(float changeableplacex, float changeable } ImVec2 s1(h2.x - 1, h2.y - 2); ImVec2 s2(s1.x - 3, s1.y - 5); - ImVec2 s3(s2.x + shield1 / changeableplaceshield_step * changeableplaceshield_25, s2.y); - ImVec2 s4(s1.x + shield1 / changeableplaceshield_step * changeableplaceshield_25, s1.y); - ImVec2 s3m(s2.x + changeableplaceshield_25, s2.y); - ImVec2 s4m(s1.x + changeableplaceshield_25, s1.y); + ImVec2 s3(s2.x + shield1 / placeholdershield_step * placeholdershield_25, s2.y); + ImVec2 s4(s1.x + shield1 / placeholdershield_step * placeholdershield_25, s1.y); + ImVec2 s3m(s2.x + placeholdershield_25, s2.y); + ImVec2 s4m(s1.x + placeholdershield_25, s1.y); ImVec2 ss1(s4m.x + 2, s1.y); ImVec2 ss2(s3m.x + 2, s2.y); - ImVec2 ss3(ss2.x + shield2 / changeableplaceshield_step * changeableplaceshield_25, s2.y); - ImVec2 ss4(ss1.x + shield2 / changeableplaceshield_step * changeableplaceshield_25, s1.y); - ImVec2 ss3m(ss2.x + changeableplaceshield_25, s2.y); - ImVec2 ss4m(ss1.x + changeableplaceshield_25, s1.y); + ImVec2 ss3(ss2.x + shield2 / placeholdershield_step * placeholdershield_25, s2.y); + ImVec2 ss4(ss1.x + shield2 / placeholdershield_step * placeholdershield_25, s1.y); + ImVec2 ss3m(ss2.x + placeholdershield_25, s2.y); + ImVec2 ss4m(ss1.x + placeholdershield_25, s1.y); ImVec2 sss1(ss4m.x + 2, s1.y); ImVec2 sss2(ss3m.x + 2, s2.y); - ImVec2 sss3(sss2.x + shield3 / changeableplaceshield_step * changeableplaceshield_25, s2.y); - ImVec2 sss4(sss1.x + shield3 / changeableplaceshield_step * changeableplaceshield_25, s1.y); - ImVec2 sss3m(sss2.x + changeableplaceshield_25, s2.y); - ImVec2 sss4m(sss1.x + changeableplaceshield_25, s1.y); + ImVec2 sss3(sss2.x + shield3 / placeholdershield_step * placeholdershield_25, s2.y); + ImVec2 sss4(sss1.x + shield3 / placeholdershield_step * placeholdershield_25, s1.y); + ImVec2 sss3m(sss2.x + placeholdershield_25, s2.y); + ImVec2 sss4m(sss1.x + placeholdershield_25, s1.y); ImVec2 ssss1(sss4m.x + 2, s1.y); ImVec2 ssss2(sss3m.x + 2, s2.y); - ImVec2 ssss3(ssss2.x + shield4 / changeableplaceshield_step * changeableplaceshield_25, s2.y); - ImVec2 ssss4(ssss1.x + shield4 / changeableplaceshield_step * changeableplaceshield_25, s1.y); - ImVec2 ssss3m(ssss2.x + changeableplaceshield_25, s2.y); - ImVec2 ssss4m(ssss1.x + changeableplaceshield_25, s1.y); + ImVec2 ssss3(ssss2.x + shield4 / placeholdershield_step * placeholdershield_25, s2.y); + ImVec2 ssss4(ssss1.x + shield4 / placeholdershield_step * placeholdershield_25, s1.y); + ImVec2 ssss3m(ssss2.x + placeholdershield_25, s2.y); + ImVec2 ssss4m(ssss1.x + placeholdershield_25, s1.y); ImVec2 sssss1(ssss4m.x + 2, s1.y); ImVec2 sssss2(ssss3m.x + 2, s2.y); - ImVec2 sssss3(sssss2.x + shield5 / changeableplaceshield_step * changeableplaceshield_25, s2.y); - ImVec2 sssss4(sssss1.x + shield5 / changeableplaceshield_step * changeableplaceshield_25, s1.y); - ImVec2 sssss3m(sssss2.x + changeableplaceshield_25, s2.y); - ImVec2 sssss4m(sssss1.x + changeableplaceshield_25, s1.y); - if (changeableplacemax_shield == 50) { - if (changeableplaceshield <= 25) { - if (changeableplaceshield < 25) { + ImVec2 sssss3(sssss2.x + shield5 / placeholdershield_step * placeholdershield_25, s2.y); + ImVec2 sssss4(sssss1.x + shield5 / placeholdershield_step * placeholdershield_25, s1.y); + ImVec2 sssss3m(sssss2.x + placeholdershield_25, s2.y); + ImVec2 sssss4m(sssss1.x + placeholdershield_25, s1.y); + if (placeholdermax_shield == 50) { + if (placeholdershield <= 25) { + if (placeholdershield < 25) { DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked); DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); } - if (changeableplaceshield != 0) + if (placeholdershield != 0) DrawQuadFilled(s1, s2, s3, s4, shieldCol); } - else if (changeableplaceshield <= 50) { + else if (placeholdershield <= 50) { DrawQuadFilled(s1, s2, s3, s4, shieldCol); - if (changeableplaceshield != 50) { + if (placeholdershield != 50) { DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); } - if (changeableplaceshield != 0) + if (placeholdershield != 0) DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); } } - else if (changeableplacemax_shield == 75) { - if (changeableplaceshield <= 25) { - if (changeableplaceshield < 25) { + else if (placeholdermax_shield == 75) { + if (placeholdershield <= 25) { + if (placeholdershield < 25) { DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked); DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); } - if (changeableplaceshield != 0) + if (placeholdershield != 0) DrawQuadFilled(s1, s2, s3, s4, shieldCol); } - else if (changeableplaceshield <= 50) { + else if (placeholdershield <= 50) { DrawQuadFilled(s1, s2, s3, s4, shieldCol); - if (changeableplaceshield < 50) { + if (placeholdershield < 50) { DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); } - if (changeableplaceshield != 0) + if (placeholdershield != 0) DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); } - else if (changeableplaceshield <= 75) { + else if (placeholdershield <= 75) { DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); - if (changeableplaceshield < 75) { + if (placeholdershield < 75) { DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); } - if (changeableplaceshield != 0) + if (placeholdershield != 0) DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol); } } - else if (changeableplacemax_shield == 100) { - if (changeableplaceshield <= 25) { - if (changeableplaceshield < 25) { + else if (placeholdermax_shield == 100) { + if (placeholdershield <= 25) { + if (placeholdershield < 25) { DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked); DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); } - if (changeableplaceshield != 0) + if (placeholdershield != 0) DrawQuadFilled(s1, s2, s3, s4, shieldCol); } - else if (changeableplaceshield <= 50) { + else if (placeholdershield <= 50) { DrawQuadFilled(s1, s2, s3, s4, shieldCol); - if (changeableplaceshield < 50) { + if (placeholdershield < 50) { DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); } - if (changeableplaceshield != 0) + if (placeholdershield != 0) DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); } - else if (changeableplaceshield <= 75) { + else if (placeholdershield <= 75) { DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); - if (changeableplaceshield < 75) { + if (placeholdershield < 75) { DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); } - if (changeableplaceshield != 0) + if (placeholdershield != 0) DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol); } - else if (changeableplaceshield <= 100) { + else if (placeholdershield <= 100) { DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol); - if (changeableplaceshield < 100) { + if (placeholdershield < 100) { DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); } - if (changeableplaceshield != 0) + if (placeholdershield != 0) DrawQuadFilled(ssss1, ssss2, ssss3, ssss4, shieldCol); } } - else if (changeableplacemax_shield == 125) { - if (changeableplaceshield <= 25) { - if (changeableplaceshield < 25) { + else if (placeholdermax_shield == 125) { + if (placeholdershield <= 25) { + if (placeholdershield < 25) { DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked); DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked); } - if (changeableplaceshield != 0) + if (placeholdershield != 0) DrawQuadFilled(s1, s2, s3, s4, shieldCol); } - else if (changeableplaceshield <= 50) { + else if (placeholdershield <= 50) { DrawQuadFilled(s1, s2, s3, s4, shieldCol); - if (changeableplaceshield < 50) { + if (placeholdershield < 50) { DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked); } - if (changeableplaceshield != 0) + if (placeholdershield != 0) DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); } - else if (changeableplaceshield <= 75) { + else if (placeholdershield <= 75) { DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); - if (changeableplaceshield < 75) { + if (placeholdershield < 75) { DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked); } - if (changeableplaceshield != 0) + if (placeholdershield != 0) DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol); } - else if (changeableplaceshield <= 100) { + else if (placeholdershield <= 100) { DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol); - if (changeableplaceshield < 100) { + if (placeholdershield < 100) { DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked); } - if (changeableplaceshield != 0) + if (placeholdershield != 0) DrawQuadFilled(ssss1, ssss2, ssss3, ssss4, shieldCol); } - else if (changeableplaceshield <= 125) { + else if (placeholdershield <= 125) { DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol); DrawQuadFilled(ssss1, ssss2, ssss3, ssss4, shieldCol); - if (changeableplaceshield < 125) { + if (placeholdershield < 125) { DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked); } - if (changeableplaceshield != 0) + if (placeholdershield != 0) DrawQuadFilled(sssss1, sssss2, sssss3, sssss4, shieldCol); } } diff --git a/apex_guest/Client/Client/overlay.h b/apex_guest/Client/Client/overlay.h index 5194c88..34c009c 100644 --- a/apex_guest/Client/Client/overlay.h +++ b/apex_guest/Client/Client/overlay.h @@ -24,39 +24,42 @@ #define WHITE ImColor(255, 255, 255) #define PURPLE ImColor(255, 0 , 255) -typedef struct changeableplacevisuals +typedef struct placeholdervisuals { - bool changeableplacebox = true; - bool changeableplaceline = true; - bool changeableplacedistance = true; - bool changeableplacehealthbar = true; - bool changeableplaceshieldbar = true; - bool changeableplacename = true; - bool changeableplacerenderxp = true; -}changeableplacevisuals; + bool placeholderbox = true; + bool placeholderline = true; + bool placeholderdistance = true; + bool placeholderhealthbar = true; + bool placeholdershieldbar = true; + bool placeholdername = true; + bool placeholderrenderxp = true; +}placeholdervisuals; class Overlay { public: - void Startchangeableplace(); - DWORD CreatechangeableplaceOverlay(); - void Clearchangeableplace(); - int getchangeableplaceWidth(); - int getchangeableplaceHeight(); - void RenderchangeableplaceInfo(); - void RenderchangeableplaceMenu(); - void RenderchangeableplaceEsp(); - void ClickchangeableplaceThrough(bool v); - void DrawchangeableplaceLine(ImVec2 a, ImVec2 b, ImColor color, float width); - void DrawchangeableplaceBox(ImColor color, float x, float y, float w, float h); - void changeableplaceText(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4 * cpu_fine_clip_rect); - void RectchangeableplaceFilled(float x0, float y0, float x1, float y1, ImColor color, float rounding, int rounding_corners_flags); - void ProgresschangeableplaceBar(float x, float y, float w, float h, int value, int v_max, ImColor barColor); - void Stringchangeableplace(ImVec2 pos, ImColor color, const char* text); + void Startplaceholder(); + DWORD CreateplaceholderOverlay(); + void Clearplaceholder(); + int getplaceholderWidth(); + int getplaceholderHeight(); + void RenderplaceholderInfo(); + void RenderplaceholderMenu(); + void RenderplaceholderEsp(); + void RenderplaceholderSpectator(); + void ClickplaceholderThrough(bool v); + void DrawplaceholderLine(ImVec2 a, ImVec2 b, ImColor color, float width); + void DrawplaceholderBox(ImColor color, float x, float y, float w, float h); + void placeholderText(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4 * cpu_fine_clip_rect); + void placeholderText(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4* cpu_fine_clip_rect,int font); + void RectplaceholderFilled(float x0, float y0, float x1, float y1, ImColor color, float rounding, int rounding_corners_flags); + void ProgressplaceholderBar(float x, float y, float w, float h, int value, int v_max, ImColor barColor); + void Stringplaceholder(ImVec2 pos, ImColor color, const char* text); + void Stringplaceholder(ImVec2 pos, ImColor color, const char* text, int font); //Seer - void DrawchangeableplaceHealth(float changeableplacex, float changeableplacey, int changeableplaceshield, int changeableplacemax_shield, int changeableplacearmorType, int changeableplacehealth); + void DrawplaceholderHealth(float placeholderx, float placeholdery, int placeholdershield, int placeholdermax_shield, int placeholderarmorType, int placeholderhealth); private: - bool changeableplacerunning; - HWND overlaychangeableplaceHWND; + bool placeholderrunning; + HWND overlayplaceholderHWND; }; \ No newline at end of file diff --git a/apex_guest/Overlay/Overlay/main.cpp b/apex_guest/Overlay/Overlay/main.cpp index 5c97d6d..61a7d28 100644 --- a/apex_guest/Overlay/Overlay/main.cpp +++ b/apex_guest/Overlay/Overlay/main.cpp @@ -5,12 +5,12 @@ #define WDA_EXCLUDEFROMCAPTURE 0x00000011 const MARGINS margins = { -1 ,-1, -1, -1 }; -const wchar_t g_szClassName[] = L"changeableplaceoverlay"; +const wchar_t g_szClassName[] = L"placeholderoverlay"; int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASSEX wc; - HWND changeableplacehwnd; + HWND placeholderhwnd; MSG Msg; wc.cbSize = sizeof(WNDCLASSEX); @@ -28,7 +28,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine RegisterClassEx(&wc); - changeableplacehwnd = CreateWindowEx( + placeholderhwnd = CreateWindowEx( WS_EX_LAYERED | WS_EX_TRANSPARENT, g_szClassName, g_szClassName, @@ -36,9 +36,9 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine 0, 0, 1920, 1080, NULL, NULL, hInstance, NULL); - SetLayeredWindowAttributes(changeableplacehwnd, RGB(0, 0, 0), 175, LWA_ALPHA); - SetWindowDisplayAffinity(changeableplacehwnd, WDA_EXCLUDEFROMCAPTURE); - DwmExtendFrameIntoClientArea(changeableplacehwnd, &margins); + SetLayeredWindowAttributes(placeholderhwnd, RGB(0, 0, 0), 175, LWA_ALPHA); + SetWindowDisplayAffinity(placeholderhwnd, WDA_EXCLUDEFROMCAPTURE); + DwmExtendFrameIntoClientArea(placeholderhwnd, &margins); while (GetMessage(&Msg, NULL, 0, 0) > 0) {