“v2.0”

pull/35/head
AtomBottle 1 year ago
parent dc77ffedc6
commit 052e916ad3

@ -10,95 +10,95 @@ using json = nlohmann::json;
#define CA_CERT_FILE "./ca-bundle.crt" #define CA_CERT_FILE "./ca-bundle.crt"
typedef struct E01C6Dplayer typedef struct player
{ {
float E01C6Ddist = 0; float dist = 0;
int E01C6Dentity_team = 0; int entity_team = 0;
float E01C6DboxMiddle = 0; float boxMiddle = 0;
float E01C6Dh_y = 0; float h_y = 0;
float E01C6Dwidth = 0; float width = 0;
float E01C6Dheight = 0; float height = 0;
float E01C6Db_x = 0; float b_x = 0;
float E01C6Db_y = 0; float b_y = 0;
bool E01C6Dknocked = false; bool knocked = false;
bool E01C6Dvisible = false; bool visible = false;
int E01C6Dhealth = 0; int health = 0;
int E01C6Dshield = 0; int shield = 0;
int E01C6Dxp_level = 0; int xp_level = 0;
int E01C6Dmaxshield = 0; int maxshield = 0;
int E01C6Darmortype = 0; int armortype = 0;
char E01C6Dname[33] = { 0 }; char name[33] = { 0 };
char E01C6Dmodel_name[100] = { 0 }; char model_name[100] = { 0 };
}E01C6Dplayer; }player;
typedef struct E01C6Dspectator { typedef struct spectator {
bool is_E01C6Dspec = false; bool is_spec = false;
int xp_E01C6Dlevel = 0; int xp_level = 0;
int E01C6Dpro_level = 0; int pro_level = 0;
char nE01C6Dame[33] = { 0 }; char name[33] = { 0 };
}E01C6Dspectator; }spectator;
typedef struct E01C6Dplayer_list { typedef struct player_list {
uint64_t userE01C6DID = 0; uint64_t userID = 0;
char nE01C6Dame[33] = { 0 }; char name[33] = { 0 };
}E01C6Dplayer_list; }player_list;
//rank info list //rank info list
typedef struct rE01C6DList { typedef struct rList {
uint64_t RankE01C6DPos = 0; uint64_t RankPos = 0;
uint64_t E01C6Duid = 0; uint64_t uid = 0;
int RankE01C6DDiv = 0; int RankDiv = 0;
std::string raE01C6nk[33]; std::string raE01C6nk[33];
}rE01C6DList; }rList;
uint32_t E01C6Dcheck = 0xABCD; uint32_t check = 0xABCD;
int E01C6Daim_key = VK_XBUTTON2; int aim_key = VK_XBUTTON2;
int E01C6Daim_key2 = VK_XBUTTON1; int aim_key2 = VK_XBUTTON1;
int E01C6Dshoot_key = VK_LBUTTON; int shoot_key = VK_LBUTTON;
float E01C6Drcs_pitch = 0.3f; float rcs_pitch = 0.3f;
float E01C6Drcs_yaw = 0.4f; float rcs_yaw = 0.4f;
float E01C6Dscale = 1.4f; float scale = 1.4f;
bool E01C6Dfiring_range; bool firing_range;
int E01C6Doffset = 0; int offset = 0;
bool E01C6Duse_nvidia = false; bool use_nvidia = false;
bool E01C6Dactive = true; bool active = true;
bool E01C6Dready = false; bool ready = false;
bool E01C6Dstart_rank_process = false; bool start_rank_process = false;
bool E01C6Drender_plist = false; bool render_plist = false;
extern E01C6Dvisuals E01C6Dv; extern visuals v;
int E01C6Daim = 2; //read int aim = 2; //read
float E01C6Dxp_dist = 600.0f * 40.0f; float xp_dist = 600.0f * 40.0f;
bool E01C6Dfreecam = false;//read bool freecam = false;//read
bool E01C6Dlockall_mode = false; //read bool lockall_mode = false; //read
bool E01C6Desp = true; //read bool esp = true; //read
bool E01C6Ditem_glow = false; bool item_glow = false;
bool E01C6Dplayer_glow = false; bool player_glow = false;
bool E01C6Daim_no_recoil = true; bool aim_no_recoil = true;
bool E01C6Daiming = false; //read bool aiming = false; //read
uint64_t E01C6Dg_Base = 0; //write uint64_t g_Base = 0; //write
float E01C6Dmax_dist = 650.0f * 40.0f; //read float max_dist = 650.0f * 40.0f; //read
float E01C6Dseer_dist = 400.0 * 40.0f; float seer_dist = 400.0 * 40.0f;
float E01C6Dsmooth = 82.0f; float smooth = 82.0f;
float E01C6Dmax_fov = 12.0f; float max_fov = 12.0f;
int E01C6Dbone = 3; int bone = 3;
bool E01C6Dthirdperson = false; bool thirdperson = false;
int E01C6Dspectators = 0; //write int spectators = 0; //write
int E01C6Dallied_spectators = 0; //write int allied_spectators = 0; //write
bool E01C6Dchargerifle = false; bool chargerifle = false;
bool E01C6Dshooting = false; //read bool shooting = false; //read
int E01C6Dindex = 0; int index = 0;
bool E01C6Dvalid = false; //write bool valid = false; //write
bool E01C6Dnext = false; //read write bool next = false; //read write
bool E01C6Drefresh = false; //write bool refresh = false; //write
uint64_t E01C6Dadd[28]; uint64_t add[28];
bool IsKeyDown(int vk) bool IsKeyDown(int vk)
@ -106,139 +106,139 @@ bool IsKeyDown(int vk)
return (GetAsyncKeyState(vk) & 0x8000) != 0; return (GetAsyncKeyState(vk) & 0x8000) != 0;
} }
E01C6Dplayer E01C6Dplayers[100]; player players[100];
std::string E01C6Dprocess_model_name(char E01C6Dmodel_name[]) { std::string process_model_name(char model_name[]) {
if (strstr(E01C6Dmodel_name, "dummie")) { if (strstr(model_name, "dummie")) {
return u8"人机"; return u8"人机";
} }
else if (strstr(E01C6Dmodel_name, "bangalore")) { else if (strstr(model_name, "bangalore")) {
return u8"班加罗尔"; return u8"班加罗尔";
} }
else if (strstr(E01C6Dmodel_name, "fuse")) { else if (strstr(model_name, "fuse")) {
return u8"暴雷"; return u8"暴雷";
} }
else if (strstr(E01C6Dmodel_name, "ash")) { else if (strstr(model_name, "ash")) {
return u8"艾许"; return u8"艾许";
} }
else if (strstr(E01C6Dmodel_name, "madmaggie")) { else if (strstr(model_name, "madmaggie")) {
return u8"疯马吉"; return u8"疯马吉";
} }
else if (strstr(E01C6Dmodel_name, "ballistic")) { else if (strstr(model_name, "ballistic")) {
return u8"弹道"; return u8"弹道";
} }
else if (strstr(E01C6Dmodel_name, "pathfinder")) { else if (strstr(model_name, "pathfinder")) {
return u8"探路者"; return u8"探路者";
} }
else if (strstr(E01C6Dmodel_name, "octane")) { else if (strstr(model_name, "octane")) {
return u8"动力小子"; return u8"动力小子";
} }
else if (strstr(E01C6Dmodel_name, "stim")) { else if (strstr(model_name, "stim")) {
return u8"动力小子"; return u8"动力小子";
} }
else if (strstr(E01C6Dmodel_name, "revenant")) { else if (strstr(model_name, "revenant")) {
return u8"亡灵"; return u8"亡灵";
} }
else if (strstr(E01C6Dmodel_name, "nova")) { else if (strstr(model_name, "nova")) {
return u8"地平线"; return u8"地平线";
} }
else if (strstr(E01C6Dmodel_name, "horizon")) { else if (strstr(model_name, "horizon")) {
return u8"地平线"; return u8"地平线";
} }
else if (strstr(E01C6Dmodel_name, "valkyrie")) { else if (strstr(model_name, "valkyrie")) {
return u8"瓦尔基里"; return u8"瓦尔基里";
} }
else if (strstr(E01C6Dmodel_name, "bloodhound")) { else if (strstr(model_name, "bloodhound")) {
return u8"寻血猎犬"; return u8"寻血猎犬";
} }
else if (strstr(E01C6Dmodel_name, "crypto")) { else if (strstr(model_name, "crypto")) {
return u8"密客"; return u8"密客";
} }
else if (strstr(E01C6Dmodel_name, "seer")) { else if (strstr(model_name, "seer")) {
return u8"希尔"; return u8"希尔";
} }
else if (strstr(E01C6Dmodel_name, "wraith")) { else if (strstr(model_name, "wraith")) {
return u8"恶灵"; return u8"恶灵";
} }
else if (strstr(E01C6Dmodel_name, "vantage")) { else if (strstr(model_name, "vantage")) {
return u8"万蒂奇"; return u8"万蒂奇";
} }
else if (strstr(E01C6Dmodel_name, "gibraltar")) { else if (strstr(model_name, "gibraltar")) {
return u8"直布罗陀"; return u8"直布罗陀";
} }
else if (strstr(E01C6Dmodel_name, "lifeline")) { else if (strstr(model_name, "lifeline")) {
return u8"命脉"; return u8"命脉";
} }
else if (strstr(E01C6Dmodel_name, "loba")) { else if (strstr(model_name, "loba")) {
return u8"罗芭"; return u8"罗芭";
} }
else if (strstr(E01C6Dmodel_name, "holo")) { else if (strstr(model_name, "holo")) {
return u8"幻象"; return u8"幻象";
} }
else if (strstr(E01C6Dmodel_name, "mirage")) { else if (strstr(model_name, "mirage")) {
return u8"幻象"; return u8"幻象";
} }
else if (strstr(E01C6Dmodel_name, "newcastle")) { else if (strstr(model_name, "newcastle")) {
return u8"纽卡斯尔"; return u8"纽卡斯尔";
} }
else if (strstr(E01C6Dmodel_name, "conduit")) { else if (strstr(model_name, "conduit")) {
return u8"导线管"; return u8"导线管";
} }
else if (strstr(E01C6Dmodel_name, "caustic")) { else if (strstr(model_name, "caustic")) {
return u8"侵蚀"; return u8"侵蚀";
} }
else if (strstr(E01C6Dmodel_name, "wattson")) { else if (strstr(model_name, "wattson")) {
return u8"沃特森"; return u8"沃特森";
} }
else if (strstr(E01C6Dmodel_name, "rampart")) { else if (strstr(model_name, "rampart")) {
return u8"兰伯特"; return u8"兰伯特";
} }
else if (strstr(E01C6Dmodel_name, "catalyst")) { else if (strstr(model_name, "catalyst")) {
return u8"催化剂"; return u8"催化剂";
} }
else return E01C6Dmodel_name; else return model_name;
} }
E01C6Dspectator E01C6Dspectator_list[100]; spectator spectator_list[100];
E01C6Dplayer_list PE01C6Dlist[100]; player_list Plist[100];
rE01C6DList player_rankE01C6DList[100]; rList player_rankList[100];
void DownloadE01C6D_rank(uint64_t urE01C6Did , int i){ void Download_rank(uint64_t urid , int i){
httplib::SSLClient cli("api.mozambiquehe.re", 443); httplib::SSLClient cli("api.mozambiquehe.re", 443);
cli.set_ca_cert_path(CA_CERT_FILE); cli.set_ca_cert_path(CA_CERT_FILE);
cli.enable_server_certificate_verification(true); cli.enable_server_certificate_verification(true);
std::string url = "/bridge?auth=YOUR_API_KEY&uid=" + std::to_string(urE01C6Did) + "&platform=PC"; std::string url = "/bridge?auth=YOUR_API_KEY&uid=" + std::to_string(urid) + "&platform=PC";
if (urE01C6Did != NULL) { if (urid != NULL) {
if (auto res = cli.Get(url)) { if (auto res = cli.Get(url)) {
std::string boE01C6Ddy = res->body; std::string body = res->body;
//std::cout << body; //std::cout << body;
json E01C6Dj = json::parse(boE01C6Ddy); json j = json::parse(body);
if (res->status == 200) { if (res->status == 200) {
std::cout << "\033[32m[OK] \033[0m UID:" << urE01C6Did << res->status << std::endl; std::cout << "\033[32m[OK] \033[0m UID:" << urid << res->status << std::endl;
E01C6Dj.dump(); j.dump();
/* /*
rankScore": 1, rankScore": 1,
"rankName": "Master", "rankName": "Master",
"rankDiv": 1, "rankDiv": 1,
"ladderPosPlatform": 1 "ladderPosPlatform": 1
*/ */
if (!E01C6Dj["global"].is_null()) { if (!j["global"].is_null()) {
player_rankE01C6DList[i].RankE01C6DPos = E01C6Dj.at("global").at("rank").at("ladderPosPlatform"); player_rankList[i].RankPos = j.at("global").at("rank").at("ladderPosPlatform");
player_rankE01C6DList[i].E01C6Duid = urE01C6Did; player_rankList[i].uid = urid;
player_rankE01C6DList[i].RankE01C6DDiv = E01C6Dj.at("global").at("rank").at("rankDiv"); player_rankList[i].RankDiv = j.at("global").at("rank").at("rankDiv");
player_rankE01C6DList[i].raE01C6nk[0] = E01C6Dj.at("global").at("rank").at("rankName"); player_rankList[i].raE01C6nk[0] = j.at("global").at("rank").at("rankName");
} }
if (res->status == 429) { if (res->status == 429) {
//API speed limit //API speed limit
std::cout << "\033[**33m**[WARN] API SPEED LIMIT\033[**0m**" << urE01C6Did << std::endl; std::cout << "\033[**33m**[WARN] API SPEED LIMIT\033[**0m**" << urid << std::endl;
Sleep(100); Sleep(100);
DownloadE01C6D_rank(urE01C6Did, i); Download_rank(urid, i);
} }
if (res->status == 404) { if (res->status == 404) {
//cannot find this player //cannot find this player
std::cout << "\033[**1m**[Error] Can not find player with\033[**0m**" << urE01C6Did << std::endl; std::cout << "\033[**1m**[Error] Can not find player with\033[**0m**" << urid << std::endl;
} }
} }
} }
@ -254,114 +254,114 @@ void DownloadE01C6D_rank(uint64_t urE01C6Did , int i){
}else { std::cout << "\033[**31m**[Empty UID]\033[**0m**: " << std::endl; } }else { std::cout << "\033[**31m**[Empty UID]\033[**0m**: " << std::endl; }
} }
void Overlay::RenderE01C6DSpectator() { void Overlay::RenderSpectator() {
if (E01C6Drender_plist) { if (render_plist) {
//如果要覆盖观战列表来渲染玩家列表 //如果要覆盖观战列表来渲染玩家列表
float render_E01C6Dindex = 0; float render_index = 0;
int textE01C6D_index = 0; int text_index = 0;
ImGui::SetNextWindowPos(ImVec2(0, 0)); ImGui::SetNextWindowPos(ImVec2(0, 0));
ImGui::SetNextWindowSize(ImVec2((float)getE01C6DWidth(), (float)getE01C6DHeight())); ImGui::SetNextWindowSize(ImVec2((float)getWidth(), (float)getHeight()));
ImGui::Begin(XorStr("##player_list"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoBringToFrontOnFocus); ImGui::Begin(XorStr("##player_list"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoBringToFrontOnFocus);
//渲染玩家列表(测试用) //渲染玩家列表(测试用)
for (int i = 0; i < 61; i++) { for (int i = 0; i < 61; i++) {
if (PE01C6Dlist[i].userE01C6DID != 0) { if (Plist[i].userID != 0) {
StringE01C6D(ImVec2(5, 60 + render_E01C6Dindex * 20), WHITE, std::to_string(textE01C6D_index + 1).c_str(), 16); String(ImVec2(5, 60 + render_index * 20), WHITE, std::to_string(text_index + 1).c_str(), 16);
StringE01C6D(ImVec2(25, 60 + render_E01C6Dindex * 20), WHITE, PE01C6Dlist[i].nE01C6Dame, 16); String(ImVec2(25, 60 + render_index * 20), WHITE, Plist[i].name, 16);
StringE01C6D(ImVec2(sizeof(PE01C6Dlist[i].nE01C6Dame) * 5 + 25, 60 + render_E01C6Dindex * 20), WHITE, std::to_string(PE01C6Dlist[i].userE01C6DID).c_str(), 16); String(ImVec2(sizeof(Plist[i].name) * 5 + 25, 60 + render_index * 20), WHITE, std::to_string(Plist[i].userID).c_str(), 16);
textE01C6D_index++; text_index++;
render_E01C6Dindex++; render_index++;
} }
} }
ImGui::End(); ImGui::End();
} }
else { else {
float render_E01C6Dindex = 0; float render_index = 0;
int text_E01C6D_index = 0; int text__index = 0;
ImGui::SetNextWindowPos(ImVec2(0, 0)); ImGui::SetNextWindowPos(ImVec2(0, 0));
ImGui::SetNextWindowSize(ImVec2((float)getE01C6DWidth(), (float)getE01C6DHeight())); ImGui::SetNextWindowSize(ImVec2((float)getWidth(), (float)getHeight()));
ImGui::Begin(XorStr("##spectator_list"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoBringToFrontOnFocus); 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++) { for (int i = 0; i < 61; i++) {
if (E01C6Dspectator_list[i].is_E01C6Dspec) { if (spectator_list[i].is_spec) {
StringE01C6D(ImVec2(5, 60 + render_E01C6Dindex * 20), WHITE, std::to_string(text_E01C6D_index + 1).c_str(), 16); String(ImVec2(5, 60 + render_index * 20), WHITE, std::to_string(text__index + 1).c_str(), 16);
if (E01C6Dspectator_list[i].E01C6Dpro_level == 0) { if (spectator_list[i].pro_level == 0) {
StringE01C6D(ImVec2(25.0f, 60.0f + render_E01C6Dindex * 20.0f), WHITE, E01C6Dspectator_list[i].nE01C6Dame, 16); String(ImVec2(25.0f, 60.0f + render_index * 20.0f), WHITE, spectator_list[i].name, 16);
} }
else if (E01C6Dspectator_list[i].E01C6Dpro_level == 1) { else if (spectator_list[i].pro_level == 1) {
StringE01C6D(ImVec2(25.0f, 60.0f + render_E01C6Dindex * 20.0f), GREEN, E01C6Dspectator_list[i].nE01C6Dame, 16); String(ImVec2(25.0f, 60.0f + render_index * 20.0f), GREEN, spectator_list[i].name, 16);
} }
else if (E01C6Dspectator_list[i].E01C6Dpro_level == 2) { else if (spectator_list[i].pro_level == 2) {
StringE01C6D(ImVec2(25.0f, 60.0f + render_E01C6Dindex * 20.0f), ORANGE, E01C6Dspectator_list[i].nE01C6Dame, 16); String(ImVec2(25.0f, 60.0f + render_index * 20.0f), ORANGE, spectator_list[i].name, 16);
} }
else if (E01C6Dspectator_list[i].E01C6Dpro_level == 3) { else if (spectator_list[i].pro_level == 3) {
StringE01C6D(ImVec2(25.0f, 60.0f + render_E01C6Dindex * 20.0f), RED, E01C6Dspectator_list[i].nE01C6Dame, 16); String(ImVec2(25.0f, 60.0f + render_index * 20.0f), RED, spectator_list[i].name, 16);
} }
else { else {
StringE01C6D(ImVec2(25.0f, 60.0f + render_E01C6Dindex * 20.0f), PURPLE, E01C6Dspectator_list[i].nE01C6Dame, 16); String(ImVec2(25.0f, 60.0f + render_index * 20.0f), PURPLE, spectator_list[i].name, 16);
StringE01C6D(ImVec2(25.0f, 60.0f + render_E01C6Dindex * 20.0f), PURPLE, std::to_string(E01C6Dspectator_list[i].E01C6Dpro_level).c_str(), 16); String(ImVec2(25.0f, 60.0f + render_index * 20.0f), PURPLE, std::to_string(spectator_list[i].pro_level).c_str(), 16);
} }
StringE01C6D(ImVec2(sizeof(E01C6Dspectator_list[i].nE01C6Dame) * 5 + 25, 60 + render_E01C6Dindex * 20), WHITE, std::to_string(E01C6Dspectator_list[i].xp_E01C6Dlevel).c_str(), 16); String(ImVec2(sizeof(spectator_list[i].name) * 5 + 25, 60 + render_index * 20), WHITE, std::to_string(spectator_list[i].xp_level).c_str(), 16);
text_E01C6D_index++; text__index++;
render_E01C6Dindex++; render_index++;
} }
} }
ImGui::End(); ImGui::End();
if (E01C6Dspectator_list) memset(E01C6Dspectator_list, 0, sizeof(E01C6Dspectator_list)); if (spectator_list) memset(spectator_list, 0, sizeof(spectator_list));
} }
} }
void Overlay::RenderE01C6DEsp() { void Overlay::RenderEsp() {
ImGui::SetNextWindowPos(ImVec2(0, 0)); ImGui::SetNextWindowPos(ImVec2(0, 0));
ImGui::SetNextWindowSize(ImVec2((float)getE01C6DWidth(), (float)getE01C6DHeight())); ImGui::SetNextWindowSize(ImVec2((float)getWidth(), (float)getHeight()));
ImGui::Begin(XorStr("##esp"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoBringToFrontOnFocus); 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++) for (int i = 0; i < 100; i++)
{ {
if (E01C6Dplayers[i].E01C6Dhealth > 0 && E01C6Dplayers[i].E01C6Db_x > 0 && E01C6Dplayers[i].E01C6Db_y > 0) if (players[i].health > 0 && players[i].b_x > 0 && players[i].b_y > 0)
{ {
//level / legend //level / legend
std::string E01C6Dxpstr = std::to_string(E01C6Dplayers[i].E01C6Dxp_level); std::string xpstr = std::to_string(players[i].xp_level);
E01C6Dxpstr = E01C6Dxpstr.substr(0, E01C6Dxpstr.find('.')) + u8"" + E01C6Dprocess_model_name(E01C6Dplayers[i].E01C6Dmodel_name); // E01C6Dprocess_model_name(E01C6Dplayers[i].E01C6Dmodel_name) xpstr = xpstr.substr(0, xpstr.find('.')) + u8"" + process_model_name(players[i].model_name); // process_model_name(players[i].model_name)
//DISTENCE + teamnum //DISTENCE + teamnum
std::string E01C6Ddistance = std::to_string(E01C6Dplayers[i].E01C6Ddist / 39.62); std::string distance = std::to_string(players[i].dist / 39.62);
E01C6Ddistance = E01C6Ddistance.substr(0, E01C6Ddistance.find('.')) + u8"M (No." + std::to_string(E01C6Dplayers[i].E01C6Dentity_team) + u8")"; distance = distance.substr(0, distance.find('.')) + u8"M (No." + std::to_string(players[i].entity_team) + u8")";
if (E01C6Dv.E01C6Dbox) if (v.box)
{ {
if (E01C6Dplayers[i].E01C6Dvisible) if (players[i].visible)
{ {
if (E01C6Dplayers[i].E01C6Ddist < 1600.0f) if (players[i].dist < 1600.0f)
DrawE01C6DBox(RED, E01C6Dplayers[i].E01C6DboxMiddle, E01C6Dplayers[i].E01C6Dh_y, E01C6Dplayers[i].E01C6Dwidth, E01C6Dplayers[i].E01C6Dheight); //BOX DrawBox(RED, players[i].boxMiddle, players[i].h_y, players[i].width, players[i].height); //BOX
else else
DrawE01C6DBox(ORANGE, E01C6Dplayers[i].E01C6DboxMiddle, E01C6Dplayers[i].E01C6Dh_y, E01C6Dplayers[i].E01C6Dwidth, E01C6Dplayers[i].E01C6Dheight); //BOX DrawBox(ORANGE, players[i].boxMiddle, players[i].h_y, players[i].width, players[i].height); //BOX
} }
else else
{ {
DrawE01C6DBox(WHITE, E01C6Dplayers[i].E01C6DboxMiddle, E01C6Dplayers[i].E01C6Dh_y, E01C6Dplayers[i].E01C6Dwidth, E01C6Dplayers[i].E01C6Dheight); //white if player not visible DrawBox(WHITE, players[i].boxMiddle, players[i].h_y, players[i].width, players[i].height); //white if player not visible
} }
} }
if (E01C6Dv.E01C6Dline) if (v.line)
DrawE01C6DLine(ImVec2((float)(getE01C6DWidth() / 2), (float)getE01C6DHeight()), ImVec2(E01C6Dplayers[i].E01C6Db_x, E01C6Dplayers[i].E01C6Db_y), BLUE, 1); //LINE FROM MIDDLE SCREEN DrawLine(ImVec2((float)(getWidth() / 2), (float)getHeight()), ImVec2(players[i].b_x, players[i].b_y), BLUE, 1); //LINE FROM MIDDLE SCREEN
if (E01C6Dv.E01C6Ddistance) if (v.distance)
{ {
if (E01C6Dplayers[i].E01C6Dknocked) if (players[i].knocked)
StringE01C6D(ImVec2(E01C6Dplayers[i].E01C6DboxMiddle, (E01C6Dplayers[i].E01C6Db_y + 1)), RED, E01C6Ddistance.c_str()); //DISTANCE String(ImVec2(players[i].boxMiddle, (players[i].b_y + 1)), RED, distance.c_str()); //DISTANCE
else else
StringE01C6D(ImVec2(E01C6Dplayers[i].E01C6DboxMiddle, (E01C6Dplayers[i].E01C6Db_y + 1)), WHITE, E01C6Ddistance.c_str()); //DISTANCE String(ImVec2(players[i].boxMiddle, (players[i].b_y + 1)), WHITE, distance.c_str()); //DISTANCE
} }
// Seer ESP // Seer ESP
if (E01C6Dv.E01C6Dhealthbar && E01C6Dplayers[i].E01C6Ddist <= E01C6Dseer_dist) if (v.healthbar && players[i].dist <= seer_dist)
DrawE01C6DHealth(E01C6Dplayers[i].E01C6Db_x, (E01C6Dplayers[i].E01C6Db_y - E01C6Dplayers[i].E01C6Dheight - 10), E01C6Dplayers[i].E01C6Dshield, E01C6Dplayers[i].E01C6Dmaxshield, E01C6Dplayers[i].E01C6Darmortype, E01C6Dplayers[i].E01C6Dhealth); DrawHealth(players[i].b_x, (players[i].b_y - players[i].height - 10), players[i].shield, players[i].maxshield, players[i].armortype, players[i].health);
//DrawE01C6DHealth((E01C6Dplayers[i].E01C6Db_x - (E01C6Dplayers[i].E01C6Dwidth / 2.0f) + 5), (E01C6Dplayers[i].E01C6Db_y - E01C6Dplayers[i].E01C6Dheight - 10), E01C6Dplayers[i].E01C6Dshield, E01C6Dplayers[i].E01C6Dmaxshield, E01C6Dplayers[i].E01C6Darmortype, E01C6Dplayers[i].E01C6Dhealth); //DrawHealth((players[i].b_x - (players[i].width / 2.0f) + 5), (players[i].b_y - players[i].height - 10), players[i].shield, players[i].maxshield, players[i].armortype, players[i].health);
// level / legend // level / legend
if (E01C6Dv.E01C6Drenderxp && E01C6Dplayers[i].E01C6Ddist <= E01C6Dxp_dist) { if (v.renderxp && players[i].dist <= xp_dist) {
StringE01C6D(ImVec2(E01C6Dplayers[i].E01C6DboxMiddle, E01C6Dplayers[i].E01C6Db_y - E01C6Dplayers[i].E01C6Dheight - 15), GREEN, E01C6Dxpstr.c_str()); String(ImVec2(players[i].boxMiddle, players[i].b_y - players[i].height - 15), GREEN, xpstr.c_str());
} }
} }
} }
@ -369,131 +369,131 @@ void Overlay::RenderE01C6DEsp() {
//std::this_thread::sleep_for(std::chrono::milliseconds(1)); //std::this_thread::sleep_for(std::chrono::milliseconds(1));
} }
void Overlay::ProcessE01C6DEsp() void Overlay::ProcessEsp()
{ {
E01C6Dnext = false; next = false;
if (E01C6Dg_Base != 0 && E01C6Desp) if (g_Base != 0 && esp)
{ {
RenderE01C6DEsp(); RenderEsp();
} }
<<<<<<< HEAD <<<<<<< HEAD
if (E01C6Dnext && E01C6Dvalid) if (next && valid)
{ {
RenderE01C6DEsp(); RenderEsp();
======= =======
while (!placeholdernext && placeholderesp) while (!next && esp)
{ {
ImGui::SetNextWindowPos(ImVec2(0, 0)); ImGui::SetNextWindowPos(ImVec2(0, 0));
ImGui::SetNextWindowSize(ImVec2((float)getplaceholderWidth(), (float)getplaceholderHeight())); ImGui::SetNextWindowSize(ImVec2((float)getWidth(), (float)getHeight()));
ImGui::Begin(XorStr("##esp"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoBringToFrontOnFocus); 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++) for (int i = 0; i < 100; i++)
{ {
if (placeholderplayers[i].placeholderhealth > 0) if (players[i].health > 0)
{ {
//xp+legend //xp+legend
std::string placeholderxpstr = std::to_string(placeholderplayers[i].placeholderxp_level); std::string xpstr = std::to_string(players[i].xp_level);
placeholderxpstr = u8"Level:" + placeholderxpstr.substr(0, placeholderxpstr.find('.')) + " Legend:" + placeholderprocess_model_name(placeholderplayers[i].placeholdermodel_name); // placeholderprocess_model_name(placeholderplayers[i].placeholdermodel_name) xpstr = u8"Level:" + xpstr.substr(0, xpstr.find('.')) + " Legend:" + process_model_name(players[i].model_name); // process_model_name(players[i].model_name)
//DISTENCE + teamnum //DISTENCE + teamnum
std::string placeholderdistance = std::to_string(placeholderplayers[i].placeholderdist / 39.62); std::string distance = std::to_string(players[i].dist / 39.62);
placeholderdistance = placeholderdistance.substr(0, placeholderdistance.find('.')) + u8"M( No." + std::to_string(placeholderplayers[i].placeholderentity_team) + u8")"; distance = distance.substr(0, distance.find('.')) + u8"M( No." + std::to_string(players[i].entity_team) + u8")";
if (placeholderv.placeholderbox) if (v.box)
{ {
if (placeholderplayers[i].placeholdervisible) if (players[i].visible)
{ {
if (placeholderplayers[i].placeholderdist < 1600.0f) if (players[i].dist < 1600.0f)
DrawplaceholderBox(RED, placeholderplayers[i].placeholderboxMiddle, placeholderplayers[i].placeholderh_y, placeholderplayers[i].placeholderwidth, placeholderplayers[i].placeholderheight); //BOX DrawBox(RED, players[i].boxMiddle, players[i].h_y, players[i].width, players[i].height); //BOX
else else
DrawplaceholderBox(ORANGE, placeholderplayers[i].placeholderboxMiddle, placeholderplayers[i].placeholderh_y, placeholderplayers[i].placeholderwidth, placeholderplayers[i].placeholderheight); //BOX DrawBox(ORANGE, players[i].boxMiddle, players[i].h_y, players[i].width, players[i].height); //BOX
} }
else else
{ {
DrawplaceholderBox(WHITE, placeholderplayers[i].placeholderboxMiddle, placeholderplayers[i].placeholderh_y, placeholderplayers[i].placeholderwidth, placeholderplayers[i].placeholderheight); //white if player not visible DrawBox(WHITE, players[i].boxMiddle, players[i].h_y, players[i].width, players[i].height); //white if player not visible
} }
} }
if (placeholderv.placeholderline) if (v.line)
DrawplaceholderLine(ImVec2((float)(getplaceholderWidth() / 2), (float)getplaceholderHeight()), ImVec2(placeholderplayers[i].placeholderb_x, placeholderplayers[i].placeholderb_y), BLUE, 1); //LINE FROM MIDDLE SCREEN DrawLine(ImVec2((float)(getWidth() / 2), (float)getHeight()), ImVec2(players[i].b_x, players[i].b_y), BLUE, 1); //LINE FROM MIDDLE SCREEN
if (placeholderv.placeholderdistance) if (v.distance)
{ {
if (placeholderplayers[i].placeholderknocked) if (players[i].knocked)
Stringplaceholder(ImVec2(placeholderplayers[i].placeholderboxMiddle, (placeholderplayers[i].placeholderb_y + 1)), RED, placeholderdistance.c_str()); //DISTANCE String(ImVec2(players[i].boxMiddle, (players[i].b_y + 1)), RED, distance.c_str()); //DISTANCE
else else
Stringplaceholder(ImVec2(placeholderplayers[i].placeholderboxMiddle, (placeholderplayers[i].placeholderb_y + 1)), WHITE, placeholderdistance.c_str()); //DISTANCE String(ImVec2(players[i].boxMiddle, (players[i].b_y + 1)), WHITE, distance.c_str()); //DISTANCE
} }
//esp stuff of shield bar/ bar color //esp stuff of shield bar/ bar color
if (placeholderv.placeholderhealthbar && placeholderplayers[i].placeholderdist <= placeholderseer_dist) if (v.healthbar && players[i].dist <= seer_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); DrawHealth((players[i].b_x - (players[i].width / 2.0f) + 5), (players[i].b_y - players[i].height - 10), players[i].shield, players[i].maxshield, players[i].armortype, players[i].health);
//name //name
if (placeholderv.placeholdername && placeholderplayers[i].placeholderdist <= placeholdername_dist) if (v.name && players[i].dist <= name_dist)
Stringplaceholder(ImVec2(placeholderplayers[i].placeholderboxMiddle, (placeholderplayers[i].placeholderb_y - placeholderplayers[i].placeholderheight - 15)), WHITE, placeholderplayers[i].placeholdername); String(ImVec2(players[i].boxMiddle, (players[i].b_y - players[i].height - 15)), WHITE, players[i].name);
//xp and legend //xp and legend
if (placeholderv.placeholderrenderxp && placeholderplayers[i].placeholderdist <= placeholderxp_dist) { if (v.renderxp && players[i].dist <= xp_dist) {
Stringplaceholder(ImVec2(placeholderplayers[i].placeholderboxMiddle - placeholderplayers[i].placeholderwidth , (placeholderplayers[i].placeholderb_y - placeholderplayers[i].placeholderheight - 15)), GREEN , placeholderxpstr.c_str()); String(ImVec2(players[i].boxMiddle - players[i].width , (players[i].b_y - players[i].height - 15)), GREEN , xpstr.c_str());
} }
} }
} }
ImGui::End(); ImGui::End();
} }
if (placeholdernext && placeholdervalid) if (next && valid)
{ {
ImGui::SetNextWindowPos(ImVec2(0, 0)); ImGui::SetNextWindowPos(ImVec2(0, 0));
ImGui::SetNextWindowSize(ImVec2((float)getplaceholderWidth(), (float)getplaceholderHeight())); ImGui::SetNextWindowSize(ImVec2((float)getWidth(), (float)getHeight()));
ImGui::Begin(XorStr("##esp"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoBringToFrontOnFocus); 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++) for (int i = 0; i < 100; i++)
{ {
if (placeholderplayers[i].placeholderhealth > 0) if (players[i].health > 0)
{ {
//xp+legend //xp+legend
std::string placeholderxpstr = std::to_string(placeholderplayers[i].placeholderxp_level); std::string xpstr = std::to_string(players[i].xp_level);
placeholderxpstr = u8"Level:" + placeholderxpstr.substr(0, placeholderxpstr.find('.')) + " Legend:" + placeholderprocess_model_name(placeholderplayers[i].placeholdermodel_name); // placeholderprocess_model_name(placeholderplayers[i].placeholdermodel_name) xpstr = u8"Level:" + xpstr.substr(0, xpstr.find('.')) + " Legend:" + process_model_name(players[i].model_name); // process_model_name(players[i].model_name)
//DISTENCE + teamnum //DISTENCE + teamnum
std::string placeholderdistance = std::to_string(placeholderplayers[i].placeholderdist / 39.62); std::string distance = std::to_string(players[i].dist / 39.62);
placeholderdistance = placeholderdistance.substr(0, placeholderdistance.find('.')) + u8"M( No." + std::to_string(placeholderplayers[i].placeholderentity_team) + u8")"; distance = distance.substr(0, distance.find('.')) + u8"M( No." + std::to_string(players[i].entity_team) + u8")";
if (placeholderv.placeholderbox) if (v.box)
{ {
if (placeholderplayers[i].placeholdervisible) if (players[i].visible)
{ {
if (placeholderplayers[i].placeholderdist < 1600.0f) if (players[i].dist < 1600.0f)
DrawplaceholderBox(RED, placeholderplayers[i].placeholderboxMiddle, placeholderplayers[i].placeholderh_y, placeholderplayers[i].placeholderwidth, placeholderplayers[i].placeholderheight); //BOX DrawBox(RED, players[i].boxMiddle, players[i].h_y, players[i].width, players[i].height); //BOX
else else
DrawplaceholderBox(ORANGE, placeholderplayers[i].placeholderboxMiddle, placeholderplayers[i].placeholderh_y, placeholderplayers[i].placeholderwidth, placeholderplayers[i].placeholderheight); //BOX DrawBox(ORANGE, players[i].boxMiddle, players[i].h_y, players[i].width, players[i].height); //BOX
} }
else else
{ {
DrawplaceholderBox(WHITE, placeholderplayers[i].placeholderboxMiddle, placeholderplayers[i].placeholderh_y, placeholderplayers[i].placeholderwidth, placeholderplayers[i].placeholderheight); //white if player not visible DrawBox(WHITE, players[i].boxMiddle, players[i].h_y, players[i].width, players[i].height); //white if player not visible
} }
} }
if (placeholderv.placeholderline) if (v.line)
DrawplaceholderLine(ImVec2((float)(getplaceholderWidth() / 2), (float)getplaceholderHeight()), ImVec2(placeholderplayers[i].placeholderb_x, placeholderplayers[i].placeholderb_y), BLUE, 1); //LINE FROM MIDDLE SCREEN DrawLine(ImVec2((float)(getWidth() / 2), (float)getHeight()), ImVec2(players[i].b_x, players[i].b_y), BLUE, 1); //LINE FROM MIDDLE SCREEN
if (placeholderv.placeholderdistance) if (v.distance)
{ {
if (placeholderplayers[i].placeholderknocked) if (players[i].knocked)
Stringplaceholder(ImVec2(placeholderplayers[i].placeholderboxMiddle, (placeholderplayers[i].placeholderb_y + 1)), RED, placeholderdistance.c_str()); //DISTANCE String(ImVec2(players[i].boxMiddle, (players[i].b_y + 1)), RED, distance.c_str()); //DISTANCE
else else
Stringplaceholder(ImVec2(placeholderplayers[i].placeholderboxMiddle, (placeholderplayers[i].placeholderb_y + 1)), WHITE, placeholderdistance.c_str()); //DISTANCE String(ImVec2(players[i].boxMiddle, (players[i].b_y + 1)), WHITE, distance.c_str()); //DISTANCE
} }
//esp stuff of shield bar/ bar color //esp stuff of shield bar/ bar color
if (placeholderv.placeholderhealthbar && placeholderplayers[i].placeholderdist <= placeholderseer_dist) if (v.healthbar && players[i].dist <= seer_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); DrawHealth((players[i].b_x - (players[i].width / 2.0f) + 5), (players[i].b_y - players[i].height - 10), players[i].shield, players[i].maxshield, players[i].armortype, players[i].health);
//name //name
if (placeholderv.placeholdername && placeholderplayers[i].placeholderdist <= placeholdername_dist) if (v.name && players[i].dist <= name_dist)
Stringplaceholder(ImVec2(placeholderplayers[i].placeholderboxMiddle, (placeholderplayers[i].placeholderb_y - placeholderplayers[i].placeholderheight - 15)), WHITE, placeholderplayers[i].placeholdername); String(ImVec2(players[i].boxMiddle, (players[i].b_y - players[i].height - 15)), WHITE, players[i].name);
//xp and legend //xp and legend
if (placeholderv.placeholderrenderxp && placeholderplayers[i].placeholderdist <= placeholderxp_dist) { if (v.renderxp && players[i].dist <= xp_dist) {
Stringplaceholder(ImVec2(placeholderplayers[i].placeholderboxMiddle - placeholderplayers[i].placeholderwidth , (placeholderplayers[i].placeholderb_y - placeholderplayers[i].placeholderheight - 15)), GREEN , placeholderxpstr.c_str()); String(ImVec2(players[i].boxMiddle - players[i].width , (players[i].b_y - players[i].height - 15)), GREEN , xpstr.c_str());
} }
} }
} }
@ -505,24 +505,24 @@ void Overlay::ProcessE01C6DEsp()
void ProcessE01C6DRank() { void ProcessRank() {
std::this_thread::sleep_for(std::chrono::milliseconds(1)); std::this_thread::sleep_for(std::chrono::milliseconds(1));
printf("test\n"); printf("test\n");
while (TRUE) { while (TRUE) {
if (E01C6Dstart_rank_process) { if (start_rank_process) {
for (int i = 0; i < 100; i++) { for (int i = 0; i < 100; i++) {
player_rankE01C6DList[i] = { 0 }; player_rankList[i] = { 0 };
} }
for (int i = 0; i < 61; i++) { for (int i = 0; i < 61; i++) {
printf("\033[32m[Downloading %d / 60] \033[0m : ",i); printf("\033[32m[Downloading %d / 60] \033[0m : ",i);
DownloadE01C6D_rank(PE01C6Dlist[i].userE01C6DID, i); Download_rank(Plist[i].userID, i);
} }
for (int i = 0; i < 61; i++) { for (int i = 0; i < 61; i++) {
printf("\033[32m[%d / 60] \033[0m :",i); printf("\033[32m[%d / 60] \033[0m :",i);
printf("NAME : %s ", PE01C6Dlist[i].nE01C6Dame); printf("NAME : %s ", Plist[i].name);
printf("RANK : %s ", player_rankE01C6DList[i].raE01C6nk); printf("RANK : %s ", player_rankList[i].raE01C6nk);
printf("%d \n", player_rankE01C6DList[i].RankE01C6DDiv); printf("%d \n", player_rankList[i].RankDiv);
if (i == 60) { E01C6Dstart_rank_process = false; } if (i == 60) { start_rank_process = false; }
} }
} }
} }
@ -530,83 +530,83 @@ void ProcessE01C6DRank() {
int main(int argc, char** argv) int main(int argc, char** argv)
{ {
std::thread ranE01C6Dk_process_thr; std::thread rank_process_thr;
//ShowWindow(GetForegroundWindow(), 0); // Hide the window //ShowWindow(GetForegroundWindow(), 0); // Hide the window
E01C6Dadd[0] = (uintptr_t)&E01C6Dcheck; add[0] = (uintptr_t)&check;
E01C6Dadd[1] = (uintptr_t)&E01C6Daim; add[1] = (uintptr_t)&aim;
E01C6Dadd[2] = (uintptr_t)&E01C6Desp; add[2] = (uintptr_t)&esp;
E01C6Dadd[3] = (uintptr_t)&E01C6Daiming; add[3] = (uintptr_t)&aiming;
E01C6Dadd[4] = (uintptr_t)&E01C6Dg_Base; add[4] = (uintptr_t)&g_Base;
E01C6Dadd[5] = (uintptr_t)&E01C6Dnext; add[5] = (uintptr_t)&next;
E01C6Dadd[6] = (uintptr_t)&E01C6Dplayers[0]; add[6] = (uintptr_t)&players[0];
E01C6Dadd[7] = (uintptr_t)&E01C6Dspectator_list[0]; add[7] = (uintptr_t)&spectator_list[0];
E01C6Dadd[8] = (uintptr_t)&E01C6Dvalid; add[8] = (uintptr_t)&valid;
E01C6Dadd[9] = (uintptr_t)&E01C6Dmax_dist; add[9] = (uintptr_t)&max_dist;
E01C6Dadd[10] = (uintptr_t)&E01C6Ditem_glow; add[10] = (uintptr_t)&item_glow;
E01C6Dadd[11] = (uintptr_t)&E01C6Dplayer_glow; add[11] = (uintptr_t)&player_glow;
E01C6Dadd[12] = (uintptr_t)&E01C6Daim_no_recoil; add[12] = (uintptr_t)&aim_no_recoil;
E01C6Dadd[13] = (uintptr_t)&E01C6Dsmooth; add[13] = (uintptr_t)&smooth;
E01C6Dadd[14] = (uintptr_t)&E01C6Dmax_fov; add[14] = (uintptr_t)&max_fov;
E01C6Dadd[15] = (uintptr_t)&E01C6Dbone; add[15] = (uintptr_t)&bone;
E01C6Dadd[16] = (uintptr_t)&E01C6Dthirdperson; add[16] = (uintptr_t)&thirdperson;
E01C6Dadd[17] = (uintptr_t)&E01C6Dspectators; add[17] = (uintptr_t)&spectators;
E01C6Dadd[18] = (uintptr_t)&E01C6Dallied_spectators; add[18] = (uintptr_t)&allied_spectators;
E01C6Dadd[19] = (uintptr_t)&E01C6Dchargerifle; add[19] = (uintptr_t)&chargerifle;
E01C6Dadd[20] = (uintptr_t)&E01C6Dshooting; add[20] = (uintptr_t)&shooting;
E01C6Dadd[21] = (uintptr_t)&E01C6Dfreecam; add[21] = (uintptr_t)&freecam;
E01C6Dadd[22] = (uintptr_t)&E01C6Dlockall_mode; add[22] = (uintptr_t)&lockall_mode;
E01C6Dadd[23] = (uintptr_t)&E01C6Dfiring_range; add[23] = (uintptr_t)&firing_range;
E01C6Dadd[24] = (uintptr_t)&E01C6Drcs_pitch; add[24] = (uintptr_t)&rcs_pitch;
E01C6Dadd[25] = (uintptr_t)&E01C6Drcs_yaw; add[25] = (uintptr_t)&rcs_yaw;
E01C6Dadd[26] = (uintptr_t)&E01C6Drefresh; add[26] = (uintptr_t)&refresh;
E01C6Dadd[27] = (uintptr_t)&PE01C6Dlist[0]; add[27] = (uintptr_t)&Plist[0];
printf(XorStr("offset: 0x%I64x\n"), (uint64_t)&E01C6Dadd[0] - (uint64_t)GetModuleHandle(NULL)); printf(XorStr("offset: 0x%I64x\n"), (uint64_t)&add[0] - (uint64_t)GetModuleHandle(NULL));
Overlay ov1E01C6D = Overlay(); Overlay ov1 = Overlay();
ov1E01C6D.StartE01C6D(); ov1.Start();
printf(XorStr("Waiting for host/apex...\n")); printf(XorStr("Waiting for host/apex...\n"));
while (E01C6Dcheck == 0xABCD) while (check == 0xABCD)
{ {
if (IsKeyDown(VK_F4)) if (IsKeyDown(VK_F4))
{ {
E01C6Dactive = false; active = false;
break; break;
} }
std::this_thread::sleep_for(std::chrono::milliseconds(1)); std::this_thread::sleep_for(std::chrono::milliseconds(1));
} }
if (E01C6Dactive) if (active)
{ {
E01C6Dready = true; ready = true;
printf(XorStr("Successful\n")); printf(XorStr("Successful\n"));
ranE01C6Dk_process_thr = std::thread(ProcessE01C6DRank); rank_process_thr = std::thread(ProcessRank);
ranE01C6Dk_process_thr.detach(); rank_process_thr.detach();
} }
while (E01C6Dactive) while (active)
{ {
if (IsKeyDown(VK_F4)) if (IsKeyDown(VK_F4))
{ {
E01C6Dactive = false; active = false;
} }
std::this_thread::sleep_for(std::chrono::milliseconds(1)); std::this_thread::sleep_for(std::chrono::milliseconds(1));
if (IsKeyDown(E01C6Daim_key)) if (IsKeyDown(aim_key))
E01C6Daiming = true; aiming = true;
else else
E01C6Daiming = false; aiming = false;
if (E01C6Daim > 0) { if (aim > 0) {
if (IsKeyDown(E01C6Daim_key2)) { if (IsKeyDown(aim_key2)) {
E01C6Daim = 1; aim = 1;
} }
else { else {
E01C6Daim = 2; aim = 2;
} }
} }
} }
E01C6Dready = false; ready = false;
ov1E01C6D.ClearE01C6D(); ov1.Clear();
if (!E01C6Duse_nvidia) if (!use_nvidia)
system(XorStr("taskkill /F /T /IM ov.exe")); //custom overlay processname system(XorStr("taskkill /F /T /IM ov.exe")); //custom overlay processname
return 0; return 0;
} }

@ -1,75 +1,75 @@
#include "overlay.h" #include "overlay.h"
extern int E01C6Daim; extern int aim;
extern bool E01C6Desp; extern bool esp;
extern bool E01C6Daim_no_recoil; extern bool aim_no_recoil;
extern bool E01C6Dready; extern bool ready;
extern bool E01C6Duse_nvidia; extern bool use_nvidia;
extern float E01C6Dmax_dist; extern float max_dist;
extern float E01C6Dseer_dist; extern float seer_dist;
extern float E01C6Dsmooth; extern float smooth;
extern float E01C6Dmax_fov; extern float max_fov;
extern float E01C6Dxp_dist; extern float xp_dist;
extern float E01C6Dscale; extern float scale;
extern int E01C6Dbone; extern int bone;
extern bool E01C6Dthirdperson; extern bool thirdperson;
extern int E01C6Dspectators; extern int spectators;
extern int E01C6Dallied_spectators; extern int allied_spectators;
extern bool E01C6Dchargerifle; extern bool chargerifle;
extern bool E01C6Dfreecam; extern bool freecam;
extern bool E01C6Dlockall_mode; extern bool lockall_mode;
extern bool E01C6Dstart_rank_process; extern bool start_rank_process;
extern bool E01C6Dfiring_range; extern bool firing_range;
extern int E01C6Dindex; extern int index;
extern float E01C6Drcs_pitch; extern float rcs_pitch;
extern float E01C6Drcs_yaw; extern float rcs_yaw;
extern bool E01C6Drefresh; extern bool refresh;
extern bool E01C6Drender_plist; extern bool render_plist;
int E01C6Dwidth; int width;
int E01C6Dheight; int height;
bool E01C6Dk_leftclick = false; bool k_leftclick = false;
bool E01C6Dk_ins = false; bool k_ins = false;
bool E01C6Dshow_menu = false; bool show_menu = false;
E01C6Dvisuals E01C6Dv; visuals v;
extern bool IsKeyDown(int vk); extern bool IsKeyDown(int vk);
LONG E01C6Dnv_default = WS_POPUP | WS_CLIPSIBLINGS; LONG nv_default = WS_POPUP | WS_CLIPSIBLINGS;
LONG E01C6Dnv_default_in_game = E01C6Dnv_default | WS_DISABLED; LONG nv_default_in_game = nv_default | WS_DISABLED;
LONG E01C6Dnv_edit = E01C6Dnv_default_in_game | WS_VISIBLE; LONG nv_edit = nv_default_in_game | WS_VISIBLE;
LONG E01C6Dnv_ex_default = WS_EX_TOOLWINDOW; LONG nv_ex_default = WS_EX_TOOLWINDOW;
LONG E01C6Dnv_ex_edit = E01C6Dnv_ex_default | WS_EX_LAYERED | WS_EX_TRANSPARENT; LONG nv_ex_edit = nv_ex_default | WS_EX_LAYERED | WS_EX_TRANSPARENT;
LONG E01C6Dnv_ex_edit_menu = E01C6Dnv_ex_default | WS_EX_TRANSPARENT; LONG nv_ex_edit_menu = nv_ex_default | WS_EX_TRANSPARENT;
static DWORD WINAPI StaticMessageStart(void* E01C6DParam) static DWORD WINAPI StaticMessageStart(void* Param)
{ {
Overlay* E01C6Dov = (Overlay*)E01C6DParam; Overlay* ov = (Overlay*)Param;
E01C6Dov->CreateE01C6DOverlay(); ov->CreateOverlay();
return 0; return 0;
} }
BOOL CALLBACK EnumWindowsCallback(HWND E01C6Dhwnd, LPARAM lParam) BOOL CALLBACK EnumWindowsCallback(HWND hwnd, LPARAM lParam)
{ {
wchar_t classE01C6DName[255] = L""; wchar_t className[255] = L"";
GetClassName(E01C6Dhwnd, classE01C6DName, 255); GetClassName(hwnd, className, 255);
if (E01C6Duse_nvidia) if (use_nvidia)
{ {
if (wcscmp(XorStrW(L"CEF-OSC-WIDGET"), classE01C6DName) == 0) //Nvidia overlay if (wcscmp(XorStrW(L"CEF-OSC-WIDGET"), className) == 0) //Nvidia overlay
{ {
HWND* w = (HWND*)lParam; HWND* w = (HWND*)lParam;
if (GetWindowLong(E01C6Dhwnd, GWL_STYLE) != E01C6Dnv_default && GetWindowLong(E01C6Dhwnd, GWL_STYLE) != E01C6Dnv_default_in_game) if (GetWindowLong(hwnd, GWL_STYLE) != nv_default && GetWindowLong(hwnd, GWL_STYLE) != nv_default_in_game)
return TRUE; return TRUE;
*w = E01C6Dhwnd; *w = hwnd;
return TRUE; return TRUE;
} }
} }
else else
{ {
if (wcscmp(XorStrW(L"E01C6Doverlay"), classE01C6DName) == 0) //Custom overlay if (wcscmp(XorStrW(L"overlay"), className) == 0) //Custom overlay
{ {
HWND* w = (HWND*)lParam; HWND* w = (HWND*)lParam;
*w = E01C6Dhwnd; *w = hwnd;
return TRUE; return TRUE;
} }
} }
@ -88,29 +88,29 @@ void CleanupDeviceD3D();
void CreateRenderTarget(); void CreateRenderTarget();
void CleanupRenderTarget(); void CleanupRenderTarget();
void Overlay::RenderE01C6DMenu() void Overlay::RenderMenu()
{ {
static bool E01C6Daim_enable = false; static bool aim_enable = false;
static bool E01C6Dvis_check = false; static bool vis_check = false;
static bool E01C6Dspec_disable = false; static bool spec_disable = false;
static bool E01C6Dall_spec_disable = false; static bool all_spec_disable = false;
if (E01C6Daim > 0) if (aim > 0)
{ {
E01C6Daim_enable = true; aim_enable = true;
if (E01C6Daim > 1) if (aim > 1)
{ {
E01C6Dvis_check = true; vis_check = true;
} }
else else
{ {
E01C6Dvis_check = false; vis_check = false;
} }
} }
else else
{ {
E01C6Daim_enable = false; aim_enable = false;
E01C6Dvis_check = false; vis_check = false;
} }
ImGui::SetNextWindowPos(ImVec2(0, 0)); ImGui::SetNextWindowPos(ImVec2(0, 0));
ImGui::SetNextWindowSize(ImVec2(490, 325)); ImGui::SetNextWindowSize(ImVec2(490, 325));
@ -120,82 +120,82 @@ void Overlay::RenderE01C6DMenu()
{ {
if (ImGui::BeginTabItem(XorStr(u8"MainMenu"))) if (ImGui::BeginTabItem(XorStr(u8"MainMenu")))
{ {
ImGui::Checkbox(XorStr(u8"ESP"), &E01C6Desp); ImGui::Checkbox(XorStr(u8"ESP"), &esp);
ImGui::Checkbox(XorStr(u8"Aimbot"), &E01C6Daim_enable); ImGui::Checkbox(XorStr(u8"Aimbot"), &aim_enable);
if (E01C6Daim_enable) if (aim_enable)
{ {
ImGui::SameLine(); ImGui::SameLine();
ImGui::Checkbox(XorStr(u8"Visible check"), &E01C6Dvis_check); ImGui::Checkbox(XorStr(u8"Visible check"), &vis_check);
ImGui::SameLine(); ImGui::SameLine();
ImGui::Checkbox(XorStr(u8"No recoil"), &E01C6Daim_no_recoil); ImGui::Checkbox(XorStr(u8"No recoil"), &aim_no_recoil);
if (E01C6Dvis_check) if (vis_check)
{ {
E01C6Daim = 2; aim = 2;
} }
else else
{ {
E01C6Daim = 1; aim = 1;
} }
} }
else else
{ {
E01C6Daim = 0; aim = 0;
} }
ImGui::Checkbox(XorStr(u8"freecamera"), &E01C6Dfreecam); ImGui::Checkbox(XorStr(u8"freecamera"), &freecam);
ImGui::Checkbox(XorStr(u8"Lock on teammates"), &E01C6Dlockall_mode); ImGui::Checkbox(XorStr(u8"Lock on teammates"), &lockall_mode);
ImGui::Checkbox(XorStr(u8"firing_range mode"), &E01C6Dfiring_range);//E01C6Dfiring_range ImGui::Checkbox(XorStr(u8"firing_range mode"), &firing_range);//firing_range
//ImGui::InputInt(XorStr("index"), &E01C6Dindex);//E01C6Dindex //ImGui::InputInt(XorStr("index"), &index);//index
ImGui::EndTabItem(); ImGui::EndTabItem();
} }
if (ImGui::BeginTabItem(XorStr(u8"Aimbot"))) if (ImGui::BeginTabItem(XorStr(u8"Aimbot")))
{ {
ImGui::Text(XorStr(u8"Max distence:")); ImGui::Text(XorStr(u8"Max distence:"));
ImGui::SliderFloat(XorStr("##1"), &E01C6Dmax_dist, 100.0f * 40, 800.0f * 40, "%.2f"); ImGui::SliderFloat(XorStr("##1"), &max_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SameLine(); ImGui::SameLine();
ImGui::Text(u8"(%d M)", (int)(E01C6Dmax_dist / 40)); ImGui::Text(u8"(%d M)", (int)(max_dist / 40));
ImGui::Text(u8"real dist :%d M", (int)(E01C6Dmax_dist / 40)); ImGui::Text(u8"real dist :%d M", (int)(max_dist / 40));
ImGui::Text(XorStr(u8"Smooth")); ImGui::Text(XorStr(u8"Smooth"));
ImGui::SliderFloat(XorStr("##2"), &E01C6Dsmooth, 76.0f, 100.0f, "%.2f"); ImGui::SliderFloat(XorStr("##2"), &smooth, 76.0f, 100.0f, "%.2f");
ImGui::Text(XorStr(u8"FOV:")); ImGui::Text(XorStr(u8"FOV:"));
ImGui::SliderFloat(XorStr("##3"), &E01C6Dmax_fov, 5.0f, 250.0f, "%.2f"); ImGui::SliderFloat(XorStr("##3"), &max_fov, 5.0f, 250.0f, "%.2f");
ImGui::Text(XorStr(u8"Bone:")); ImGui::Text(XorStr(u8"Bone:"));
ImGui::SliderInt(XorStr("##4"), &E01C6Dbone, 0, 3); ImGui::SliderInt(XorStr("##4"), &bone, 0, 3);
ImGui::Text(XorStr(u8"RCS PITCH:")); ImGui::Text(XorStr(u8"RCS PITCH:"));
ImGui::SliderFloat(XorStr("##5"), &E01C6Drcs_pitch, 0, 1); ImGui::SliderFloat(XorStr("##5"), &rcs_pitch, 0, 1);
ImGui::Text(XorStr(u8"RCS YAW:")); ImGui::Text(XorStr(u8"RCS YAW:"));
ImGui::SliderFloat(XorStr("##6"), &E01C6Drcs_yaw, 0, 1); ImGui::SliderFloat(XorStr("##6"), &rcs_yaw, 0, 1);
//ImGui::Text(XorStr(u8"FOV Draw scale:")); //ImGui::Text(XorStr(u8"FOV Draw scale:"));
//ImGui::SliderFloat(XorStr("##5"), &E01C6Dscale, 0.0f, 140.0f, "%.2f"); //ImGui::SliderFloat(XorStr("##5"), &scale, 0.0f, 140.0f, "%.2f");
ImGui::EndTabItem(); ImGui::EndTabItem();
} }
if (ImGui::BeginTabItem(XorStr(u8"ESPHACK"))) if (ImGui::BeginTabItem(XorStr(u8"ESPHACK")))
{ {
ImGui::Text(XorStr(u8"ESP")); ImGui::Text(XorStr(u8"ESP"));
//ImGui::Checkbox //ImGui::Checkbox
ImGui::Checkbox(XorStr(u8"BOX"), &E01C6Dv.E01C6Dbox); ImGui::Checkbox(XorStr(u8"BOX"), &v.box);
ImGui::SameLine(0, 70.0f); ImGui::SameLine(0, 70.0f);
ImGui::Checkbox(XorStr(u8"xp level"), &E01C6Dv.E01C6Drenderxp); ImGui::Checkbox(XorStr(u8"xp level"), &v.renderxp);
ImGui::Checkbox(XorStr(u8"line"), &E01C6Dv.E01C6Dline); ImGui::Checkbox(XorStr(u8"line"), &v.line);
ImGui::Checkbox(XorStr(u8"dist + teamID"), &E01C6Dv.E01C6Ddistance); ImGui::Checkbox(XorStr(u8"dist + teamID"), &v.distance);
ImGui::Checkbox(XorStr(u8"seer esp"), &E01C6Dv.E01C6Dhealthbar); ImGui::Checkbox(XorStr(u8"seer esp"), &v.healthbar);
ImGui::Text(XorStr(u8"seer esp distence:")); ImGui::Text(XorStr(u8"seer esp distence:"));
ImGui::SliderFloat(XorStr("##1"), &E01C6Dseer_dist, 100.0f * 40, 800.0f * 40, "%.2f"); ImGui::SliderFloat(XorStr("##1"), &seer_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SameLine(); ImGui::SameLine();
ImGui::Text(u8"(%d M)", (int)(E01C6Dseer_dist / 40)); ImGui::Text(u8"(%d M)", (int)(seer_dist / 40));
ImGui::Text(XorStr(u8"XP level display distence:")); ImGui::Text(XorStr(u8"XP level display distence:"));
ImGui::SliderFloat(XorStr("##2"), &E01C6Dxp_dist, 100.0f * 40, 800.0f * 40, "%.2f"); ImGui::SliderFloat(XorStr("##2"), &xp_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SameLine(); ImGui::SameLine();
ImGui::Text(u8"(%d M)", (int)(E01C6Dxp_dist / 40)); ImGui::Text(u8"(%d M)", (int)(xp_dist / 40));
ImGui::EndTabItem(); ImGui::EndTabItem();
} }
@ -204,17 +204,17 @@ void Overlay::RenderE01C6DMenu()
ImGui::Text(XorStr(u8"DEBUG & PlayerList")); ImGui::Text(XorStr(u8"DEBUG & PlayerList"));
if (ImGui::Button(u8"Refresh", ImVec2(40, 20))) if (ImGui::Button(u8"Refresh", ImVec2(40, 20)))
{ {
E01C6Drefresh = true; refresh = true;
Sleep(200); Sleep(200);
E01C6Drefresh = false; refresh = false;
}ImGui::SameLine(); }ImGui::SameLine();
if (ImGui::Button(u8"GetRank", ImVec2(55, 20))) if (ImGui::Button(u8"GetRank", ImVec2(55, 20)))
{ {
E01C6Dstart_rank_process = true; start_rank_process = true;
Sleep(300); Sleep(300);
E01C6Dstart_rank_process = false; start_rank_process = false;
} }
ImGui::Checkbox(XorStr(u8"Display list(Replace SpectatorList)"), &E01C6Drender_plist); ImGui::Checkbox(XorStr(u8"Display list(Replace SpectatorList)"), &render_plist);
ImGui::EndTabItem(); ImGui::EndTabItem();
} }
ImGui::EndTabBar(); ImGui::EndTabBar();
@ -223,40 +223,40 @@ void Overlay::RenderE01C6DMenu()
ImGui::End(); ImGui::End();
} }
void Overlay::RenderE01C6DInfo() void Overlay::RenderInfo()
{ {
ImGui::SetNextWindowPos(ImVec2(0, 0)); ImGui::SetNextWindowPos(ImVec2(0, 0));
ImGui::SetNextWindowSize(ImVec2(210, 25)); ImGui::SetNextWindowSize(ImVec2(210, 25));
ImGui::Begin(XorStr("##info"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar); ImGui::Begin(XorStr("##info"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar);
ImGui::TextColored(RED, u8"Enemies %d", E01C6Dspectators); ImGui::TextColored(RED, u8"Enemies %d", spectators);
ImGui::SameLine(); ImGui::SameLine();
ImGui::Text(" / "); ImGui::Text(" / ");
ImGui::SameLine(); ImGui::SameLine();
ImGui::TextColored(GREEN, u8"Team %d", E01C6Dallied_spectators); ImGui::TextColored(GREEN, u8"Team %d", allied_spectators);
ImGui::End(); ImGui::End();
} }
void Overlay::ClickE01C6DThrough(bool E01C6Dv) void Overlay::ClickThrough(bool v)
{ {
if (E01C6Dv) if (v)
{ {
E01C6Dnv_edit = E01C6Dnv_default_in_game | WS_VISIBLE; nv_edit = nv_default_in_game | WS_VISIBLE;
if (GetWindowLong(overlayE01C6DHWND, GWL_EXSTYLE) != E01C6Dnv_ex_edit) if (GetWindowLong(overlayHWND, GWL_EXSTYLE) != nv_ex_edit)
SetWindowLong(overlayE01C6DHWND, GWL_EXSTYLE, E01C6Dnv_ex_edit); SetWindowLong(overlayHWND, GWL_EXSTYLE, nv_ex_edit);
} }
else else
{ {
E01C6Dnv_edit = E01C6Dnv_default | WS_VISIBLE; nv_edit = nv_default | WS_VISIBLE;
if (GetWindowLong(overlayE01C6DHWND, GWL_EXSTYLE) != E01C6Dnv_ex_edit_menu) if (GetWindowLong(overlayHWND, GWL_EXSTYLE) != nv_ex_edit_menu)
SetWindowLong(overlayE01C6DHWND, GWL_EXSTYLE, E01C6Dnv_ex_edit_menu); SetWindowLong(overlayHWND, GWL_EXSTYLE, nv_ex_edit_menu);
} }
} }
DWORD Overlay::CreateE01C6DOverlay() DWORD Overlay::CreateOverlay()
{ {
EnumWindows(EnumWindowsCallback, (LPARAM)&overlayE01C6DHWND); EnumWindows(EnumWindowsCallback, (LPARAM)&overlayHWND);
//Sleep(300); //Sleep(300);
if (overlayE01C6DHWND == 0) if (overlayHWND == 0)
{ {
printf(XorStr("Can't find the overlay\n")); printf(XorStr("Can't find the overlay\n"));
Sleep(1000); Sleep(1000);
@ -264,21 +264,21 @@ DWORD Overlay::CreateE01C6DOverlay()
} }
HDC hDC = ::GetWindowDC(NULL); HDC hDC = ::GetWindowDC(NULL);
E01C6Dwidth = ::GetDeviceCaps(hDC, HORZRES); width = ::GetDeviceCaps(hDC, HORZRES);
E01C6Dheight = ::GetDeviceCaps(hDC, VERTRES); height = ::GetDeviceCaps(hDC, VERTRES);
E01C6Drunning = true; running = true;
// Initialize Direct3D // Initialize Direct3D
if (!CreateDeviceD3D(overlayE01C6DHWND)) if (!CreateDeviceD3D(overlayHWND))
{ {
CleanupDeviceD3D(); CleanupDeviceD3D();
return 1; return 1;
} }
// Show the window // Show the window
::ShowWindow(overlayE01C6DHWND, SW_SHOWDEFAULT); ::ShowWindow(overlayHWND, SW_SHOWDEFAULT);
::UpdateWindow(overlayE01C6DHWND); ::UpdateWindow(overlayHWND);
// Setup Dear ImGui context // Setup Dear ImGui context
IMGUI_CHECKVERSION(); IMGUI_CHECKVERSION();
@ -293,7 +293,7 @@ DWORD Overlay::CreateE01C6DOverlay()
ImGui::GetStyle().WindowMinSize = ImVec2(1, 1); ImGui::GetStyle().WindowMinSize = ImVec2(1, 1);
// Setup Platform/Renderer bindings // Setup Platform/Renderer bindings
ImGui_ImplWin32_Init(overlayE01C6DHWND); ImGui_ImplWin32_Init(overlayHWND);
ImGui_ImplDX11_Init(g_pd3dDevice, g_pd3dDeviceContext); ImGui_ImplDX11_Init(g_pd3dDevice, g_pd3dDeviceContext);
ImVec4 clear_color = ImVec4(0.0f, 0.0f, 0.0f, 0.00f); ImVec4 clear_color = ImVec4(0.0f, 0.0f, 0.0f, 0.00f);
@ -301,14 +301,14 @@ DWORD Overlay::CreateE01C6DOverlay()
// Main loop // Main loop
MSG msg; MSG msg;
ZeroMemory(&msg, sizeof(msg)); ZeroMemory(&msg, sizeof(msg));
ClickE01C6DThrough(true); ClickThrough(true);
while (E01C6Drunning) while (running)
{ {
HWND wnd = GetWindow(GetForegroundWindow(), GW_HWNDPREV); HWND wnd = GetWindow(GetForegroundWindow(), GW_HWNDPREV);
if (wnd != overlayE01C6DHWND) if (wnd != overlayHWND)
{ {
SetWindowPos(overlayE01C6DHWND, wnd, 0, 0, 0, 0, SWP_ASYNCWINDOWPOS | SWP_NOMOVE | SWP_NOSIZE); SetWindowPos(overlayHWND, wnd, 0, 0, 0, 0, SWP_ASYNCWINDOWPOS | SWP_NOMOVE | SWP_NOSIZE);
::UpdateWindow(overlayE01C6DHWND); ::UpdateWindow(overlayHWND);
} }
if (::PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE)) if (::PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE))
@ -323,36 +323,36 @@ DWORD Overlay::CreateE01C6DOverlay()
ImGui_ImplWin32_NewFrame(); ImGui_ImplWin32_NewFrame();
ImGui::NewFrame(); ImGui::NewFrame();
if (IsKeyDown(VK_LBUTTON) && !E01C6Dk_leftclick) if (IsKeyDown(VK_LBUTTON) && !k_leftclick)
{ {
io.MouseDown[0] = true; io.MouseDown[0] = true;
E01C6Dk_leftclick = true; k_leftclick = true;
} }
else if (!IsKeyDown(VK_LBUTTON) && E01C6Dk_leftclick) else if (!IsKeyDown(VK_LBUTTON) && k_leftclick)
{ {
io.MouseDown[0] = false; io.MouseDown[0] = false;
E01C6Dk_leftclick = false; k_leftclick = false;
} }
if (IsKeyDown(VK_INSERT) && !E01C6Dk_ins && E01C6Dready) if (IsKeyDown(VK_INSERT) && !k_ins && ready)
{ {
E01C6Dshow_menu = !E01C6Dshow_menu; show_menu = !show_menu;
ClickE01C6DThrough(!E01C6Dshow_menu); ClickThrough(!show_menu);
E01C6Dk_ins = true; k_ins = true;
} }
else if (!IsKeyDown(VK_INSERT) && E01C6Dk_ins) else if (!IsKeyDown(VK_INSERT) && k_ins)
{ {
E01C6Dk_ins = false; k_ins = false;
} }
if (E01C6Dshow_menu) { if (show_menu) {
RenderE01C6DMenu(); RenderMenu();
} }
else { else {
RenderE01C6DInfo(); RenderInfo();
RenderE01C6DSpectator(); RenderSpectator();
} }
ProcessE01C6DEsp(); ProcessEsp();
// Rendering // Rendering
ImGui::EndFrame(); ImGui::EndFrame();
@ -372,33 +372,33 @@ DWORD Overlay::CreateE01C6DOverlay()
//std::this_thread::sleep_for(std::chrono::milliseconds(1));// Modified to increase FPS //std::this_thread::sleep_for(std::chrono::milliseconds(1));// Modified to increase FPS
>>>>>>> 046f9c6ef56140fc611ab4d38f4c9f0426c98dfd >>>>>>> 046f9c6ef56140fc611ab4d38f4c9f0426c98dfd
} }
ClickE01C6DThrough(true); ClickThrough(true);
CleanupDeviceD3D(); CleanupDeviceD3D();
::DestroyWindow(overlayE01C6DHWND); ::DestroyWindow(overlayHWND);
return 0; return 0;
} }
void Overlay::StartE01C6D() void Overlay::Start()
{ {
DWORD ThreadID; DWORD ThreadID;
CreateThread(NULL, 0, StaticMessageStart, (void*)this, 0, &ThreadID); CreateThread(NULL, 0, StaticMessageStart, (void*)this, 0, &ThreadID);
} }
void Overlay::ClearE01C6D() void Overlay::Clear()
{ {
E01C6Drunning = 0; running = 0;
Sleep(1); Sleep(1);
} }
int Overlay::getE01C6DWidth() int Overlay::getWidth()
{ {
return E01C6Dwidth; return width;
} }
int Overlay::getE01C6DHeight() int Overlay::getHeight()
{ {
return E01C6Dheight; return height;
} }
// Helper functions // Helper functions
@ -457,47 +457,47 @@ void CleanupDeviceD3D()
if (g_pd3dDevice) { g_pd3dDevice->Release(); g_pd3dDevice = NULL; } if (g_pd3dDevice) { g_pd3dDevice->Release(); g_pd3dDevice = NULL; }
} }
void Overlay::DrawE01C6DLine(ImVec2 a, ImVec2 b, ImColor color, float width) void Overlay::DrawLine(ImVec2 a, ImVec2 b, ImColor color, float width)
{ {
ImGui::GetWindowDrawList()->AddLine(a, b, color, width); ImGui::GetWindowDrawList()->AddLine(a, b, color, width);
} }
void Overlay::DrawE01C6DBox(ImColor color, float x, float y, float w, float h) void Overlay::DrawBox(ImColor color, float x, float y, float w, float h)
{ {
DrawE01C6DLine(ImVec2(x, y), ImVec2(x + w, y), color, 1.0f); DrawLine(ImVec2(x, y), ImVec2(x + w, y), color, 1.0f);
DrawE01C6DLine(ImVec2(x, y), ImVec2(x, y + h), color, 1.0f); DrawLine(ImVec2(x, y), ImVec2(x, y + h), color, 1.0f);
DrawE01C6DLine(ImVec2(x + w, y), ImVec2(x + w, y + h), color, 1.0f); DrawLine(ImVec2(x + w, y), ImVec2(x + w, y + h), color, 1.0f);
DrawE01C6DLine(ImVec2(x, y + h), ImVec2(x + w, y + h), color, 1.0f); DrawLine(ImVec2(x, y + h), ImVec2(x + w, y + h), color, 1.0f);
} }
void Overlay::E01C6DText(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4 * cpu_fine_clip_rect) void Overlay::Text(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); ImGui::GetWindowDrawList()->AddText(ImGui::GetFont(), 14, pos, color, text_begin, text_end, wrap_width, cpu_fine_clip_rect);
} }
void Overlay::E01C6DText(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4* cpu_fine_clip_rect , int font) void Overlay::Text(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); ImGui::GetWindowDrawList()->AddText(ImGui::GetFont(), font, pos, color, text_begin, text_end, wrap_width, cpu_fine_clip_rect);
} }
void Overlay::StringE01C6D(ImVec2 pos, ImColor color, const char* text) void Overlay::String(ImVec2 pos, ImColor color, const char* text)
{ {
E01C6DText(pos, color, text, text + strlen(text), 200, 0); Text(pos, color, text, text + strlen(text), 200, 0);
} }
void Overlay::StringE01C6D(ImVec2 pos, ImColor color, const char* text,int font) void Overlay::String(ImVec2 pos, ImColor color, const char* text,int font)
{ {
E01C6DText(pos, color, text, text + strlen(text), 200, 0 , font); Text(pos, color, text, text + strlen(text), 200, 0 , font);
} }
void Overlay::RectE01C6DFilled(float x0, float y0, float x1, float y1, ImColor color, float rounding, int rounding_corners_flags) void Overlay::RectFilled(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); ImGui::GetWindowDrawList()->AddRectFilled(ImVec2(x0, y0), ImVec2(x1, y1), color, rounding, rounding_corners_flags);
} }
void Overlay::ProgressE01C6DBar(float x, float y, float w, float h, int value, int v_max, ImColor barColor) void Overlay::ProgressBar(float x, float y, float w, float h, int value, int v_max, ImColor barColor)
{ {
RectE01C6DFilled(x, y, x + w, y + ((h / float(v_max)) * (float)value), barColor, 0.0f, 0); RectFilled(x, y, x + w, y + ((h / float(v_max)) * (float)value), barColor, 0.0f, 0);
} }
@ -514,36 +514,36 @@ void DrawHexagonFilled(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, con
ImGui::GetWindowDrawList()->AddHexagonFilled(p1, p2, p3, p4, p5, p6, col); ImGui::GetWindowDrawList()->AddHexagonFilled(p1, p2, p3, p4, p5, p6, col);
} }
void Overlay::DrawE01C6DHealth(float E01C6Dx, float E01C6Dy, int E01C6Dshield, int E01C6Dmax_shield, int E01C6DarmorType, int E01C6Dhealth) { void Overlay::DrawHealth(float x, float y, int shield, int max_shield, int armorType, int health) {
int E01C6Dbg_offset = 3; int bg_offset = 3;
int E01C6Dbar_width = 105; //158 int bar_width = 105; //158
// 4steps...2*3=6 // 4steps...2*3=6
// 38*4=152 152+6 = 158 // 38*4=152 152+6 = 158
// 5steps...2*4=8 // 5steps...2*4=8
// 30*5=150 150+8 = 158 // 30*5=150 150+8 = 158
float E01C6Dmax_health = 100.0f;//100 float max_health = 100.0f;//100
float E01C6Dshield_step = 25.0f; //25 float shield_step = 25.0f; //25
int E01C6Dshield_25 = 14; //30 int shield_25 = 14; //30
int E01C6Dsteps = 5; int steps = 5;
ImVec2 bg1(E01C6Dx - E01C6Dbar_width / 2 - E01C6Dbg_offset, E01C6Dy); ImVec2 bg1(x - bar_width / 2 - bg_offset, y);
ImVec2 bg2(bg1.x - 10, bg1.y - 16); ImVec2 bg2(bg1.x - 10, bg1.y - 16);
ImVec2 bg3(bg2.x + 5, bg2.y - 7); ImVec2 bg3(bg2.x + 5, bg2.y - 7);
ImVec2 bg4(bg3.x + E01C6Dbar_width + E01C6Dbg_offset, bg3.y); ImVec2 bg4(bg3.x + bar_width + bg_offset, bg3.y);
ImVec2 bg5(bg4.x + 11, bg4.y + 18); ImVec2 bg5(bg4.x + 11, bg4.y + 18);
ImVec2 bg6(E01C6Dx + E01C6Dbar_width / 2 + E01C6Dbg_offset, E01C6Dy); ImVec2 bg6(x + bar_width / 2 + bg_offset, y);
DrawHexagonFilled(bg1, bg2, bg3, bg4, bg5, bg6, ImColor(0, 0, 0, 120)); DrawHexagonFilled(bg1, bg2, bg3, bg4, bg5, bg6, ImColor(0, 0, 0, 120));
ImVec2 h1(bg1.x + 3, bg1.y - 4); ImVec2 h1(bg1.x + 3, bg1.y - 4);
ImVec2 h2(h1.x - 5, h1.y - 8); ImVec2 h2(h1.x - 5, h1.y - 8);
ImVec2 h3(h2.x + (float)E01C6Dhealth / E01C6Dmax_health * E01C6Dbar_width, h2.y); ImVec2 h3(h2.x + (float)health / max_health * bar_width, h2.y);
ImVec2 h4(h1.x + (float)E01C6Dhealth / E01C6Dmax_health * E01C6Dbar_width, h1.y); ImVec2 h4(h1.x + (float)health / max_health * bar_width, h1.y);
ImVec2 h3m(h2.x + E01C6Dbar_width, h2.y); ImVec2 h3m(h2.x + bar_width, h2.y);
ImVec2 h4m(h1.x + E01C6Dbar_width, h1.y); ImVec2 h4m(h1.x + bar_width, h1.y);
DrawQuadFilled(h1, h2, h3m, h4m, ImColor(10, 10, 30, 60)); DrawQuadFilled(h1, h2, h3m, h4m, ImColor(10, 10, 30, 60));
DrawQuadFilled(h1, h2, h3, h4, WHITE); DrawQuadFilled(h1, h2, h3, h4, WHITE);
@ -553,23 +553,23 @@ void Overlay::DrawE01C6DHealth(float E01C6Dx, float E01C6Dy, int E01C6Dshield, i
ImColor shieldCol; ImColor shieldCol;
ImColor shieldColDark; //not used, but the real seer q has shadow inside ImColor shieldColDark; //not used, but the real seer q has shadow inside
if (E01C6Dmax_shield == 50) { //white if (max_shield == 50) { //white
shieldCol = ImColor(247, 247, 247); shieldCol = ImColor(247, 247, 247);
shieldColDark = ImColor(164, 164, 164); shieldColDark = ImColor(164, 164, 164);
} }
else if (E01C6Dmax_shield == 75) { //blue else if (max_shield == 75) { //blue
shieldCol = ImColor(39, 178, 255); shieldCol = ImColor(39, 178, 255);
shieldColDark = ImColor(27, 120, 210); shieldColDark = ImColor(27, 120, 210);
} }
else if (E01C6Dmax_shield == 100) { //purple else if (max_shield == 100) { //purple
shieldCol = ImColor(206, 59, 255); shieldCol = ImColor(206, 59, 255);
shieldColDark = ImColor(136, 36, 220); shieldColDark = ImColor(136, 36, 220);
} }
else if (E01C6Dmax_shield == 100) { //gold else if (max_shield == 100) { //gold
shieldCol = ImColor(255, 255, 79); shieldCol = ImColor(255, 255, 79);
shieldColDark = ImColor(218, 175, 49); shieldColDark = ImColor(218, 175, 49);
} }
else if (E01C6Dmax_shield == 125) { //red else if (max_shield == 125) { //red
shieldCol = ImColor(219, 2, 2); shieldCol = ImColor(219, 2, 2);
shieldColDark = ImColor(219, 2, 2); shieldColDark = ImColor(219, 2, 2);
} }
@ -577,7 +577,7 @@ void Overlay::DrawE01C6DHealth(float E01C6Dx, float E01C6Dy, int E01C6Dshield, i
shieldCol = ImColor(247, 247, 247); shieldCol = ImColor(247, 247, 247);
shieldColDark = ImColor(164, 164, 164); shieldColDark = ImColor(164, 164, 164);
} }
int shield_tmp = E01C6Dshield; int shield_tmp = shield;
int shield1 = 0; int shield1 = 0;
int shield2 = 0; int shield2 = 0;
int shield3 = 0; int shield3 = 0;
@ -614,185 +614,185 @@ void Overlay::DrawE01C6DHealth(float E01C6Dx, float E01C6Dy, int E01C6Dshield, i
} }
ImVec2 s1(h2.x - 1, h2.y - 2); ImVec2 s1(h2.x - 1, h2.y - 2);
ImVec2 s2(s1.x - 3, s1.y - 5); ImVec2 s2(s1.x - 3, s1.y - 5);
ImVec2 s3(s2.x + shield1 / E01C6Dshield_step * E01C6Dshield_25, s2.y); ImVec2 s3(s2.x + shield1 / shield_step * shield_25, s2.y);
ImVec2 s4(s1.x + shield1 / E01C6Dshield_step * E01C6Dshield_25, s1.y); ImVec2 s4(s1.x + shield1 / shield_step * shield_25, s1.y);
ImVec2 s3m(s2.x + E01C6Dshield_25, s2.y); ImVec2 s3m(s2.x + shield_25, s2.y);
ImVec2 s4m(s1.x + E01C6Dshield_25, s1.y); ImVec2 s4m(s1.x + shield_25, s1.y);
ImVec2 ss1(s4m.x + 2, s1.y); ImVec2 ss1(s4m.x + 2, s1.y);
ImVec2 ss2(s3m.x + 2, s2.y); ImVec2 ss2(s3m.x + 2, s2.y);
ImVec2 ss3(ss2.x + shield2 / E01C6Dshield_step * E01C6Dshield_25, s2.y); ImVec2 ss3(ss2.x + shield2 / shield_step * shield_25, s2.y);
ImVec2 ss4(ss1.x + shield2 / E01C6Dshield_step * E01C6Dshield_25, s1.y); ImVec2 ss4(ss1.x + shield2 / shield_step * shield_25, s1.y);
ImVec2 ss3m(ss2.x + E01C6Dshield_25, s2.y); ImVec2 ss3m(ss2.x + shield_25, s2.y);
ImVec2 ss4m(ss1.x + E01C6Dshield_25, s1.y); ImVec2 ss4m(ss1.x + shield_25, s1.y);
ImVec2 sss1(ss4m.x + 2, s1.y); ImVec2 sss1(ss4m.x + 2, s1.y);
ImVec2 sss2(ss3m.x + 2, s2.y); ImVec2 sss2(ss3m.x + 2, s2.y);
ImVec2 sss3(sss2.x + shield3 / E01C6Dshield_step * E01C6Dshield_25, s2.y); ImVec2 sss3(sss2.x + shield3 / shield_step * shield_25, s2.y);
ImVec2 sss4(sss1.x + shield3 / E01C6Dshield_step * E01C6Dshield_25, s1.y); ImVec2 sss4(sss1.x + shield3 / shield_step * shield_25, s1.y);
ImVec2 sss3m(sss2.x + E01C6Dshield_25, s2.y); ImVec2 sss3m(sss2.x + shield_25, s2.y);
ImVec2 sss4m(sss1.x + E01C6Dshield_25, s1.y); ImVec2 sss4m(sss1.x + shield_25, s1.y);
ImVec2 ssss1(sss4m.x + 2, s1.y); ImVec2 ssss1(sss4m.x + 2, s1.y);
ImVec2 ssss2(sss3m.x + 2, s2.y); ImVec2 ssss2(sss3m.x + 2, s2.y);
ImVec2 ssss3(ssss2.x + shield4 / E01C6Dshield_step * E01C6Dshield_25, s2.y); ImVec2 ssss3(ssss2.x + shield4 / shield_step * shield_25, s2.y);
ImVec2 ssss4(ssss1.x + shield4 / E01C6Dshield_step * E01C6Dshield_25, s1.y); ImVec2 ssss4(ssss1.x + shield4 / shield_step * shield_25, s1.y);
ImVec2 ssss3m(ssss2.x + E01C6Dshield_25, s2.y); ImVec2 ssss3m(ssss2.x + shield_25, s2.y);
ImVec2 ssss4m(ssss1.x + E01C6Dshield_25, s1.y); ImVec2 ssss4m(ssss1.x + shield_25, s1.y);
ImVec2 sssss1(ssss4m.x + 2, s1.y); ImVec2 sssss1(ssss4m.x + 2, s1.y);
ImVec2 sssss2(ssss3m.x + 2, s2.y); ImVec2 sssss2(ssss3m.x + 2, s2.y);
ImVec2 sssss3(sssss2.x + shield5 / E01C6Dshield_step * E01C6Dshield_25, s2.y); ImVec2 sssss3(sssss2.x + shield5 / shield_step * shield_25, s2.y);
ImVec2 sssss4(sssss1.x + shield5 / E01C6Dshield_step * E01C6Dshield_25, s1.y); ImVec2 sssss4(sssss1.x + shield5 / shield_step * shield_25, s1.y);
ImVec2 sssss3m(sssss2.x + E01C6Dshield_25, s2.y); ImVec2 sssss3m(sssss2.x + shield_25, s2.y);
ImVec2 sssss4m(sssss1.x + E01C6Dshield_25, s1.y); ImVec2 sssss4m(sssss1.x + shield_25, s1.y);
if (E01C6Dmax_shield == 50) { if (max_shield == 50) {
if (E01C6Dshield <= 25) { if (shield <= 25) {
if (E01C6Dshield < 25) { if (shield < 25) {
DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked); DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked);
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
} }
if (E01C6Dshield != 0) if (shield != 0)
DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(s1, s2, s3, s4, shieldCol);
} }
else if (E01C6Dshield <= 50) { else if (shield <= 50) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(s1, s2, s3, s4, shieldCol);
if (E01C6Dshield != 50) { if (shield != 50) {
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
} }
if (E01C6Dshield != 0) if (shield != 0)
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
} }
} }
else if (E01C6Dmax_shield == 75) { else if (max_shield == 75) {
if (E01C6Dshield <= 25) { if (shield <= 25) {
if (E01C6Dshield < 25) { if (shield < 25) {
DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked); DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked);
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
} }
if (E01C6Dshield != 0) if (shield != 0)
DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(s1, s2, s3, s4, shieldCol);
} }
else if (E01C6Dshield <= 50) { else if (shield <= 50) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(s1, s2, s3, s4, shieldCol);
if (E01C6Dshield < 50) { if (shield < 50) {
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
} }
if (E01C6Dshield != 0) if (shield != 0)
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
} }
else if (E01C6Dshield <= 75) { else if (shield <= 75) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
if (E01C6Dshield < 75) { if (shield < 75) {
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
} }
if (E01C6Dshield != 0) if (shield != 0)
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol); DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
} }
} }
else if (E01C6Dmax_shield == 100) { else if (max_shield == 100) {
if (E01C6Dshield <= 25) { if (shield <= 25) {
if (E01C6Dshield < 25) { if (shield < 25) {
DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked); DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked);
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
} }
if (E01C6Dshield != 0) if (shield != 0)
DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(s1, s2, s3, s4, shieldCol);
} }
else if (E01C6Dshield <= 50) { else if (shield <= 50) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(s1, s2, s3, s4, shieldCol);
if (E01C6Dshield < 50) { if (shield < 50) {
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
} }
if (E01C6Dshield != 0) if (shield != 0)
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
} }
else if (E01C6Dshield <= 75) { else if (shield <= 75) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
if (E01C6Dshield < 75) { if (shield < 75) {
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
} }
if (E01C6Dshield != 0) if (shield != 0)
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol); DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
} }
else if (E01C6Dshield <= 100) { else if (shield <= 100) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol); DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
if (E01C6Dshield < 100) { if (shield < 100) {
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
} }
if (E01C6Dshield != 0) if (shield != 0)
DrawQuadFilled(ssss1, ssss2, ssss3, ssss4, shieldCol); DrawQuadFilled(ssss1, ssss2, ssss3, ssss4, shieldCol);
} }
} }
else if (E01C6Dmax_shield == 125) { else if (max_shield == 125) {
if (E01C6Dshield <= 25) { if (shield <= 25) {
if (E01C6Dshield < 25) { if (shield < 25) {
DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked); DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked);
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked); DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked);
} }
if (E01C6Dshield != 0) if (shield != 0)
DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(s1, s2, s3, s4, shieldCol);
} }
else if (E01C6Dshield <= 50) { else if (shield <= 50) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(s1, s2, s3, s4, shieldCol);
if (E01C6Dshield < 50) { if (shield < 50) {
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked); DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked); DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked);
} }
if (E01C6Dshield != 0) if (shield != 0)
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
} }
else if (E01C6Dshield <= 75) { else if (shield <= 75) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
if (E01C6Dshield < 75) { if (shield < 75) {
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked); DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked); DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked);
} }
if (E01C6Dshield != 0) if (shield != 0)
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol); DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
} }
else if (E01C6Dshield <= 100) { else if (shield <= 100) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol); DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
if (E01C6Dshield < 100) { if (shield < 100) {
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked); DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked); DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked);
} }
if (E01C6Dshield != 0) if (shield != 0)
DrawQuadFilled(ssss1, ssss2, ssss3, ssss4, shieldCol); DrawQuadFilled(ssss1, ssss2, ssss3, ssss4, shieldCol);
} }
else if (E01C6Dshield <= 125) { else if (shield <= 125) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol); DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol); DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol); DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
DrawQuadFilled(ssss1, ssss2, ssss3, ssss4, shieldCol); DrawQuadFilled(ssss1, ssss2, ssss3, ssss4, shieldCol);
if (E01C6Dshield < 125) { if (shield < 125) {
DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked); DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked);
} }
if (E01C6Dshield != 0) if (shield != 0)
DrawQuadFilled(sssss1, sssss2, sssss3, sssss4, shieldCol); DrawQuadFilled(sssss1, sssss2, sssss3, sssss4, shieldCol);
} }
} }

