pull/35/head
AtomBottle 1 year ago
parent 5844a65971
commit 10eb5c40e4

@ -2,26 +2,26 @@
##### UnknownCheats thread: https://www.unknowncheats.me/forum/apex-legends/406426-kvm-vmread-apex-esp-aimbot.html
#new features
- Xp Level ESP
- seerhealthESP/some aimbot code,paste from https://github.com/KrackerCo/apex_dma_kvm_pub.
- platform userid ESP,use it to search player's rank'.
> idont know why after add rank ESP,the client will crash,but i keep void"GetJson", these code are paste from https://www.unknowncheats.me/forum/apex-legends/520061-rank-statistics-players.html,
if someone can finish it, + pull request please
- support UTF-8 ESP for japanese and chinese
- Esp for player's Level
- seerhealthESP / some parts of aimbot codes,paste from https://github.com/KrackerCo/apex_dma_kvm_pub.
- support UTF-8 text
- free camera
- overlay's stream proof by setwindowdisplaffinity
- client's stream proof,(hide commandline),check it in client : main.cpp (void ShowWindow)
- overlay's streamproof by setwindowdisplaffinity
- client's streamproof,(hide the CMD window), disable/enable it by : main.cpp (void ShowWindow)
- you can enable aimbot/esp for your teammates
- press mouse4 to disable visible check
- press mouse4 to disable visible check(Aim at enemies behind smoke)
- display legend's name (https://www.unknowncheats.me/forum/3915178-post14046.html)
# how to use
## guest
- to bypass EAC detection,use ctrl+h to replace "serial-string" to anything you want.
- in Guest: main.cpp,overlay.cpp,overlay.h
- ctrl+h to replace "changeableplace" to other contents to bypass memory detection.
- in CustomOverlay: main.cpp
- better with VMprotect
- release x64, use custom overlay.
- better use VMprotect
- build in release x64, use custom overlay for streamproof.
## linux
- change no-recoil strength in Game.cpp
- for rank esp, you need your own apikey,reg one from apexlegendsapi, use index.html ,input userid to search player's rank
- what's "add_off"? ,it's in apex_dma.cpp , will display in client's commandline
* i have no time to teach about GPU passthrough or how to install this repo, because i only have a few time .....sorry of that*
- you could change Recoil setting strength in Game.cpp
- Add_off is the offset of client.exe. it would show on the window of client.exe
## Documents about Bypassing
- https://github.com/WCharacter/RDTSC-KVM-Handler
- https://github.com/A1exxander/KVM-Spoofing
*If you are concerned with Passthrough/bypass , ask Unknowncheats community for help*

@ -249,32 +249,6 @@ float Entity::GetYaw()
return yaw;
}
bool Entity::isGlowing()
{
return *(int*)(buffer + OFFSET_GLOW_ENABLE) == 7;
}
bool Entity::isZooming()
{
return *(int*)(buffer + OFFSET_ZOOMING) == 1;
}
void Entity::enableGlow()
{
apex_mem.Write<int>(ptr + OFFSET_GLOW_T1, 16256);
apex_mem.Write<int>(ptr + OFFSET_GLOW_T2, 1193322764);
apex_mem.Write<int>(ptr + OFFSET_GLOW_ENABLE, 7);
apex_mem.Write<int>(ptr + OFFSET_GLOW_THROUGH_WALLS, 2);
}
void Entity::disableGlow()
{
apex_mem.Write<int>(ptr + OFFSET_GLOW_T1, 0);
apex_mem.Write<int>(ptr + OFFSET_GLOW_T2, 0);
apex_mem.Write<int>(ptr + OFFSET_GLOW_ENABLE, 2);
apex_mem.Write<int>(ptr + OFFSET_GLOW_THROUGH_WALLS, 5);
}
void Entity::SetViewAngles(SVector angles)
{
apex_mem.Write<SVector>(ptr + OFFSET_VIEWANGLES, angles);
@ -311,21 +285,6 @@ bool Item::isItem()
return strncmp(class_name, "CPropSurvival", 13) == 0;
}
bool Item::isGlowing()
{
return *(int*)(buffer + OFFSET_ITEM_GLOW) == 1363184265;
}
void Item::enableGlow()
{
apex_mem.Write<int>(ptr + OFFSET_ITEM_GLOW, 1363184265);
}
void Item::disableGlow()
{
apex_mem.Write<int>(ptr + OFFSET_ITEM_GLOW, 1411417991);
}
Vector Item::getPosition()
{
return *(Vector*)(buffer + OFFSET_ORIGIN);

@ -12,7 +12,7 @@
Memory apex_mem;
Memory client_mem;
uint64_t add_off = 0xa1040;
uint64_t add_off = 0x114514;
bool freecam = false;
bool lockall_enable = false;
@ -65,8 +65,8 @@ typedef struct player
int xp_level = 0;
int maxshield = 0;
int armortype = 0;
uint64_t uid = 0;
char name[33] = { 0 };
char model_name[33] = { 0 };
}player;
struct Matrix
@ -205,15 +205,6 @@ void DoActions()
continue;
}
if (player_glow && !Target.isGlowing())
{
Target.enableGlow();
}
else if (!player_glow && Target.isGlowing())
{
Target.disableGlow();
}
ProcessPlayer(LPlayer, Target, entitylist, c);
c++;
}
@ -240,15 +231,6 @@ void DoActions()
{
continue;
}
if (player_glow && !Target.isGlowing())
{
Target.enableGlow();
}
else if (!player_glow && Target.isGlowing())
{
Target.disableGlow();
}
}
}
@ -383,8 +365,6 @@ static void EspLoop()
int xp;
apex_mem.Read<int>(centity + OFFSET_XP, xp);
int xp_level = calc_level(xp);
uint64_t uid = 0;
apex_mem.Read<uint64_t>(centity + OFFSET_UID, uid);
players[c] =
{
dist,
@ -401,10 +381,13 @@ static void EspLoop()
shield,
xp_level,
maxshield,
armortype,
uid
armortype
};
Target.get_name(g_Base, i - 1, &players[c].name[0]);
uint64_t model_ptr;
apex_mem.Read(centity + OFFSET_MODELNAME, model_ptr);
apex_mem.ReadArray(model_ptr,&players[c].model_name[0], 32);
lastvis_esp[c] = Target.lastVisTime();
valid = true;
c++;
@ -478,8 +461,6 @@ static void EspLoop()
int xp_level = calc_level(xp);
uint64_t uid;
apex_mem.Read<uint64_t>(centity + OFFSET_UID, uid);
players[i] =
{
dist,
@ -497,9 +478,12 @@ static void EspLoop()
xp_level,
maxshield,
armortype,
uid
};
Target.get_name(g_Base, i - 1, &players[i].name[0]);
uint64_t model_ptr;
apex_mem.Read(centity + OFFSET_MODELNAME, model_ptr);
apex_mem.ReadArray(model_ptr,&players[i].model_name[0], 32);
lastvis_esp[i] = Target.lastVisTime();
valid = true;
}
@ -678,10 +662,7 @@ int main(int argc, char* argv[])
}
const char* cl_proc = "client.exe";
const char* ap_proc = "R5Apex.exe";
//const char* ap_proc = "EasyAntiCheat_launcher.exe";
//Client "add" offset
//uint64_t add_off = 0x40d20;
const char* ap_proc = "r5apex.exe";
std::thread aimbot_thr;
std::thread esp_thr;

@ -1,120 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://unpkg.com/nes.css/css/nes.min.css">
<style>
body {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 100vh;
}
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 8px;
}
img {
max-width: 100%;
height: auto;
}
.legend-icon {
max-width: 20%;
height: auto;
}
.legend-container {
display:flex;
justify-content:center;
align-items:center;
width:100%;
height:auto;
}
.legend-container img{
max-width:40%;
height:auto;
margin-right:auto;
margin-left:auto;
}
/* Add this CSS to center the progress bar */
progress {
margin-left: auto;
margin-right: auto;
display:block;
}
</style>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body class="nes-container is-dark with-title">
<h1 class="title">ApexApi tool</h1>
<script>
function createTable() {
var url = "https://api.mozambiquehe.re/bridge?auth=";
var auth = document.getElementById("auth").value;
url += auth + "&platform=PC&uid=";
var uid = document.getElementById("uid").value;
url += uid;
$.getJSON(url, function(data) {
var rankDiv = data.global.rank.rankDiv;
var rankName = data.global.rank.rankName;
if (rankName != "Master" && rankName != "Apex Predator" && rankName != "Unranked") {
rankName += " " + rankDiv;
}
var ALStopIntGlobal = data.global.rank.ALStopIntGlobal;
var rankImg = data.global.rank.rankImg;
var icon = data.legends.selected.ImgAssets.icon;
var level = data.global.level;
var toNextLevelPercent = data.global.toNextLevelPercent;
var table = "<table><tr><th>Rank</th><th>Global</th><th>RankImg</th><th>Legend</th></tr>";
table += "<tr><td>" + rankName + "</td><td>" + ALStopIntGlobal + "</td><td><img src='" + rankImg + "'></td><td><div class='legend-container'><img class='legend-icon' src='" + icon + "'></div></td></tr>";
table += "</table>";
$("#table").html(table);
// Add this line to define the variable
var progressValue = toNextLevelPercent;
// Use the variable in the progress bar
$('progress').attr('value', progressValue);
//text
$('progress').before('<span>level ' + level + '</span>');
});
}
</script>
<label for="auth">APIKEY:</label>
<input type="text" id="auth" name="auth">
<label for="uid">UID:</label>
<input type="text" id="uid" name="uid">
<button type="button" class="nes-btn is-primary" onclick="createTable()">Search</button>
<div id="table"></div>
<progress class="nes-progress is-primary" value=100 max="100"></progress>
</body>
</html>

