version 1.2

pull/35/head
AtomBottle
parent 10eb5c40e4
commit 62b6433d50

@ -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

@ -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);

@ -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);

@ -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<int>(LocalPlayer + OFFSET_OBSERVER_MODE, 7);
}
else {
apex_mem.Read<int>(LocalPlayer + OFFSET_OBSERVER_MODE, current_obid);
if (current_obid == 7) {
apex_mem.Write<int>(LocalPlayer + OFFSET_OBSERVER_MODE, 0);
if(LPlayer.isAlive()){
if (freecam) {
apex_mem.Write<int>(LocalPlayer + OFFSET_OBSERVER_MODE, 7);
}
else {
apex_mem.Read<int>(LocalPlayer + OFFSET_OBSERVER_MODE, current_obid);
if (current_obid == 7) {
apex_mem.Write<int>(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<int>(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<int>(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<int>(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<uint64_t>(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<uint64_t>(add_addr + sizeof(uint64_t) * 5, next_addr);
uint64_t player_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 6, player_addr);
uint64_t spec_list_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 7, spec_list_addr);
uint64_t valid_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 7, valid_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 8, valid_addr);
uint64_t max_dist_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 8, max_dist_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 9, max_dist_addr);
uint64_t item_glow_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 9, item_glow_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 10, item_glow_addr);
uint64_t player_glow_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 10, player_glow_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 11, player_glow_addr);
uint64_t aim_no_recoil_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 11, aim_no_recoil_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 12, aim_no_recoil_addr);
uint64_t smooth_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 12, smooth_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 13, smooth_addr);
uint64_t max_fov_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 13, max_fov_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 14, max_fov_addr);
uint64_t bone_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 14, bone_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 15, bone_addr);
uint64_t thirdperson_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 15, thirdperson_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 16, thirdperson_addr);
uint64_t spectators_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 16, spectators_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 17, spectators_addr);
uint64_t allied_spectators_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 17, allied_spectators_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 18, allied_spectators_addr);
uint64_t chargerifle_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 18, chargerifle_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 19, chargerifle_addr);
uint64_t shooting_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 19, shooting_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 20, shooting_addr);
uint64_t freecam_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 20, freecam_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 21, freecam_addr);
uint64_t lockall_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 21, lockall_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 22, lockall_addr);
uint64_t firing_range_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 22, firing_range_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 23, firing_range_addr);
uint64_t rcs_p_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 24, rcs_p_addr);
uint64_t rcs_y_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 25, rcs_y_addr);
uint32_t check = 0;
client_mem.Read<uint32_t>(check_addr, check);
@ -615,6 +656,7 @@ static void set_vars(uint64_t add_addr)
client_mem.Write<uint64_t>(g_Base_addr, g_Base);
client_mem.Write<int>(spectators_addr, spectators);
client_mem.Write<int>(allied_spectators_addr, allied_spectators);
client_mem.WriteArray<spectator>(spec_list_addr, spectator_list , toRead);
client_mem.Read<int>(aim_addr, aim);
client_mem.Read<bool>(esp_addr, esp);
@ -630,11 +672,14 @@ static void set_vars(uint64_t add_addr)
client_mem.Read<bool>(freecam_addr, freecam);
client_mem.Read<bool>(lockall_addr, lockall_enable);
client_mem.Read<bool>(firing_range_addr, firing_range);
client_mem.Read<float>(rcs_p_addr, rcs_pitch);
client_mem.Read<float>(rcs_y_addr, rcs_yaw);
if (esp && knext)
{
if (valid)
client_mem.WriteArray<player>(player_addr, players, toRead);
client_mem.WriteArray<player>(player_addr, players, toRead);
client_mem.Write<bool>(valid_addr, valid);
client_mem.Write<bool>(next_addr, true); //next

@ -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

@ -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

@ -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;
}

@ -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);
}
}

@ -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;
};

@ -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)
{

Loading…
Cancel
Save