“v2.0”

pull/35/head
AtomBottle
parent dc77ffedc6
commit 052e916ad3

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

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

@ -24,42 +24,42 @@
#define WHITE ImColor(255, 255, 255)
#define PURPLE ImColor(255, 0 , 255)
typedef struct E01C6Dvisuals
typedef struct visuals
{
bool E01C6Dbox = true;
bool E01C6Dline = true;
bool E01C6Ddistance = true;
bool E01C6Dhealthbar = true;
bool E01C6Dshieldbar = true;
bool E01C6Drenderxp = true;
}E01C6Dvisuals;
bool box = true;
bool line = true;
bool distance = true;
bool healthbar = true;
bool shieldbar = true;
bool renderxp = true;
}visuals;
class Overlay
{
public:
void StartE01C6D();
DWORD CreateE01C6DOverlay();
void ClearE01C6D();
int getE01C6DWidth();
int getE01C6DHeight();
void RenderE01C6DInfo();
void RenderE01C6DMenu();
void RenderE01C6DEsp();
void ProcessE01C6DEsp();
void RenderE01C6DSpectator();
void ClickE01C6DThrough(bool v);
void DrawE01C6DLine(ImVec2 a, ImVec2 b, ImColor color, float width);
void DrawE01C6DBox(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 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 RectE01C6DFilled(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 StringE01C6D(ImVec2 pos, ImColor color, const char* text);
void StringE01C6D(ImVec2 pos, ImColor color, const char* text, int font);
void Start();
DWORD CreateOverlay();
void Clear();
int getWidth();
int getHeight();
void RenderInfo();
void RenderMenu();
void RenderEsp();
void ProcessEsp();
void RenderSpectator();
void ClickThrough(bool v);
void DrawLine(ImVec2 a, ImVec2 b, ImColor color, float width);
void DrawBox(ImColor color, float x, float y, float w, float h);
void Text(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,int font);
void RectFilled(float x0, float y0, float x1, float y1, ImColor color, float rounding, int rounding_corners_flags);
void ProgressBar(float x, float y, float w, float h, int value, int v_max, ImColor barColor);
void String(ImVec2 pos, ImColor color, const char* text);
void String(ImVec2 pos, ImColor color, const char* text, int font);
//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:
bool E01C6Drunning;
HWND overlayE01C6DHWND;
bool running;
HWND overlayHWND;
};

@ -5,12 +5,12 @@
#define WDA_EXCLUDEFROMCAPTURE 0x00000011
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)
{
WNDCLASSEX wc;
HWND E01C6Dhwnd;
HWND hwnd;
MSG Msg;
wc.cbSize = sizeof(WNDCLASSEX);
@ -28,7 +28,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
RegisterClassEx(&wc);
E01C6Dhwnd = CreateWindowEx(
hwnd = 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(E01C6Dhwnd, RGB(0, 0, 0), 175, LWA_ALPHA);
SetWindowDisplayAffinity(E01C6Dhwnd, WDA_EXCLUDEFROMCAPTURE);
DwmExtendFrameIntoClientArea(E01C6Dhwnd, &margins);
SetLayeredWindowAttributes(hwnd, RGB(0, 0, 0), 175, LWA_ALPHA);
SetWindowDisplayAffinity(hwnd, WDA_EXCLUDEFROMCAPTURE);
DwmExtendFrameIntoClientArea(hwnd, &margins);
while (GetMessage(&Msg, NULL, 0, 0) > 0)
{

Loading…
Cancel
Save