@ -1,52 +1,42 @@
#define OFFSET_UID 0x25c8 //m_platformUserId
#define OFFSET_ARMOR_TYPE 0x4654 //m_armorType
#define OFFSET_MAXSHIELD 0x0174 //m_shieldhealthmax
#define OFFSET_XP 0x36c4 //m_xp
#define OFFSET_WEAPON 0x1a14 //m_latestPrimaryWeapons
#define OFFSET_WEAPON_NAME 0x1858 //m_weaponNameIndex 2nd one
#define OFFSET_ENTITYLIST 0x1e53c68 //cl_entitylist
#define OFFSET_LOCAL_ENT 0x22036C0 + 0x8 //.?AVC_GameMovement@@ + 0x8
#define OFFSET_NAME_LIST 0xbe94b60 //NameList
#define OFFSET_TEAM 0x044c //m_iTeamNum
#define OFFSET_HEALTH 0x043c //m_iHealth
#define OFFSET_SHIELD 0x170 //m_shieldHealth
#define OFFSET_NAME 0x589 //m_iName
#define OFFSET_SIGN_NAME 0x580 //m_iSignifierName
#define OFFSET_ABS_VELOCITY 0x140 //m_vecAbsVelocity
#define OFFSET_VISIBLE_TIME 0x1A70 //CPlayer!lastVisibleTime
#define OFFSET_ZOOMING 0x1c51 //m_bZooming
#define OFFSET_YAW 0x22bc - 0x8 //m_currentFramePlayer.m_ammoPoolCount - 0x8
#define OFFSET_LIFE_STATE 0x798 //m_lifeState, >0 = dead
#define OFFSET_BLEED_OUT_STATE 0x2750 //m_bleedoutState, >0 = knocked
#define OFFSET_ORIGIN 0x014c //m_vecAbsOrigin
#define OFFSET_BONES 0x0e98 + 0x48 //m_nForceBone + 0x48
#define OFFSET_STUDIOHDR 0x10e8 //CBaseAnimating!m_pStudioHdr
#define OFFSET_AIMPUNCH 0x24b8 //m_currentFrameLocalPlayer.m_vecPunchWeapon_Angle
#define OFFSET_CAMERAPOS 0x1f50 //CPlayer!camera_origin
#define OFFSET_VIEWANGLES 0x25b4 - 0x14 //m_ammoPoolCapacity - 0x14
//game version: 3.0.51.45 / date:2023/11/21
#define OFFSET_ARMOR_TYPE 0x4634 //m_armorType
#define OFFSET_MAXSHIELD 0x01a4 //m_shieldhealthmax
#define OFFSET_MODELNAME 0x0030 //m_modelname
#define OFFSET_XP 0x369c //m_xp
#define OFFSET_WEAPON 0x1964 //m_latestPrimaryWeapons
#define OFFSET_WEAPON_NAME 0x17a8 //m_weaponNameIndex 2nd one
#define OFFSET_ENTITYLIST 0x1d71858 //cl_entitylist
#define OFFSET_LOCAL_ENT 0x211fac8 //.?AVC_GameMovement@@ + 0x8
#define OFFSET_NAME_LIST 0xc275bf0 //NameList
#define OFFSET_TEAM 0x037c //m_iTeamNum
#define OFFSET_HEALTH 0x036c //m_iHealth
#define OFFSET_SHIELD 0x1a0 //m_shieldHealth
#define OFFSET_NAME 0x04b9 //m_iName
#define OFFSET_SIGN_NAME 0x04b0 //m_iSignifierName
#define OFFSET_ABS_VELOCITY 0x0170 //m_vecAbsVelocity
#define OFFSET_VISIBLE_TIME 0x19BD+0x3 //CPlayer!lastVisibleTime
#define OFFSET_ZOOMING 0x1c01 //m_bZooming
#define OFFSET_YAW 0x226c - 0x8 //m_currentFramePlayer.m_ammoPoolCount - 0x8
#define OFFSET_LIFE_STATE 0x06c8 //m_lifeState, >0 = dead
#define OFFSET_BLEED_OUT_STATE 0x2710 //m_bleedoutState, >0 = knocked
#define OFFSET_ORIGIN 0x017c //m_vecAbsOrigin
#define OFFSET_BONES 0x0dd0 + 0x48 //m_nForceBone + 0x48
#define OFFSET_STUDIOHDR 0x1020 //CBaseAnimating!m_pStudioHdr
#define OFFSET_AIMPUNCH 0x2468 //m_currentFrameLocalPlayer.m_vecPunchWeapon_Angle
#define OFFSET_CAMERAPOS 0x1f00 //CPlayer!camera_origin
#define OFFSET_VIEWANGLES 0x2564 - 0x14 //m_ammoPoolCapacity - 0x14
#define OFFSET_BREATH_ANGLES OFFSET_VIEWANGLES - 0x10
#define OFFSET_OBSERVER_MODE 0x34f4 //m_iObserverMode
#define OFFSET_OBSERVING_TARGET 0x3500 //m_hObserverTarget
#define OFFSET_OBSERVER_MODE 0x34c4 //m_iObserverMode
#define OFFSET_OBSERVING_TARGET 0x34d0 //m_hObserverTarget
#define OFFSET_MATRIX 0x11a350 //ViewMatrix
#define OFFSET_RENDER 0x743AAA0 //ViewRender
#define OFFSET_BULLET_SPEED 0x1f3c
#define OFFSET_BULLET_SCALE 0x1f44
#define OFFSET_ZOOM_FOV 0x16b0 + 0xb8 //m_playerData + m_curZoomFOV
#define OFFSET_AMMO 0x1634 //m_ammoInClip //1634
#define OFFSET_ITEM_GLOW 0x2c0 //m_highlightFunctionBits
#define OFFSET_RENDER 0x7389d40 //ViewRender
#define OFFSET_GLOW_T1 0x262 //16256 = enabled, 0 = disabled
#define OFFSET_GLOW_T2 0x2dc //1193322764 = enabled, 0 = disabled
#define OFFSET_GLOW_ENABLE 0x3c8 //7 = enabled, 2 = disabled//for BH GLOW
#define OFFSET_GLOW_THROUGH_WALLS 0x3d0 //2 = enabled, 5 = disabled//for BH GLOW
#define GLOW_COLOR 0x1D0 // Script_CopyHighlightState 15th mov
#define OFFSET_GLOW_ENABLE_GLOW_CONTEXT OFFSET_GLOW_ENABLE // Script_Highlight_SetCurrentContext
#define OFFSET_GLOW_THROUGH_WALLS_GLOW_VISIBLE_TYPE OFFSET_GLOW_THROUGH_WALLS // Script_Highlight_SetVisibilityType 5th mov
#define OFFSET_BULLET_SPEED 0x19e0 + 0x04dc //CWeaponX!m_flProjectileSpeed maybe its WeaponSettings.projectile_launch_speed now
#define OFFSET_BULLET_SCALE 0x19e0 + 0x04e4 //CWeaponX!m_flProjectileScale maybe its WeaponSettings.projectile_gravity_scale now
#define OFFSET_ZOOM_FOV 0x1600 + 0xb8 //m_playerData + m_curZoomFOV
#define OFFSET_AMMO 0x15b0 //m_ammoInClip