@ -24,42 +24,42 @@
#define WHITE ImColor(255, 255, 255) #define WHITE ImColor(255, 255, 255)
#define PURPLE ImColor(255, 0 , 255) #define PURPLE ImColor(255, 0 , 255)
typedef struct E01C6Dvisuals typedef struct visuals
{ {
bool E01C6Dbox = true; bool box = true;
bool E01C6Dline = true; bool line = true;
bool E01C6Ddistance = true; bool distance = true;
bool E01C6Dhealthbar = true; bool healthbar = true;
bool E01C6Dshieldbar = true; bool shieldbar = true;
bool E01C6Drenderxp = true; bool renderxp = true;
}E01C6Dvisuals; }visuals;
class Overlay class Overlay
{ {
public: public:
void StartE01C6D(); void Start();
DWORD CreateE01C6DOverlay(); DWORD CreateOverlay();
void ClearE01C6D(); void Clear();
int getE01C6DWidth(); int getWidth();
int getE01C6DHeight(); int getHeight();
void RenderE01C6DInfo(); void RenderInfo();
void RenderE01C6DMenu(); void RenderMenu();
void RenderE01C6DEsp(); void RenderEsp();
void ProcessE01C6DEsp(); void ProcessEsp();
void RenderE01C6DSpectator(); void RenderSpectator();
void ClickE01C6DThrough(bool v); void ClickThrough(bool v);
void DrawE01C6DLine(ImVec2 a, ImVec2 b, ImColor color, float width); void DrawLine(ImVec2 a, ImVec2 b, ImColor color, float width);
void DrawE01C6DBox(ImColor color, float x, float y, float w, float h); void DrawBox(ImColor color, float x, float y, float w, float h);
void E01C6DText(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4 * cpu_fine_clip_rect); void Text(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4 * cpu_fine_clip_rect);
void E01C6DText(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4* cpu_fine_clip_rect,int font); void Text(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4* cpu_fine_clip_rect,int font);
void RectE01C6DFilled(float x0, float y0, float x1, float y1, ImColor color, float rounding, int rounding_corners_flags); void RectFilled(float x0, float y0, float x1, float y1, ImColor color, float rounding, int rounding_corners_flags);
void ProgressE01C6DBar(float x, float y, float w, float h, int value, int v_max, ImColor barColor); void ProgressBar(float x, float y, float w, float h, int value, int v_max, ImColor barColor);
void StringE01C6D(ImVec2 pos, ImColor color, const char* text); void String(ImVec2 pos, ImColor color, const char* text);
void StringE01C6D(ImVec2 pos, ImColor color, const char* text, int font); void String(ImVec2 pos, ImColor color, const char* text, int font);
//Seer //Seer
void DrawE01C6DHealth(float E01C6Dx, float E01C6Dy, int E01C6Dshield, int E01C6Dmax_shield, int E01C6DarmorType, int E01C6Dhealth); void DrawHealth(float x, float y, int shield, int max_shield, int armorType, int health);
private: private:
bool E01C6Drunning; bool running;
HWND overlayE01C6DHWND; HWND overlayHWND;
}; };

@ -5,12 +5,12 @@
#define WDA_EXCLUDEFROMCAPTURE 0x00000011 #define WDA_EXCLUDEFROMCAPTURE 0x00000011
const MARGINS margins = { -1 ,-1, -1, -1 }; const MARGINS margins = { -1 ,-1, -1, -1 };
const wchar_t g_szClassName[] = L"E01C6Doverlay"; const wchar_t g_szClassName[] = L"overlay";
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{ {
WNDCLASSEX wc; WNDCLASSEX wc;
HWND E01C6Dhwnd; HWND hwnd;
MSG Msg; MSG Msg;
wc.cbSize = sizeof(WNDCLASSEX); wc.cbSize = sizeof(WNDCLASSEX);
@ -28,7 +28,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
RegisterClassEx(&wc); RegisterClassEx(&wc);
E01C6Dhwnd = CreateWindowEx( hwnd = CreateWindowEx(
WS_EX_LAYERED | WS_EX_TRANSPARENT, WS_EX_LAYERED | WS_EX_TRANSPARENT,
g_szClassName, g_szClassName,
g_szClassName, g_szClassName,
@ -36,9 +36,9 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
0, 0, 1920, 1080, 0, 0, 1920, 1080,
NULL, NULL, hInstance, NULL); NULL, NULL, hInstance, NULL);
SetLayeredWindowAttributes(E01C6Dhwnd, RGB(0, 0, 0), 175, LWA_ALPHA); SetLayeredWindowAttributes(hwnd, RGB(0, 0, 0), 175, LWA_ALPHA);
SetWindowDisplayAffinity(E01C6Dhwnd, WDA_EXCLUDEFROMCAPTURE); SetWindowDisplayAffinity(hwnd, WDA_EXCLUDEFROMCAPTURE);
DwmExtendFrameIntoClientArea(E01C6Dhwnd, &margins); DwmExtendFrameIntoClientArea(hwnd, &margins);
while (GetMessage(&Msg, NULL, 0, 0) > 0) while (GetMessage(&Msg, NULL, 0, 0) > 0)
{ {

Loading…
Cancel
Save