@ -1,213 +1,229 @@
#include "main.h"
#include "main.h"
typedef struct serial - stringplayer
typedef struct changeableplaceplayer
{
float serial - stringdist = 0;
int serial - stringentity_team = 0;
float serial - stringboxMiddle = 0;
float serial - stringh_y = 0;
float serial - stringwidth = 0;
float serial - stringheight = 0;
float serial - stringb_x = 0;
float serial - stringb_y = 0;
bool serial - stringknocked = false;
bool serial - stringvisible = false;
int serial - stringhealth = 0;
int serial - stringshield = 0;
int serial - stringxp_level = 0;
int serial - stringmaxshield = 0;
int serial - stringarmortype = 0;
uint64_t serial - stringuid = 0;
char serial - stringname[33] = { 0 };
}serial - stringplayer;
float changeableplacedist = 0;
int changeableplaceentity_team = 0;
float changeableplaceboxMiddle = 0;
float changeableplaceh_y = 0;
float changeableplacewidth = 0;
float changeableplaceheight = 0;
float changeableplaceb_x = 0;
float changeableplaceb_y = 0;
bool changeableplaceknocked = false;
bool changeableplacevisible = false;
int changeableplacehealth = 0;
int changeableplaceshield = 0;
int changeableplacexp_level = 0;
int changeableplacemaxshield = 0;
int changeableplacearmortype = 0;
char changeableplacename[33] = { 0 };
char changeableplacemodel_name[33] = { 0 };
}changeableplaceplayer;
typedef struct serial - stringrankinfomation
{
char rankserial - stringinfo[17];
}serial - stringrankinfomation;
uint32_t serial - stringcheck = 0xABCD;
//VK_XBUTTON2=<3D>ϲ<EFBFBD><CFB2> //VK_XBUTTON1 = <20>²<EFBFBD><C2B2>
int serial - stringaim_key = VK_XBUTTON2;
int serial - stringaim_key2 = VK_XBUTTON1;
uint32_t changeableplacecheck = 0xABCD;
int changeableplaceaim_key = VK_XBUTTON2;
int changeableplaceaim_key2 = VK_XBUTTON1;
int serial - stringshoot_key = VK_LBUTTON;
int changeableplaceshoot_key = VK_LBUTTON;
float serial - stringscale = 1.4f;
bool serial - stringfiring_range;
int serial - stringoffset = 0;
bool serial - stringuse_nvidia = false;
bool serial - stringactive = true;
bool serial - stringready = false;
extern serial - stringvisuals serial - stringv;
int serial - stringaim = 2; //read
float changeableplacescale = 1.4f;
bool changeableplacefiring_range;
int changeableplaceoffset = 0;
bool changeableplaceuse_nvidia = false;
bool changeableplaceactive = true;
bool changeableplaceready = false;
extern changeableplacevisuals changeableplacev;
int changeableplaceaim = 2; //read
float serial - stringuid_dist = 150.0f * 40.0f;
float serial - stringname_dist = 150.0f * 40.0f;
bool serial - stringfreecam = false;//read
bool serial - stringlockall_mode = false; //read
float changeableplacexp_dist = 200.0f * 40.0f;
float changeableplacename_dist = 100.0f * 40.0f;
bool changeableplacefreecam = false;//read
bool changeableplacelockall_mode = false; //read
bool serial - stringesp = true; //read
bool serial - stringitem_glow = false;
bool serial - stringplayer_glow = false;
bool serial - stringaim_no_recoil = true;
bool serial - stringaiming = false; //read
uint64_t serial - stringg_Base = 0; //write
float serial - stringmax_dist = 650.0f * 40.0f; //read
float serial - stringseer_dist = 400.0 * 40.0f;
float serial - stringsmooth = 77.0f;
float serial - stringmax_fov = 20.0f;
int serial - stringbone = 3;
bool serial - stringthirdperson = false;
int serial - stringspectators = 0; //write
int serial - stringallied_spectators = 0; //write
bool serial - stringchargerifle = false;
bool serial - stringshooting = false; //read
bool changeableplaceesp = true; //read
bool changeableplaceitem_glow = false;
bool changeableplaceplayer_glow = false;
bool changeableplaceaim_no_recoil = true;
bool changeableplaceaiming = false; //read
uint64_t changeableplaceg_Base = 0; //write
float changeableplacemax_dist = 650.0f * 40.0f; //read
float changeableplaceseer_dist = 400.0 * 40.0f;
float changeableplacesmooth = 82.0f;
float changeableplacemax_fov = 12.0f;
int changeableplacebone = 3;
bool changeableplacethirdperson = false;
int changeableplacespectators = 0; //write
int changeableplaceallied_spectators = 0; //write
bool changeableplacechargerifle = false;
bool changeableplaceshooting = false; //read
int serial - stringindex = 0;
bool serial - stringvalid = false; //write
bool serial - stringnext = false; //read write
int changeableplaceindex = 0;
bool changeableplacevalid = false; //write
bool changeableplacenext = false; //read write
uint64_t serial - stringadd[23];
uint64_t changeableplaceadd[23];
bool serial - stringk_f5 = 0;
bool serial - stringk_f6 = 0;
bool serial - stringk_f8 = 0;
bool changeableplacek_f5 = 0;
bool changeableplacek_f6 = 0;
bool changeableplacek_f8 = 0;
/*
static size_t Writeserial-stringCallback(void* conserial-stringtents, size_t serial-stringsize, size_t nserial-stringmemb, void* userial-stringserp)
bool IsKeyDown(int vk)
{
((std::string*)userial-stringserp)->append((char*)conserial-stringtents, serial-stringsize * nserial-stringmemb);
return serial-stringsize * nserial-stringmemb;
return (GetAsyncKeyState(vk) & 0x8000) != 0;
}
std::string getJson(std::string url)
{
CURL* cserial-stringurl;
CURLcode serial-stringres;
std::string readserial-stringBuffer;
changeableplaceplayer changeableplaceplayers[100];
cserial-stringurl = curl_easy_init();
if (cserial-stringurl)
{
curl_easy_setopt(cserial-stringurl, CURLOPT_URL, url.c_str());
curl_easy_setopt(cserial-stringurl, CURLOPT_WRITEFUNCTION, Writeserial-stringCallback);
curl_easy_setopt(cserial-stringurl, CURLOPT_WRITEDATA, &readserial-stringBuffer);
serial-stringres = curl_easy_perform(cserial-stringurl);
curl_easy_cleanup(cserial-stringurl);
std::string changeableplaceprocess_model_name(char changeableplacemodel_name[]) {
if (strstr(changeableplacemodel_name, "dummie")) {
return u8"人机";
}
return readserial-stringBuffer;
}
std::string getserial-stringRank(long platforserial-stringmUserId) {
std::string userial-stringrl = "https://api.mozambiquehe.re/bridge?auth=";
userial-stringrl.append("99e187016931e489d971d808b87ab050");
userial-stringrl.append("&uid=");
userial-stringrl.append(std::to_string(platforserial-stringmUserId));
userial-stringrl.append("&platform=PC");
std::string serial-stringjson = getJson(userial-stringrl);
Json::Value serial-stringroot;
Json::Reader reserial-stringader;
bool parsingserial-stringSuccessful = reserial-stringader.parse(serial-stringjson, serial-stringroot);
if (!parsingserial-stringSuccessful)
{
printf("Failed to parse configuration\n");
return "err";
else if (strstr(changeableplacemodel_name, "bangalore")) {
return u8"班加罗尔";
}
std::string raserial-stringnkname = serial-stringroot["global"]["rank"]["rankName"].asString();
if (raserial-stringnkname == "") {
return "err";
else if (strstr(changeableplacemodel_name, "fuse")) {
return u8"暴雷";
}
std::string inB4A893fo = "";
std::string raserial-stringnkdiv = serial-stringroot["global"]["rank"]["rankDiv"].asString();
std::string raserial-stringnkglobal = serial-stringroot["global"]["rank"]["ALStopIntGlobal"].asString();
if (raserial-stringnkname == "Apex Predator") {
inB4A893fo.append(raserial-stringnkname);
inB4A893fo.append(raserial-stringnkglobal);
else if (strstr(changeableplacemodel_name, "ash")) {
return u8"艾许";
}
else {
inB4A893fo.append(raserial-stringnkname);
inB4A893fo.append(raserial-stringnkdiv);
else if (strstr(changeableplacemodel_name, "madmaggie")) {
return u8"疯马吉";
}
return inB4A893fo;
}
*/
bool IsKeyDown(int vk)
{
return (GetAsyncKeyState(vk) & 0x8000) != 0;
else if (strstr(changeableplacemodel_name, "ballistic")) {
return u8"弹道";
}
else if (strstr(changeableplacemodel_name, "pathfinder")) {
return u8"探路者";
}
else if (strstr(changeableplacemodel_name, "stim")) {
return u8"动力小子";
}
else if (strstr(changeableplacemodel_name, "revenant")) {
return u8"亡灵";
}
else if (strstr(changeableplacemodel_name, "nova")) {
return u8"地平线";
}
else if (strstr(changeableplacemodel_name, "valkyrie")) {
return u8"瓦尔基里";
}
else if (strstr(changeableplacemodel_name, "bloodhound")) {
return u8"寻血猎犬";
}
else if (strstr(changeableplacemodel_name, "crypto")) {
return u8"密客";
}
else if (strstr(changeableplacemodel_name, "seer")) {
return u8"希尔";
}
else if (strstr(changeableplacemodel_name, "wraith")) {
return u8"恶灵";
}
else if (strstr(changeableplacemodel_name, "vantage")) {
return u8"万蒂奇";
}
else if (strstr(changeableplacemodel_name, "gibraltar")) {
return u8"直布罗陀";
}
else if (strstr(changeableplacemodel_name, "lifeline")) {
return u8"命脉";
}
else if (strstr(changeableplacemodel_name, "loba")) {
return u8"罗芭";
}
else if (strstr(changeableplacemodel_name, "holo")) {
return u8"幻象";
}
else if (strstr(changeableplacemodel_name, "newcastle")) {
return u8"纽卡斯尔";
}
else if (strstr(changeableplacemodel_name, "conduit")) {
return u8"导线管";
}
else if (strstr(changeableplacemodel_name, "caustic")) {
return u8"侵蚀";
}
else if (strstr(changeableplacemodel_name, "wattson")) {
return u8"沃特森";
}
else if (strstr(changeableplacemodel_name, "rampart")) {
return u8"兰伯特";
}
else if (strstr(changeableplacemodel_name, "catalyst")) {
return u8"催化剂";
}
else return u8"读取出错";
}
serial - stringplayer serial - stringplayers[100];
serial - stringrankinfomation serial - stringrank_infomation[100];
void Overlay::Renderserial - stringEsp()
void Overlay::RenderchangeableplaceEsp()
{
serial - stringnext = false;
if (serial - stringg_Base != 0 && serial - stringesp)
changeableplacenext = false;
if (changeableplaceg_Base != 0 && changeableplaceesp)
{
memset(serial - stringplayers, 0, sizeof(serial - stringplayers));
memset(serial - stringrank_infomation, 0, sizeof(serial - stringrank_infomation));
while (!serial - stringnext && serial - stringesp)
memset(changeableplaceplayers, 0, sizeof(changeableplaceplayers));
while (!changeableplacenext && changeableplaceesp)
{
std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
if (serial - stringnext && serial - stringvalid)
if (changeableplacenext && changeableplacevalid)
{
ImGui::SetNextWindowPos(ImVec2(0, 0));
ImGui::SetNextWindowSize(ImVec2((float)getserial - stringWidth(), (float)getserial - stringHeight()));
ImGui::SetNextWindowSize(ImVec2((float)getchangeableplaceWidth(), (float)getchangeableplaceHeight()));
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 (serial - stringplayers[i].serial - stringhealth > 0)
if (changeableplaceplayers[i].changeableplacehealth > 0)
{
//xp and userid
std::string serial - stringrankstr = std::to_string(serial - stringplayers[i].serial - stringxp_level);
serial - stringrankstr = serial - stringrankstr.substr(0, serial - stringrankstr.find('.')) + u8"<EFBFBD><EFBFBD>( uid:" + std::to_string(serial - stringplayers[i].serial - stringuid) + u8")";
//xp+legend
std::string changeableplacexpstr = std::to_string(changeableplaceplayers[i].changeableplacexp_level);
changeableplacexpstr = u8"Level:" + changeableplacexpstr.substr(0, changeableplacexpstr.find('.')) + " Legend:" + changeableplaceprocess_model_name(changeableplaceplayers[i].changeableplacemodel_name);
//DISTENCE + teamnum
std::string serial - stringdistance = std::to_string(serial - stringplayers[i].serial - stringdist / 39.62);
serial - stringdistance = serial - stringdistance.substr(0, serial - stringdistance.find('.')) + u8"<EFBFBD><EFBFBD>(" + std::to_string(serial - stringplayers[i].serial - stringentity_team) + u8"С<EFBFBD><EFBFBD>)";
;
if (serial - stringv.serial - stringbox)
std::string changeableplacedistance = std::to_string(changeableplaceplayers[i].changeableplacedist / 39.62);
changeableplacedistance = changeableplacedistance.substr(0, changeableplacedistance.find('.')) + u8"M( No." + std::to_string(changeableplaceplayers[i].changeableplaceentity_team) + u8")";
if (changeableplacev.changeableplacebox)
{
if (serial - stringplayers[i].serial - stringvisible)
if (changeableplaceplayers[i].changeableplacevisible)
{
if (serial - stringplayers[i].serial - stringdist < 1600.0f)
Drawserial - stringBox(RED, serial - stringplayers[i].serial - stringboxMiddle, serial - stringplayers[i].serial - stringh_y, serial - stringplayers[i].serial - stringwidth, serial - stringplayers[i].serial - stringheight); //BOX
if (changeableplaceplayers[i].changeableplacedist < 1600.0f)
DrawchangeableplaceBox(RED, changeableplaceplayers[i].changeableplaceboxMiddle, changeableplaceplayers[i].changeableplaceh_y, changeableplaceplayers[i].changeableplacewidth, changeableplaceplayers[i].changeableplaceheight); //BOX
else
Drawserial - stringBox(ORANGE, serial - stringplayers[i].serial - stringboxMiddle, serial - stringplayers[i].serial - stringh_y, serial - stringplayers[i].serial - stringwidth, serial - stringplayers[i].serial - stringheight); //BOX
DrawchangeableplaceBox(ORANGE, changeableplaceplayers[i].changeableplaceboxMiddle, changeableplaceplayers[i].changeableplaceh_y, changeableplaceplayers[i].changeableplacewidth, changeableplaceplayers[i].changeableplaceheight); //BOX
}
else
{
Drawserial - stringBox(WHITE, serial - stringplayers[i].serial - stringboxMiddle, serial - stringplayers[i].serial - stringh_y, serial - stringplayers[i].serial - stringwidth, serial - stringplayers[i].serial - stringheight); //white if player not visible
DrawchangeableplaceBox(WHITE, changeableplaceplayers[i].changeableplaceboxMiddle, changeableplaceplayers[i].changeableplaceh_y, changeableplaceplayers[i].changeableplacewidth, changeableplaceplayers[i].changeableplaceheight); //white if player not visible
}
}
if (serial - stringv.serial - stringline)
Drawserial - stringLine(ImVec2((float)(getserial - stringWidth() / 2), (float)getserial - stringHeight()), ImVec2(serial - stringplayers[i].serial - stringb_x, serial - stringplayers[i].serial - stringb_y), BLUE, 1); //LINE FROM MIDDLE SCREEN
if (changeableplacev.changeableplaceline)
DrawchangeableplaceLine(ImVec2((float)(getchangeableplaceWidth() / 2), (float)getchangeableplaceHeight()), ImVec2(changeableplaceplayers[i].changeableplaceb_x, changeableplaceplayers[i].changeableplaceb_y), BLUE, 1); //LINE FROM MIDDLE SCREEN
if (serial - stringv.serial - stringdistance)
if (changeableplacev.changeableplacedistance)
{
if (serial - stringplayers[i].serial - stringknocked)
Stringserial - string(ImVec2(serial - stringplayers[i].serial - stringboxMiddle, (serial - stringplayers[i].serial - stringb_y + 1)), RED, serial - stringdistance.c_str()); //DISTANCE
if (changeableplaceplayers[i].changeableplaceknocked)
Stringchangeableplace(ImVec2(changeableplaceplayers[i].changeableplaceboxMiddle, (changeableplaceplayers[i].changeableplaceb_y + 1)), RED, changeableplacedistance.c_str()); //DISTANCE
else
Stringserial - string(ImVec2(serial - stringplayers[i].serial - stringboxMiddle, (serial - stringplayers[i].serial - stringb_y + 1)), WHITE, serial - stringdistance.c_str()); //DISTANCE
Stringchangeableplace(ImVec2(changeableplaceplayers[i].changeableplaceboxMiddle, (changeableplaceplayers[i].changeableplaceb_y + 1)), WHITE, changeableplacedistance.c_str()); //DISTANCE
}
//esp stuff of shield bar/ bar color
if (serial - stringv.serial - stringhealthbar && serial - stringplayers[i].serial - stringdist <= serial - stringseer_dist)
Drawserial - stringHealth((serial - stringplayers[i].serial - stringb_x - (serial - stringplayers[i].serial - stringwidth / 2.0f) + 5), (serial - stringplayers[i].serial - stringb_y - serial - stringplayers[i].serial - stringheight - 10), serial - stringplayers[i].serial - stringshield, serial - stringplayers[i].serial - stringmaxshield, serial - stringplayers[i].serial - stringarmortype, serial - stringplayers[i].serial - stringhealth);
if (changeableplacev.changeableplacehealthbar && changeableplaceplayers[i].changeableplacedist <= changeableplaceseer_dist)
DrawchangeableplaceHealth((changeableplaceplayers[i].changeableplaceb_x - (changeableplaceplayers[i].changeableplacewidth / 2.0f) + 5), (changeableplaceplayers[i].changeableplaceb_y - changeableplaceplayers[i].changeableplaceheight - 10), changeableplaceplayers[i].changeableplaceshield, changeableplaceplayers[i].changeableplacemaxshield, changeableplaceplayers[i].changeableplacearmortype, changeableplaceplayers[i].changeableplacehealth);
//name
if (serial - stringv.serial - stringname && serial - stringplayers[i].serial - stringdist <= serial - stringname_dist)
Stringserial - string(ImVec2(serial - stringplayers[i].serial - stringboxMiddle, (serial - stringplayers[i].serial - stringb_y - serial - stringplayers[i].serial - stringheight - 15)), WHITE, serial - stringplayers[i].serial - stringname);
//uid
if (serial - stringv.serial - stringrenderrank && serial - stringplayers[i].serial - stringdist <= serial - stringuid_dist) {
Stringserial - string(ImVec2((serial - stringplayers[i].serial - stringb_x - (serial - stringplayers[i].serial - stringwidth / 2.0f) + 5), (serial - stringplayers[i].serial - stringb_y - serial - stringplayers[i].serial - stringheight - 45)), WHITE, serial - stringrankstr.c_str());
if (changeableplacev.changeableplacename && changeableplaceplayers[i].changeableplacedist <= changeableplacename_dist)
Stringchangeableplace(ImVec2(changeableplaceplayers[i].changeableplaceboxMiddle, (changeableplaceplayers[i].changeableplaceb_y - changeableplaceplayers[i].changeableplaceheight - 15)), WHITE, changeableplaceplayers[i].changeableplacename);
//xp and legend
if (changeableplacev.changeableplacerenderxp && changeableplaceplayers[i].changeableplacedist <= changeableplacexp_dist) {
Stringchangeableplace(ImVec2(changeableplaceplayers[i].changeableplaceboxMiddle - changeableplaceplayers[i].changeableplacewidth , (changeableplaceplayers[i].changeableplaceb_y - changeableplaceplayers[i].changeableplaceheight - 15)), GREEN , changeableplacexpstr.c_str());
}
}
}
ImGui::End();
}
}
@ -216,74 +232,74 @@ void Overlay::Renderserial - stringEsp()
int main(int argc, char** argv)
{
ShowWindow(GetForegroundWindow(), 0);
serial - stringadd[0] = (uintptr_t)&serial - stringcheck;
serial - stringadd[1] = (uintptr_t)&serial - stringaim;
serial - stringadd[2] = (uintptr_t)&serial - stringesp;
serial - stringadd[3] = (uintptr_t)&serial - stringaiming;
serial - stringadd[4] = (uintptr_t)&serial - stringg_Base;
serial - stringadd[5] = (uintptr_t)&serial - stringnext;
serial - stringadd[6] = (uintptr_t)&serial - stringplayers[0];
serial - stringadd[7] = (uintptr_t)&serial - stringvalid;
serial - stringadd[8] = (uintptr_t)&serial - stringmax_dist;
serial - stringadd[9] = (uintptr_t)&serial - stringitem_glow;
serial - stringadd[10] = (uintptr_t)&serial - stringplayer_glow;
serial - stringadd[11] = (uintptr_t)&serial - stringaim_no_recoil;
serial - stringadd[12] = (uintptr_t)&serial - stringsmooth;
serial - stringadd[13] = (uintptr_t)&serial - stringmax_fov;
serial - stringadd[14] = (uintptr_t)&serial - stringbone;
serial - stringadd[15] = (uintptr_t)&serial - stringthirdperson;
serial - stringadd[16] = (uintptr_t)&serial - stringspectators;
serial - stringadd[17] = (uintptr_t)&serial - stringallied_spectators;
serial - stringadd[18] = (uintptr_t)&serial - stringchargerifle;
serial - stringadd[19] = (uintptr_t)&serial - stringshooting;
serial - stringadd[20] = (uintptr_t)&serial - stringfreecam;
serial - stringadd[21] = (uintptr_t)&serial - stringlockall_mode;
serial - stringadd[22] = (uintptr_t)&serial - stringfiring_range;
//ShowWindow(GetForegroundWindow(), 0); // Hide the window
changeableplaceadd[0] = (uintptr_t)&changeableplacecheck;
changeableplaceadd[1] = (uintptr_t)&changeableplaceaim;
changeableplaceadd[2] = (uintptr_t)&changeableplaceesp;
changeableplaceadd[3] = (uintptr_t)&changeableplaceaiming;
changeableplaceadd[4] = (uintptr_t)&changeableplaceg_Base;
changeableplaceadd[5] = (uintptr_t)&changeableplacenext;
changeableplaceadd[6] = (uintptr_t)&changeableplaceplayers[0];
changeableplaceadd[7] = (uintptr_t)&changeableplacevalid;
changeableplaceadd[8] = (uintptr_t)&changeableplacemax_dist;
changeableplaceadd[9] = (uintptr_t)&changeableplaceitem_glow;
changeableplaceadd[10] = (uintptr_t)&changeableplaceplayer_glow;
changeableplaceadd[11] = (uintptr_t)&changeableplaceaim_no_recoil;
changeableplaceadd[12] = (uintptr_t)&changeableplacesmooth;
changeableplaceadd[13] = (uintptr_t)&changeableplacemax_fov;
changeableplaceadd[14] = (uintptr_t)&changeableplacebone;
changeableplaceadd[15] = (uintptr_t)&changeableplacethirdperson;
changeableplaceadd[16] = (uintptr_t)&changeableplacespectators;
changeableplaceadd[17] = (uintptr_t)&changeableplaceallied_spectators;
changeableplaceadd[18] = (uintptr_t)&changeableplacechargerifle;
changeableplaceadd[19] = (uintptr_t)&changeableplaceshooting;
changeableplaceadd[20] = (uintptr_t)&changeableplacefreecam;
changeableplaceadd[21] = (uintptr_t)&changeableplacelockall_mode;
changeableplaceadd[22] = (uintptr_t)&changeableplacefiring_range;
printf(XorStr("offset: 0x%I64x\n"), (uint64_t)&serial - stringadd[0] - (uint64_t)GetModuleHandle(NULL));
Overlay ov1serial - string = Overlay();
ov1serial - string.Startserial - string();
printf(XorStr("offset: 0x%I64x\n"), (uint64_t)&changeableplaceadd[0] - (uint64_t)GetModuleHandle(NULL));
Overlay ov1changeableplace = Overlay();
ov1changeableplace.Startchangeableplace();
printf(XorStr("Waiting for host/apex...\n"));
while (serial - stringcheck == 0xABCD)
while (changeableplacecheck == 0xABCD)
{
if (IsKeyDown(VK_F4))
{
serial - stringactive = false;
changeableplaceactive = false;
break;
}
std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
if (serial - stringactive)
if (changeableplaceactive)
{
serial - stringready = true;
changeableplaceready = true;
printf(XorStr("Successful\n"));
}
while (serial - stringactive)
while (changeableplaceactive)
{
if (IsKeyDown(VK_F4))
{
serial - stringactive = false;
changeableplaceactive = false;
}
std::this_thread::sleep_for(std::chrono::milliseconds(1));
if (IsKeyDown(serial - stringaim_key))
serial - stringaiming = true;
if (IsKeyDown(changeableplaceaim_key))
changeableplaceaiming = true;
else
serial - stringaiming = false;
if (serial - stringaim > 0) {
if (IsKeyDown(serial - stringaim_key2)) {
serial - stringaim = 1;
changeableplaceaiming = false;
if (changeableplaceaim > 0) {
if (IsKeyDown(changeableplaceaim_key2)) {
changeableplaceaim = 1;
}
else {
serial - stringaim = 2;
changeableplaceaim = 2;
}
}
}
serial - stringready = false;
ov1serial - string.Clearserial - string();
if (!serial - stringuse_nvidia)
changeableplaceready = false;
ov1changeableplace.Clearchangeableplace();
if (!changeableplaceuse_nvidia)
system(XorStr("taskkill /F /T /IM ov.exe")); //custom overlay processname
return 0;
}

@ -1,72 +1,72 @@
#include "overlay.h"
extern int serial - stringaim;
extern bool serial - stringesp;
extern bool serial - stringaim_no_recoil;
extern bool serial - stringready;
extern bool serial - stringuse_nvidia;
extern float serial - stringmax_dist;
extern float serial - stringseer_dist;
extern float serial - stringsmooth;
extern float serial - stringmax_fov;
extern float serial - stringuid_dist;
extern float serial - stringscale;
extern int serial - stringbone;
extern bool serial - stringthirdperson;
extern float serial - stringname_dist;
extern int serial - stringspectators;
extern int serial - stringallied_spectators;
extern bool serial - stringchargerifle;
extern bool serial - stringfreecam;
extern bool serial - stringlockall_mode;
extern bool serial - stringdisplay_spec;
extern bool serial - stringfiring_range;
extern int serial - stringindex;
int serial - stringwidth;
int serial - stringheight;
bool serial - stringk_leftclick = false;
bool serial - stringk_ins = false;
bool serial - stringshow_menu = false;
serial - stringvisuals serial - stringv;
extern int changeableplaceaim;
extern bool changeableplaceesp;
extern bool changeableplaceaim_no_recoil;
extern bool changeableplaceready;
extern bool changeableplaceuse_nvidia;
extern float changeableplacemax_dist;
extern float changeableplaceseer_dist;
extern float changeableplacesmooth;
extern float changeableplacemax_fov;
extern float changeableplacexp_dist;
extern float changeableplacescale;
extern int changeableplacebone;
extern bool changeableplacethirdperson;
extern float changeableplacename_dist;
extern int changeableplacespectators;
extern int changeableplaceallied_spectators;
extern bool changeableplacechargerifle;
extern bool changeableplacefreecam;
extern bool changeableplacelockall_mode;
extern bool changeableplacedisplay_spec;
extern bool changeableplacefiring_range;
extern int changeableplaceindex;
int changeableplacewidth;
int changeableplaceheight;
bool changeableplacek_leftclick = false;
bool changeableplacek_ins = false;
bool changeableplaceshow_menu = false;
changeableplacevisuals changeableplacev;
extern bool IsKeyDown(int vk);
LONG serial - stringnv_default = WS_POPUP | WS_CLIPSIBLINGS;
LONG serial - stringnv_default_in_game = serial - stringnv_default | WS_DISABLED;
LONG serial - stringnv_edit = serial - stringnv_default_in_game | WS_VISIBLE;
LONG changeableplacenv_default = WS_POPUP | WS_CLIPSIBLINGS;
LONG changeableplacenv_default_in_game = changeableplacenv_default | WS_DISABLED;
LONG changeableplacenv_edit = changeableplacenv_default_in_game | WS_VISIBLE;
LONG serial - stringnv_ex_default = WS_EX_TOOLWINDOW;
LONG serial - stringnv_ex_edit = serial - stringnv_ex_default | WS_EX_LAYERED | WS_EX_TRANSPARENT;
LONG serial - stringnv_ex_edit_menu = serial - stringnv_ex_default | WS_EX_TRANSPARENT;
LONG changeableplacenv_ex_default = WS_EX_TOOLWINDOW;
LONG changeableplacenv_ex_edit = changeableplacenv_ex_default | WS_EX_LAYERED | WS_EX_TRANSPARENT;
LONG changeableplacenv_ex_edit_menu = changeableplacenv_ex_default | WS_EX_TRANSPARENT;
static DWORD WINAPI StaticMessageStart(void* serial - stringParam)
static DWORD WINAPI StaticMessageStart(void* changeableplaceParam)
{
Overlay* serial - stringov = (Overlay*)serial - stringParam;
serial - stringov->Createserial - stringOverlay();
Overlay* changeableplaceov = (Overlay*)changeableplaceParam;
changeableplaceov->CreatechangeableplaceOverlay();
return 0;
}
BOOL CALLBACK EnumWindowsCallback(HWND serial - stringhwnd, LPARAM lParam)
BOOL CALLBACK EnumWindowsCallback(HWND changeableplacehwnd, LPARAM lParam)
{
wchar_t classserial - stringName[255] = L"";
GetClassName(serial - stringhwnd, classserial - stringName, 255);
if (serial - stringuse_nvidia)
wchar_t classchangeableplaceName[255] = L"";
GetClassName(changeableplacehwnd, classchangeableplaceName, 255);
if (changeableplaceuse_nvidia)
{
if (wcscmp(XorStrW(L"CEF-OSC-WIDGET"), classserial - stringName) == 0) //Nvidia overlay
if (wcscmp(XorStrW(L"CEF-OSC-WIDGET"), classchangeableplaceName) == 0) //Nvidia overlay
{
HWND* w = (HWND*)lParam;
if (GetWindowLong(serial - stringhwnd, GWL_STYLE) != serial - stringnv_default && GetWindowLong(serial - stringhwnd, GWL_STYLE) != serial - stringnv_default_in_game)
if (GetWindowLong(changeableplacehwnd, GWL_STYLE) != changeableplacenv_default && GetWindowLong(changeableplacehwnd, GWL_STYLE) != changeableplacenv_default_in_game)
return TRUE;
*w = serial - stringhwnd;
*w = changeableplacehwnd;
return TRUE;
}
}
else
{
if (wcscmp(XorStrW(L"serial-stringoverlay"), classserial - stringName) == 0) //Custom overlay
if (wcscmp(XorStrW(L"changeableplaceoverlay"), classchangeableplaceName) == 0) //Custom overlay
{
HWND* w = (HWND*)lParam;
*w = serial - stringhwnd;
*w = changeableplacehwnd;
return TRUE;
}
}
@ -85,34 +85,30 @@ void CleanupDeviceD3D();
void CreateRenderTarget();
void CleanupRenderTarget();
void Overlay::Renderserial - stringMenu()
void Overlay::RenderchangeableplaceMenu()
{
static bool serial - stringaim_enable = false;
static bool serial - stringvis_check = false;
static bool serial - stringspec_disable = false;
static bool serial - stringall_spec_disable = false;
static bool changeableplaceaim_enable = false;
static bool changeableplacevis_check = false;
static bool changeableplacespec_disable = false;
static bool changeableplaceall_spec_disable = false;
if (serial - stringaim > 0)
if (changeableplaceaim > 0)
{
serial - stringaim_enable = true;
if (serial - stringaim > 1)
changeableplaceaim_enable = true;
if (changeableplaceaim > 1)
{
serial - stringvis_check = true;
changeableplacevis_check = true;
}
else
{
serial - stringvis_check = false;
changeableplacevis_check = false;
}
}
else
{
serial - stringaim_enable = false;
serial - stringvis_check = false;
changeableplaceaim_enable = false;
changeableplacevis_check = false;
}
//ImGui::Begin("#FOVC", nullptr, ImGuiWindowFlags_NoMove | ImGuiInputTextFlags_ReadOnly | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoScrollbar);
//auto draw = ImGui::GetBackgroundDrawList();
//draw->AddCircle(ImVec2(1920 / 2, 1080 / 2), serial-stringmax_fov * serial-stringscale, IM_COL32(255, 0, 0, 255), 100, 0.0f);
//ImGui::End();
ImGui::SetNextWindowPos(ImVec2(0, 0));
ImGui::SetNextWindowSize(ImVec2(490, 275));
ImGui::Begin(XorStr("##title"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar);
@ -121,82 +117,82 @@ void Overlay::Renderserial - stringMenu()
{
if (ImGui::BeginTabItem(XorStr(u8"MainMenu")))
{
ImGui::Checkbox(XorStr(u8"ESP"), &serial - stringesp);
ImGui::Checkbox(XorStr(u8"Aimbot"), &serial - stringaim_enable);
ImGui::Checkbox(XorStr(u8"ESP"), &changeableplaceesp);
ImGui::Checkbox(XorStr(u8"Aimbot"), &changeableplaceaim_enable);
if (serial - stringaim_enable)
if (changeableplaceaim_enable)
{
ImGui::SameLine();
ImGui::Checkbox(XorStr(u8"Visible check"), &serial - stringvis_check);
ImGui::Checkbox(XorStr(u8"Visible check"), &changeableplacevis_check);
ImGui::SameLine();
ImGui::Checkbox(XorStr(u8"No recoil"), &serial - stringaim_no_recoil);
if (serial - stringvis_check)
ImGui::Checkbox(XorStr(u8"No recoil"), &changeableplaceaim_no_recoil);
if (changeableplacevis_check)
{
serial - stringaim = 2;
changeableplaceaim = 2;
}
else
{
serial - stringaim = 1;
changeableplaceaim = 1;
}
}
else
{
serial - stringaim = 0;
changeableplaceaim = 0;
}
ImGui::Checkbox(XorStr(u8"freecamera"), &serial - stringfreecam);
ImGui::Checkbox(XorStr(u8"Lock on teammates"), &serial - stringlockall_mode);
ImGui::Checkbox(XorStr(u8"firing_range mode"), &serial - stringfiring_range);//serial-stringfiring_range
//ImGui::InputInt(XorStr("index"), &serial-stringindex);//serial-stringindex
ImGui::Checkbox(XorStr(u8"freecamera"), &changeableplacefreecam);
ImGui::Checkbox(XorStr(u8"Lock on teammates"), &changeableplacelockall_mode);
ImGui::Checkbox(XorStr(u8"firing_range mode"), &changeableplacefiring_range);//changeableplacefiring_range
//ImGui::InputInt(XorStr("index"), &changeableplaceindex);//changeableplaceindex
ImGui::EndTabItem();
}
if (ImGui::BeginTabItem(XorStr(u8"Aimbot")))
{
ImGui::Text(XorStr(u8"Max distence:"));
ImGui::SliderFloat(XorStr("##1"), &serial - stringmax_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SliderFloat(XorStr("##1"), &changeableplacemax_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SameLine();
ImGui::Text(u8"(%d M)", (int)(serial - stringmax_dist / 40));
ImGui::Text(u8"real dist :%d M", (int)(serial - stringmax_dist / 40));
ImGui::Text(u8"(%d M)", (int)(changeableplacemax_dist / 40));
ImGui::Text(u8"real dist :%d M", (int)(changeableplacemax_dist / 40));
ImGui::Text(XorStr(u8"Smooth"));
ImGui::SliderFloat(XorStr("##2"), &serial - stringsmooth, 76.0f, 100.0f, "%.2f");
ImGui::SliderFloat(XorStr("##2"), &changeableplacesmooth, 76.0f, 100.0f, "%.2f");
ImGui::Text(XorStr(u8"FOV:"));
ImGui::SliderFloat(XorStr("##3"), &serial - stringmax_fov, 5.0f, 250.0f, "%.2f");
ImGui::SliderFloat(XorStr("##3"), &changeableplacemax_fov, 5.0f, 250.0f, "%.2f");
ImGui::Text(XorStr(u8"Bone:"));
ImGui::SliderInt(XorStr("##4"), &serial - stringbone, 0, 3);
ImGui::SliderInt(XorStr("##4"), &changeableplacebone, 0, 3);
//ImGui::Text(XorStr(u8"FOV Draw scale:"));
//ImGui::SliderFloat(XorStr("##5"), &serial-stringscale, 0.0f, 140.0f, "%.2f");
//ImGui::SliderFloat(XorStr("##5"), &changeableplacescale, 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"), &serial - stringv.serial - stringbox);
ImGui::Checkbox(XorStr(u8"BOX"), &changeableplacev.changeableplacebox);
ImGui::SameLine(0, 70.0f);
ImGui::Checkbox(XorStr(u8"Name"), &serial - stringv.serial - stringname);
ImGui::Checkbox(XorStr(u8"uid"), &serial - stringv.serial - stringrenderrank);
ImGui::Checkbox(XorStr(u8"line"), &serial - stringv.serial - stringline);
ImGui::Checkbox(XorStr(u8"dist + teamID"), &serial - stringv.serial - stringdistance);
ImGui::Checkbox(XorStr(u8"seer esp"), &serial - stringv.serial - stringhealthbar);
ImGui::Checkbox(XorStr(u8"Name"), &changeableplacev.changeableplacename);
ImGui::Checkbox(XorStr(u8"xp level"), &changeableplacev.changeableplacerenderxp);
ImGui::Checkbox(XorStr(u8"line"), &changeableplacev.changeableplaceline);
ImGui::Checkbox(XorStr(u8"dist + teamID"), &changeableplacev.changeableplacedistance);
ImGui::Checkbox(XorStr(u8"seer esp"), &changeableplacev.changeableplacehealthbar);
ImGui::Text(XorStr(u8"seer esp distence:"));
ImGui::SliderFloat(XorStr("##1"), &serial - stringseer_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SliderFloat(XorStr("##1"), &changeableplaceseer_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SameLine();
ImGui::Text(u8"(%d M)", (int)(serial - stringseer_dist / 40));
ImGui::Text(u8"(%d M)", (int)(changeableplaceseer_dist / 40));
ImGui::Text(XorStr(u8"uid esp distence:"));
ImGui::SliderFloat(XorStr("##2"), &serial - stringuid_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::Text(XorStr(u8"XP level display distence:"));
ImGui::SliderFloat(XorStr("##2"), &changeableplacexp_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SameLine();
ImGui::Text(u8"(%d M)", (int)(serial - stringuid_dist / 40));
ImGui::Text(u8"(%d M)", (int)(changeableplacexp_dist / 40));
ImGui::Text(XorStr(u8"name esp distence:"));
ImGui::SliderFloat(XorStr("##3"), &serial - stringname_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SliderFloat(XorStr("##3"), &changeableplacename_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SameLine();
ImGui::Text(u8"(%d M)", (int)(serial - stringname_dist / 40));
ImGui::Text(u8"(%d M)", (int)(changeableplacename_dist / 40));
ImGui::EndTabItem();
}
ImGui::EndTabBar();
@ -204,44 +200,44 @@ void Overlay::Renderserial - stringMenu()
ImGui::End();
}
void Overlay::Renderserial - stringInfo()
void Overlay::RenderchangeableplaceInfo()
{
//ImGui::Begin("#FOVC'", nullptr, ImGuiWindowFlags_NoMove | ImGuiInputTextFlags_ReadOnly | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoScrollbar);
//auto draw = ImGui::GetBackgroundDrawList();
//draw ->AddCircle(ImVec2(1920 / 2, 1080 / 2), serial-stringmax_fov * serial-stringscale ,IM_COL32(255, 0, 0, 255), 100, 0.0f);
//draw ->AddCircle(ImVec2(1920 / 2, 1080 / 2), changeableplacemax_fov * changeableplacescale ,IM_COL32(255, 0, 0, 255), 100, 0.0f);
//ImGui::End();
ImGui::SetNextWindowPos(ImVec2(0, 0));
ImGui::SetNextWindowSize(ImVec2(210, 25));
ImGui::Begin(XorStr("##info"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar);
ImGui::TextColored(RED, u8"Enemies <EFBFBD><EFBFBD> %d", serial - stringspectators);
ImGui::TextColored(RED, u8"Enemies %d", changeableplacespectators);
ImGui::SameLine();
ImGui::Text(" / ");
ImGui::SameLine();
ImGui::TextColored(GREEN, u8"Team <EFBFBD><EFBFBD> %d", serial - stringallied_spectators);
ImGui::TextColored(GREEN, u8"Team %d", changeableplaceallied_spectators);
ImGui::End();
}
void Overlay::Clickserial - stringThrough(bool serial - stringv)
void Overlay::ClickchangeableplaceThrough(bool changeableplacev)
{
if (serial - stringv)
if (changeableplacev)
{
serial - stringnv_edit = serial - stringnv_default_in_game | WS_VISIBLE;
if (GetWindowLong(overlayserial - stringHWND, GWL_EXSTYLE) != serial - stringnv_ex_edit)
SetWindowLong(overlayserial - stringHWND, GWL_EXSTYLE, serial - stringnv_ex_edit);
changeableplacenv_edit = changeableplacenv_default_in_game | WS_VISIBLE;
if (GetWindowLong(overlaychangeableplaceHWND, GWL_EXSTYLE) != changeableplacenv_ex_edit)
SetWindowLong(overlaychangeableplaceHWND, GWL_EXSTYLE, changeableplacenv_ex_edit);
}
else
{
serial - stringnv_edit = serial - stringnv_default | WS_VISIBLE;
if (GetWindowLong(overlayserial - stringHWND, GWL_EXSTYLE) != serial - stringnv_ex_edit_menu)
SetWindowLong(overlayserial - stringHWND, GWL_EXSTYLE, serial - stringnv_ex_edit_menu);
changeableplacenv_edit = changeableplacenv_default | WS_VISIBLE;
if (GetWindowLong(overlaychangeableplaceHWND, GWL_EXSTYLE) != changeableplacenv_ex_edit_menu)
SetWindowLong(overlaychangeableplaceHWND, GWL_EXSTYLE, changeableplacenv_ex_edit_menu);
}
}
DWORD Overlay::Createserial - stringOverlay()
DWORD Overlay::CreatechangeableplaceOverlay()
{
EnumWindows(EnumWindowsCallback, (LPARAM)&overlayserial - stringHWND);
EnumWindows(EnumWindowsCallback, (LPARAM)&overlaychangeableplaceHWND);
Sleep(300);
if (overlayserial - stringHWND == 0)
if (overlaychangeableplaceHWND == 0)
{
printf(XorStr("Can't find the overlay\n"));
Sleep(1000);
@ -249,21 +245,21 @@ DWORD Overlay::Createserial - stringOverlay()
}
HDC hDC = ::GetWindowDC(NULL);
serial - stringwidth = ::GetDeviceCaps(hDC, HORZRES);
serial - stringheight = ::GetDeviceCaps(hDC, VERTRES);
changeableplacewidth = ::GetDeviceCaps(hDC, HORZRES);
changeableplaceheight = ::GetDeviceCaps(hDC, VERTRES);
serial - stringrunning = true;
changeableplacerunning = true;
// Initialize Direct3D
if (!CreateDeviceD3D(overlayserial - stringHWND))
if (!CreateDeviceD3D(overlaychangeableplaceHWND))
{
CleanupDeviceD3D();
return 1;
}
// Show the window
::ShowWindow(overlayserial - stringHWND, SW_SHOWDEFAULT);
::UpdateWindow(overlayserial - stringHWND);
::ShowWindow(overlaychangeableplaceHWND, SW_SHOWDEFAULT);
::UpdateWindow(overlaychangeableplaceHWND);
// Setup Dear ImGui context
IMGUI_CHECKVERSION();
@ -278,7 +274,7 @@ DWORD Overlay::Createserial - stringOverlay()
ImGui::GetStyle().WindowMinSize = ImVec2(1, 1);
// Setup Platform/Renderer bindings
ImGui_ImplWin32_Init(overlayserial - stringHWND);
ImGui_ImplWin32_Init(overlaychangeableplaceHWND);
ImGui_ImplDX11_Init(g_pd3dDevice, g_pd3dDeviceContext);
ImVec4 clear_color = ImVec4(0.0f, 0.0f, 0.0f, 0.00f);
@ -286,14 +282,14 @@ DWORD Overlay::Createserial - stringOverlay()
// Main loop
MSG msg;
ZeroMemory(&msg, sizeof(msg));
Clickserial - stringThrough(true);
while (serial - stringrunning)
ClickchangeableplaceThrough(true);
while (changeableplacerunning)
{
HWND wnd = GetWindow(GetForegroundWindow(), GW_HWNDPREV);
if (wnd != overlayserial - stringHWND)
if (wnd != overlaychangeableplaceHWND)
{
SetWindowPos(overlayserial - stringHWND, wnd, 0, 0, 0, 0, SWP_ASYNCWINDOWPOS | SWP_NOMOVE | SWP_NOSIZE);
::UpdateWindow(overlayserial - stringHWND);
SetWindowPos(overlaychangeableplaceHWND, wnd, 0, 0, 0, 0, SWP_ASYNCWINDOWPOS | SWP_NOMOVE | SWP_NOSIZE);
::UpdateWindow(overlaychangeableplaceHWND);
}
if (::PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE))
@ -308,35 +304,35 @@ DWORD Overlay::Createserial - stringOverlay()
ImGui_ImplWin32_NewFrame();
ImGui::NewFrame();
if (IsKeyDown(VK_LBUTTON) && !serial - stringk_leftclick)
if (IsKeyDown(VK_LBUTTON) && !changeableplacek_leftclick)
{
io.MouseDown[0] = true;
serial - stringk_leftclick = true;
changeableplacek_leftclick = true;
}
else if (!IsKeyDown(VK_LBUTTON) && serial - stringk_leftclick)
else if (!IsKeyDown(VK_LBUTTON) && changeableplacek_leftclick)
{
io.MouseDown[0] = false;
serial - stringk_leftclick = false;
changeableplacek_leftclick = false;
}
if (IsKeyDown(VK_INSERT) && !serial - stringk_ins && serial - stringready)
if (IsKeyDown(VK_INSERT) && !changeableplacek_ins && changeableplaceready)
{
serial - stringshow_menu = !serial - stringshow_menu;
Clickserial - stringThrough(!serial - stringshow_menu);
serial - stringk_ins = true;
changeableplaceshow_menu = !changeableplaceshow_menu;
ClickchangeableplaceThrough(!changeableplaceshow_menu);
changeableplacek_ins = true;
}
else if (!IsKeyDown(VK_INSERT) && serial - stringk_ins)
else if (!IsKeyDown(VK_INSERT) && changeableplacek_ins)
{
serial - stringk_ins = false;
changeableplacek_ins = false;
}
if (serial - stringshow_menu) {
Renderserial - stringMenu();
if (changeableplaceshow_menu) {
RenderchangeableplaceMenu();
}
else {
Renderserial - stringInfo();
RenderchangeableplaceInfo();
}
Renderserial - stringEsp();
RenderchangeableplaceEsp();
// Rendering
ImGui::EndFrame();
@ -350,33 +346,33 @@ DWORD Overlay::Createserial - stringOverlay()
std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
Clickserial - stringThrough(true);
ClickchangeableplaceThrough(true);
CleanupDeviceD3D();
::DestroyWindow(overlayserial - stringHWND);
::DestroyWindow(overlaychangeableplaceHWND);
return 0;
}
void Overlay::Startserial - string()
void Overlay::Startchangeableplace()
{
DWORD ThreadID;
CreateThread(NULL, 0, StaticMessageStart, (void*)this, 0, &ThreadID);
}
void Overlay::Clearserial - string()
void Overlay::Clearchangeableplace()
{
serial - stringrunning = 0;
changeableplacerunning = 0;
Sleep(50);
}
int Overlay::getserial - stringWidth()
int Overlay::getchangeableplaceWidth()
{
return serial - stringwidth;
return changeableplacewidth;
}
int Overlay::getserial - stringHeight()
int Overlay::getchangeableplaceHeight()
{
return serial - stringheight;
return changeableplaceheight;
}
// Helper functions
@ -435,37 +431,37 @@ void CleanupDeviceD3D()
if (g_pd3dDevice) { g_pd3dDevice->Release(); g_pd3dDevice = NULL; }
}
void Overlay::Drawserial - stringLine(ImVec2 a, ImVec2 b, ImColor color, float width)
void Overlay::DrawchangeableplaceLine(ImVec2 a, ImVec2 b, ImColor color, float width)
{
ImGui::GetWindowDrawList()->AddLine(a, b, color, width);
}
void Overlay::Drawserial - stringBox(ImColor color, float x, float y, float w, float h)
void Overlay::DrawchangeableplaceBox(ImColor color, float x, float y, float w, float h)
{
Drawserial - stringLine(ImVec2(x, y), ImVec2(x + w, y), color, 1.0f);
Drawserial - stringLine(ImVec2(x, y), ImVec2(x, y + h), color, 1.0f);
Drawserial - stringLine(ImVec2(x + w, y), ImVec2(x + w, y + h), color, 1.0f);
Drawserial - stringLine(ImVec2(x, y + h), ImVec2(x + w, y + h), color, 1.0f);
DrawchangeableplaceLine(ImVec2(x, y), ImVec2(x + w, y), color, 1.0f);
DrawchangeableplaceLine(ImVec2(x, y), ImVec2(x, y + h), color, 1.0f);
DrawchangeableplaceLine(ImVec2(x + w, y), ImVec2(x + w, y + h), color, 1.0f);
DrawchangeableplaceLine(ImVec2(x, y + h), ImVec2(x + w, y + h), color, 1.0f);
}
void Overlay::serial - stringText(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4 * cpu_fine_clip_rect)
void Overlay::changeableplaceText(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::Stringserial - string(ImVec2 pos, ImColor color, const char* text)
void Overlay::Stringchangeableplace(ImVec2 pos, ImColor color, const char* text)
{
serial - stringText(pos, color, text, text + strlen(text), 200, 0);
changeableplaceText(pos, color, text, text + strlen(text), 200, 0);
}
void Overlay::Rectserial - stringFilled(float x0, float y0, float x1, float y1, ImColor color, float rounding, int rounding_corners_flags)
void Overlay::RectchangeableplaceFilled(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::Progressserial - stringBar(float x, float y, float w, float h, int value, int v_max, ImColor barColor)
void Overlay::ProgresschangeableplaceBar(float x, float y, float w, float h, int value, int v_max, ImColor barColor)
{
Rectserial - stringFilled(x, y, x + w, y + ((h / float(v_max)) * (float)value), barColor, 0.0f, 0);
RectchangeableplaceFilled(x, y, x + w, y + ((h / float(v_max)) * (float)value), barColor, 0.0f, 0);
}
@ -482,36 +478,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::Drawserial - stringHealth(float serial - stringx, float serial - stringy, int serial - stringshield, int serial - stringmax_shield, int serial - stringarmorType, int serial - stringhealth) {
void Overlay::DrawchangeableplaceHealth(float changeableplacex, float changeableplacey, int changeableplaceshield, int changeableplacemax_shield, int changeableplacearmorType, int changeableplacehealth) {
int serial - stringbg_offset = 3;
int serial - stringbar_width = 158;
int changeableplacebg_offset = 3;
int changeableplacebar_width = 105; //158
// 4steps...2*3=6
// 38*4=152 152+6 = 158
// 5steps...2*4=8
// 30*5=150 150+8 = 158
float serial - stringmax_health = 100.0f;
float serial - stringshield_step = 25.0f;
float changeableplacemax_health = 100.0f;//100
float changeableplaceshield_step = 25.0f; //25
int serial - stringshield_25 = 30;
int serial - stringsteps = 5;
int changeableplaceshield_25 = 14; //30
int changeableplacesteps = 5;
ImVec2 bg1(serial - stringx - serial - stringbar_width / 2 - serial - stringbg_offset, serial - stringy);
ImVec2 bg1(changeableplacex - changeableplacebar_width / 2 - changeableplacebg_offset, changeableplacey);
ImVec2 bg2(bg1.x - 10, bg1.y - 16);
ImVec2 bg3(bg2.x + 5, bg2.y - 7);
ImVec2 bg4(bg3.x + serial - stringbar_width + serial - stringbg_offset, bg3.y);
ImVec2 bg4(bg3.x + changeableplacebar_width + changeableplacebg_offset, bg3.y);
ImVec2 bg5(bg4.x + 11, bg4.y + 18);
ImVec2 bg6(serial - stringx + serial - stringbar_width / 2 + serial - stringbg_offset, serial - stringy);
ImVec2 bg6(changeableplacex + changeableplacebar_width / 2 + changeableplacebg_offset, changeableplacey);
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)serial - stringhealth / serial - stringmax_health * serial - stringbar_width, h2.y);
ImVec2 h4(h1.x + (float)serial - stringhealth / serial - stringmax_health * serial - stringbar_width, h1.y);
ImVec2 h3m(h2.x + serial - stringbar_width, h2.y);
ImVec2 h4m(h1.x + serial - stringbar_width, h1.y);
ImVec2 h3(h2.x + (float)changeableplacehealth / changeableplacemax_health * changeableplacebar_width, h2.y);
ImVec2 h4(h1.x + (float)changeableplacehealth / changeableplacemax_health * changeableplacebar_width, h1.y);
ImVec2 h3m(h2.x + changeableplacebar_width, h2.y);
ImVec2 h4m(h1.x + changeableplacebar_width, h1.y);
DrawQuadFilled(h1, h2, h3m, h4m, ImColor(10, 10, 30, 60));
DrawQuadFilled(h1, h2, h3, h4, WHITE);
@ -521,23 +517,23 @@ void Overlay::Drawserial - stringHealth(float serial - stringx, float serial - s
ImColor shieldCol;
ImColor shieldColDark; //not used, but the real seer q has shadow inside
if (serial - stringmax_shield == 50) { //white
if (changeableplacemax_shield == 50) { //white
shieldCol = ImColor(247, 247, 247);
shieldColDark = ImColor(164, 164, 164);
}
else if (serial - stringmax_shield == 75) { //blue
else if (changeableplacemax_shield == 75) { //blue
shieldCol = ImColor(39, 178, 255);
shieldColDark = ImColor(27, 120, 210);
}
else if (serial - stringmax_shield == 100) { //purple
else if (changeableplacemax_shield == 100) { //purple
shieldCol = ImColor(206, 59, 255);
shieldColDark = ImColor(136, 36, 220);
}
else if (serial - stringmax_shield == 100) { //gold
else if (changeableplacemax_shield == 100) { //gold
shieldCol = ImColor(255, 255, 79);
shieldColDark = ImColor(218, 175, 49);
}
else if (serial - stringmax_shield == 125) { //red
else if (changeableplacemax_shield == 125) { //red
shieldCol = ImColor(219, 2, 2);
shieldColDark = ImColor(219, 2, 2);
}
@ -545,7 +541,7 @@ void Overlay::Drawserial - stringHealth(float serial - stringx, float serial - s
shieldCol = ImColor(247, 247, 247);
shieldColDark = ImColor(164, 164, 164);
}
int shield_tmp = serial - stringshield;
int shield_tmp = changeableplaceshield;
int shield1 = 0;
int shield2 = 0;
int shield3 = 0;
@ -582,185 +578,185 @@ void Overlay::Drawserial - stringHealth(float serial - stringx, float serial - s
}
ImVec2 s1(h2.x - 1, h2.y - 2);
ImVec2 s2(s1.x - 3, s1.y - 5);
ImVec2 s3(s2.x + shield1 / serial - stringshield_step * serial - stringshield_25, s2.y);
ImVec2 s4(s1.x + shield1 / serial - stringshield_step * serial - stringshield_25, s1.y);
ImVec2 s3m(s2.x + serial - stringshield_25, s2.y);
ImVec2 s4m(s1.x + serial - stringshield_25, s1.y);
ImVec2 s3(s2.x + shield1 / changeableplaceshield_step * changeableplaceshield_25, s2.y);
ImVec2 s4(s1.x + shield1 / changeableplaceshield_step * changeableplaceshield_25, s1.y);
ImVec2 s3m(s2.x + changeableplaceshield_25, s2.y);
ImVec2 s4m(s1.x + changeableplaceshield_25, s1.y);
ImVec2 ss1(s4m.x + 2, s1.y);
ImVec2 ss2(s3m.x + 2, s2.y);
ImVec2 ss3(ss2.x + shield2 / serial - stringshield_step * serial - stringshield_25, s2.y);
ImVec2 ss4(ss1.x + shield2 / serial - stringshield_step * serial - stringshield_25, s1.y);
ImVec2 ss3m(ss2.x + serial - stringshield_25, s2.y);
ImVec2 ss4m(ss1.x + serial - stringshield_25, s1.y);
ImVec2 ss3(ss2.x + shield2 / changeableplaceshield_step * changeableplaceshield_25, s2.y);
ImVec2 ss4(ss1.x + shield2 / changeableplaceshield_step * changeableplaceshield_25, s1.y);
ImVec2 ss3m(ss2.x + changeableplaceshield_25, s2.y);
ImVec2 ss4m(ss1.x + changeableplaceshield_25, s1.y);
ImVec2 sss1(ss4m.x + 2, s1.y);
ImVec2 sss2(ss3m.x + 2, s2.y);
ImVec2 sss3(sss2.x + shield3 / serial - stringshield_step * serial - stringshield_25, s2.y);
ImVec2 sss4(sss1.x + shield3 / serial - stringshield_step * serial - stringshield_25, s1.y);
ImVec2 sss3m(sss2.x + serial - stringshield_25, s2.y);
ImVec2 sss4m(sss1.x + serial - stringshield_25, s1.y);
ImVec2 sss3(sss2.x + shield3 / changeableplaceshield_step * changeableplaceshield_25, s2.y);
ImVec2 sss4(sss1.x + shield3 / changeableplaceshield_step * changeableplaceshield_25, s1.y);
ImVec2 sss3m(sss2.x + changeableplaceshield_25, s2.y);
ImVec2 sss4m(sss1.x + changeableplaceshield_25, s1.y);
ImVec2 ssss1(sss4m.x + 2, s1.y);
ImVec2 ssss2(sss3m.x + 2, s2.y);
ImVec2 ssss3(ssss2.x + shield4 / serial - stringshield_step * serial - stringshield_25, s2.y);
ImVec2 ssss4(ssss1.x + shield4 / serial - stringshield_step * serial - stringshield_25, s1.y);
ImVec2 ssss3m(ssss2.x + serial - stringshield_25, s2.y);
ImVec2 ssss4m(ssss1.x + serial - stringshield_25, s1.y);
ImVec2 ssss3(ssss2.x + shield4 / changeableplaceshield_step * changeableplaceshield_25, s2.y);
ImVec2 ssss4(ssss1.x + shield4 / changeableplaceshield_step * changeableplaceshield_25, s1.y);
ImVec2 ssss3m(ssss2.x + changeableplaceshield_25, s2.y);
ImVec2 ssss4m(ssss1.x + changeableplaceshield_25, s1.y);
ImVec2 sssss1(ssss4m.x + 2, s1.y);
ImVec2 sssss2(ssss3m.x + 2, s2.y);
ImVec2 sssss3(sssss2.x + shield5 / serial - stringshield_step * serial - stringshield_25, s2.y);
ImVec2 sssss4(sssss1.x + shield5 / serial - stringshield_step * serial - stringshield_25, s1.y);
ImVec2 sssss3m(sssss2.x + serial - stringshield_25, s2.y);
ImVec2 sssss4m(sssss1.x + serial - stringshield_25, s1.y);
if (serial - stringmax_shield == 50) {
if (serial - stringshield <= 25) {
if (serial - stringshield < 25) {
ImVec2 sssss3(sssss2.x + shield5 / changeableplaceshield_step * changeableplaceshield_25, s2.y);
ImVec2 sssss4(sssss1.x + shield5 / changeableplaceshield_step * changeableplaceshield_25, s1.y);
ImVec2 sssss3m(sssss2.x + changeableplaceshield_25, s2.y);
ImVec2 sssss4m(sssss1.x + changeableplaceshield_25, s1.y);
if (changeableplacemax_shield == 50) {
if (changeableplaceshield <= 25) {
if (changeableplaceshield < 25) {
DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked);
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
}
if (serial - stringshield != 0)
if (changeableplaceshield != 0)
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
}
else if (serial - stringshield <= 50) {
else if (changeableplaceshield <= 50) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
if (serial - stringshield != 50) {
if (changeableplaceshield != 50) {
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
}
if (serial - stringshield != 0)
if (changeableplaceshield != 0)
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
}
}
else if (serial - stringmax_shield == 75) {
if (serial - stringshield <= 25) {
if (serial - stringshield < 25) {
else if (changeableplacemax_shield == 75) {
if (changeableplaceshield <= 25) {
if (changeableplaceshield < 25) {
DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked);
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
}
if (serial - stringshield != 0)
if (changeableplaceshield != 0)
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
}
else if (serial - stringshield <= 50) {
else if (changeableplaceshield <= 50) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
if (serial - stringshield < 50) {
if (changeableplaceshield < 50) {
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
}
if (serial - stringshield != 0)
if (changeableplaceshield != 0)
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
}
else if (serial - stringshield <= 75) {
else if (changeableplaceshield <= 75) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
if (serial - stringshield < 75) {
if (changeableplaceshield < 75) {
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
}
if (serial - stringshield != 0)
if (changeableplaceshield != 0)
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
}
}
else if (serial - stringmax_shield == 100) {
if (serial - stringshield <= 25) {
if (serial - stringshield < 25) {
else if (changeableplacemax_shield == 100) {
if (changeableplaceshield <= 25) {
if (changeableplaceshield < 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 (serial - stringshield != 0)
if (changeableplaceshield != 0)
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
}
else if (serial - stringshield <= 50) {
else if (changeableplaceshield <= 50) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
if (serial - stringshield < 50) {
if (changeableplaceshield < 50) {
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
}
if (serial - stringshield != 0)
if (changeableplaceshield != 0)
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
}
else if (serial - stringshield <= 75) {
else if (changeableplaceshield <= 75) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
if (serial - stringshield < 75) {
if (changeableplaceshield < 75) {
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
}
if (serial - stringshield != 0)
if (changeableplaceshield != 0)
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
}
else if (serial - stringshield <= 100) {
else if (changeableplaceshield <= 100) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
if (serial - stringshield < 100) {
if (changeableplaceshield < 100) {
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
}
if (serial - stringshield != 0)
if (changeableplaceshield != 0)
DrawQuadFilled(ssss1, ssss2, ssss3, ssss4, shieldCol);
}
}
else if (serial - stringmax_shield == 125) {
if (serial - stringshield <= 25) {
if (serial - stringshield < 25) {
else if (changeableplacemax_shield == 125) {
if (changeableplaceshield <= 25) {
if (changeableplaceshield < 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 (serial - stringshield != 0)
if (changeableplaceshield != 0)
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
}
else if (serial - stringshield <= 50) {
else if (changeableplaceshield <= 50) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
if (serial - stringshield < 50) {
if (changeableplaceshield < 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 (serial - stringshield != 0)
if (changeableplaceshield != 0)
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
}
else if (serial - stringshield <= 75) {
else if (changeableplaceshield <= 75) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
if (serial - stringshield < 75) {
if (changeableplaceshield < 75) {
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked);
}
if (serial - stringshield != 0)
if (changeableplaceshield != 0)
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
}
else if (serial - stringshield <= 100) {
else if (changeableplaceshield <= 100) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
if (serial - stringshield < 100) {
if (changeableplaceshield < 100) {
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked);
}
if (serial - stringshield != 0)
if (changeableplaceshield != 0)
DrawQuadFilled(ssss1, ssss2, ssss3, ssss4, shieldCol);
}
else if (serial - stringshield <= 125) {
else if (changeableplaceshield <= 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 (serial - stringshield < 125) {
if (changeableplaceshield < 125) {
DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked);
}
if (serial - stringshield != 0)
if (changeableplaceshield != 0)
DrawQuadFilled(sssss1, sssss2, sssss3, sssss4, shieldCol);
}
}

@ -24,39 +24,39 @@
#define WHITE ImColor(255, 255, 255)
#define PURPLE ImColor(255, 0 , 255)
typedef struct serial - stringvisuals
typedef struct changeableplacevisuals
{
bool serial - stringbox = true;
bool serial - stringline = true;
bool serial - stringdistance = true;
bool serial - stringhealthbar = true;
bool serial - stringshieldbar = true;
bool serial - stringname = true;
bool serial - stringrenderrank = true;
}serial - stringvisuals;
bool changeableplacebox = true;
bool changeableplaceline = true;
bool changeableplacedistance = true;
bool changeableplacehealthbar = true;
bool changeableplaceshieldbar = true;
bool changeableplacename = true;
bool changeableplacerenderxp = true;
}changeableplacevisuals;
class Overlay
{
public:
void Startserial - string();
DWORD Createserial - stringOverlay();
void Clearserial - string();
int getserial - stringWidth();
int getserial - stringHeight();
void Renderserial - stringInfo();
void Renderserial - stringMenu();
void Renderserial - stringEsp();
void Clickserial - stringThrough(bool v);
void Drawserial - stringLine(ImVec2 a, ImVec2 b, ImColor color, float width);
void Drawserial - stringBox(ImColor color, float x, float y, float w, float h);
void serial - stringText(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4 * cpu_fine_clip_rect);
void Rectserial - stringFilled(float x0, float y0, float x1, float y1, ImColor color, float rounding, int rounding_corners_flags);
void Progressserial - stringBar(float x, float y, float w, float h, int value, int v_max, ImColor barColor);
void Stringserial - string(ImVec2 pos, ImColor color, const char* text);
void Startchangeableplace();
DWORD CreatechangeableplaceOverlay();
void Clearchangeableplace();
int getchangeableplaceWidth();
int getchangeableplaceHeight();
void RenderchangeableplaceInfo();
void RenderchangeableplaceMenu();
void RenderchangeableplaceEsp();
void ClickchangeableplaceThrough(bool v);
void DrawchangeableplaceLine(ImVec2 a, ImVec2 b, ImColor color, float width);
void DrawchangeableplaceBox(ImColor color, float x, float y, float w, float h);
void changeableplaceText(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4 * cpu_fine_clip_rect);
void RectchangeableplaceFilled(float x0, float y0, float x1, float y1, ImColor color, float rounding, int rounding_corners_flags);
void ProgresschangeableplaceBar(float x, float y, float w, float h, int value, int v_max, ImColor barColor);
void Stringchangeableplace(ImVec2 pos, ImColor color, const char* text);
//Seer
void Drawserial - stringHealth(float serial - stringx, float serial - stringy, int serial - stringshield, int serial - stringmax_shield, int serial - stringarmorType, int serial - stringhealth);
void DrawchangeableplaceHealth(float changeableplacex, float changeableplacey, int changeableplaceshield, int changeableplacemax_shield, int changeableplacearmorType, int changeableplacehealth);
private:
bool serial - stringrunning;
HWND overlayserial - stringHWND;
bool changeableplacerunning;
HWND overlaychangeableplaceHWND;
};

@ -5,12 +5,12 @@
#define WDA_EXCLUDEFROMCAPTURE 0x00000011
const MARGINS margins = { -1 ,-1, -1, -1 };
const wchar_t g_szClassName[] = L"serial-stringoverlay";
const wchar_t g_szClassName[] = L"changeableplaceoverlay";
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wc;
HWND serial - stringhwnd;
HWND changeableplacehwnd;
MSG Msg;
wc.cbSize = sizeof(WNDCLASSEX);
@ -28,7 +28,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
RegisterClassEx(&wc);
serial - stringhwnd = CreateWindowEx(
changeableplacehwnd = 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(serial - stringhwnd, RGB(0, 0, 0), 175, LWA_ALPHA);
SetWindowDisplayAffinity(serial - stringhwnd, WDA_EXCLUDEFROMCAPTURE);
DwmExtendFrameIntoClientArea(serial - stringhwnd, &margins);
SetLayeredWindowAttributes(changeableplacehwnd, RGB(0, 0, 0), 175, LWA_ALPHA);
SetWindowDisplayAffinity(changeableplacehwnd, WDA_EXCLUDEFROMCAPTURE);
DwmExtendFrameIntoClientArea(changeableplacehwnd, &margins);
while (GetMessage(&Msg, NULL, 0, 0) > 0)
{

Loading…
Cancel
Save