pull/35/head
AtomBottle 2 years ago
parent 9ba9424e13
commit e1af23cd0a

@ -2,26 +2,23 @@
##### UnknownCheats thread: https://www.unknowncheats.me/forum/apex-legends/406426-kvm-vmread-apex-esp-aimbot.html
#new features
- Xp level ESP
- seerhealthESP/smooth aimbot from https://kgithub.com/KrackerCo/apex_dma_kvm_pub.
- platform userid ESP,i also keep one html file,you can input uid to search player's rank,selcet legend.
> idont know why after i 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 somebody can finish this work, +pull request please
- support UTF-8 ESP for japanese/chinese
- free camera
- client's stream proof,include commandline,you can change it to view offset in client's main.cpp
void ShowWindow
- 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
- free camera
- overlay's steam proof by setwindowdisplaffinity
- client's stream proof,(hide commandline),check it in client : main.cpp (void ShowWindow)
- you can enable aimbot/esp for your teammates
- press mouse4 to disable visible check
# how to use
## guest
- use vmprotect or rewrite your own version
- to bypass EAC detection,use ctrl+h to replace "serial-string" to anything you want.
- release x64, use custom overlay.
## linux
- install 'libcurl' and 'jsoncpp',if cant complie ,check the Makefile
#### Archlinux
` sudo pacman -S jsoncpp`
` sudo pacman -S curl`
- for rank esp, you need your own apikey,reg one from apexlegendsapi
- what's "add_off"? , host need it to read the setting of guest,it's in apex_dma.cpp
- 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*

@ -48,64 +48,64 @@ int Entity::getTeamId()
int calc_level(int m_xp)
{
if (m_xp<0) return 0;
if (m_xp<100) return 1;
if (m_xp<2750) return 2;
if (m_xp<6650) return 3;
if (m_xp<11400) return 4;
if (m_xp<17000) return 5;
if (m_xp<23350) return 6;
if (m_xp<30450) return 7;
if (m_xp<38300) return 8;
if (m_xp<46450) return 9;
if (m_xp<55050) return 10;
if (m_xp<64100) return 11;
if (m_xp<73600) return 12;
if (m_xp<83550) return 13;
if (m_xp<93950) return 14;
if (m_xp<104800) return 15;
if (m_xp<116100) return 16;
if (m_xp<127850) return 17;
if (m_xp<140050) return 18;
if (m_xp<152400) return 19;
if (m_xp<164900) return 20;
if (m_xp<177550) return 21;
if (m_xp<190350) return 22;
if (m_xp<203300) return 23;
if (m_xp<216400) return 24;
if (m_xp<229650) return 25;
if (m_xp<243050) return 26;
if (m_xp<256600) return 27;
if (m_xp<270300) return 28;
if (m_xp<284150) return 29;
if (m_xp<298150) return 30;
if (m_xp<312300) return 31;
if (m_xp<326600) return 32;
if (m_xp<341050) return 33;
if (m_xp<355650) return 34;
if (m_xp<370400) return 35;
if (m_xp<385300) return 36;
if (m_xp<400350) return 37;
if (m_xp<415550) return 38;
if (m_xp<430900) return 39;
if (m_xp<446400) return 40;
if (m_xp<462050) return 41;
if (m_xp<477850) return 42;
if (m_xp<493800) return 43;
if (m_xp<509900) return 44;
if (m_xp<526150) return 45;
if (m_xp<542550) return 46;
if (m_xp<559100) return 47;
if (m_xp<575800) return 48;
if (m_xp<592650) return 49;
if (m_xp<609650) return 50;
if (m_xp<626800) return 51;
if (m_xp<644100) return 52;
if (m_xp<661550) return 53;
if (m_xp<679150) return 54;
if (m_xp<696900) return 55;
if (m_xp<714800) return 56;
return floor((m_xp-714800+1)/18000) + 57;
if (m_xp < 0) return 0;
if (m_xp < 100) return 1;
if (m_xp < 2750) return 2;
if (m_xp < 6650) return 3;
if (m_xp < 11400) return 4;
if (m_xp < 17000) return 5;
if (m_xp < 23350) return 6;
if (m_xp < 30450) return 7;
if (m_xp < 38300) return 8;
if (m_xp < 46450) return 9;
if (m_xp < 55050) return 10;
if (m_xp < 64100) return 11;
if (m_xp < 73600) return 12;
if (m_xp < 83550) return 13;
if (m_xp < 93950) return 14;
if (m_xp < 104800) return 15;
if (m_xp < 116100) return 16;
if (m_xp < 127850) return 17;
if (m_xp < 140050) return 18;
if (m_xp < 152400) return 19;
if (m_xp < 164900) return 20;
if (m_xp < 177550) return 21;
if (m_xp < 190350) return 22;
if (m_xp < 203300) return 23;
if (m_xp < 216400) return 24;
if (m_xp < 229650) return 25;
if (m_xp < 243050) return 26;
if (m_xp < 256600) return 27;
if (m_xp < 270300) return 28;
if (m_xp < 284150) return 29;
if (m_xp < 298150) return 30;
if (m_xp < 312300) return 31;
if (m_xp < 326600) return 32;
if (m_xp < 341050) return 33;
if (m_xp < 355650) return 34;
if (m_xp < 370400) return 35;
if (m_xp < 385300) return 36;
if (m_xp < 400350) return 37;
if (m_xp < 415550) return 38;
if (m_xp < 430900) return 39;
if (m_xp < 446400) return 40;
if (m_xp < 462050) return 41;
if (m_xp < 477850) return 42;
if (m_xp < 493800) return 43;
if (m_xp < 509900) return 44;
if (m_xp < 526150) return 45;
if (m_xp < 542550) return 46;
if (m_xp < 559100) return 47;
if (m_xp < 575800) return 48;
if (m_xp < 592650) return 49;
if (m_xp < 609650) return 50;
if (m_xp < 626800) return 51;
if (m_xp < 644100) return 52;
if (m_xp < 661550) return 53;
if (m_xp < 679150) return 54;
if (m_xp < 696900) return 55;
if (m_xp < 714800) return 56;
return floor((m_xp - 714800 + 1) / 18000) + 57;
}
int Entity::getHealth()
@ -165,7 +165,7 @@ bool Entity::isAlive()
float Entity::lastVisTime()
{
return *(float*)(buffer + OFFSET_VISIBLE_TIME);
return *(float*)(buffer + OFFSET_VISIBLE_TIME);
}
Vector Entity::getBonePosition(int id)
@ -188,35 +188,35 @@ Vector Entity::getBonePosition(int id)
Vector Entity::getBonePositionByHitbox(int id)
{
Vector origin = getPosition();
//BoneByHitBox
//BoneByHitBox
uint64_t Model = *(uint64_t*)(buffer + OFFSET_STUDIOHDR);
//get studio hdr
uint64_t StudioHdr;
apex_mem.Read<uint64_t>(Model + 0x8, StudioHdr);
//get hitbox array
//get hitbox array
uint16_t HitboxCache;
apex_mem.Read<uint16_t>(StudioHdr + 0x34, HitboxCache);
uint64_t HitBoxsArray = StudioHdr + ((uint16_t)(HitboxCache & 0xFFFE) << (4 * (HitboxCache & 1)));
uint16_t IndexCache;
apex_mem.Read<uint16_t>(HitBoxsArray + 0x4, IndexCache);
apex_mem.Read<uint16_t>(HitBoxsArray + 0x4, IndexCache);
int HitboxIndex = ((uint16_t)(IndexCache & 0xFFFE) << (4 * (IndexCache & 1)));
uint16_t Bone;
apex_mem.Read<uint16_t>(HitBoxsArray + HitboxIndex + (id * 0x20), Bone);
if(Bone < 0 || Bone > 255)
if (Bone < 0 || Bone > 255)
return Vector();
//hitpos
//hitpos
uint64_t BoneArray = *(uint64_t*)(buffer + OFFSET_BONES);
matrix3x4_t Matrix = {};
apex_mem.Read<matrix3x4_t>(BoneArray + Bone * sizeof(matrix3x4_t), Matrix);
return Vector(Matrix.m_flMatVal[0][3] + origin.x, Matrix.m_flMatVal[1][3] + origin.y, Matrix.m_flMatVal[2][3] + origin.z);
}
@ -241,11 +241,11 @@ float Entity::GetYaw()
apex_mem.Read<float>(ptr + OFFSET_YAW, yaw);
if (yaw < 0)
yaw += 360;
yaw += 360;
yaw += 90;
if (yaw > 360)
yaw -= 360;
yaw -= 360;
return yaw;
}
@ -298,8 +298,8 @@ QAngle Entity::GetRecoil()
void Entity::get_name(uint64_t g_Base, uint64_t index, char* name)
{
index *= 0x10;
uint64_t name_ptr = 0;
apex_mem.Read<uint64_t>(g_Base + OFFSET_NAME_LIST + index, name_ptr);
uint64_t name_ptr = 0;
apex_mem.Read<uint64_t>(g_Base + OFFSET_NAME_LIST + index, name_ptr);
apex_mem.ReadArray<char>(name_ptr, name, 32);
}
@ -340,10 +340,10 @@ float CalculateFov(Entity& from, Entity& target)
return Math::GetFov(ViewAngles, Angle);
}
QAngle CalculateBestBoneAim(Entity& from, uintptr_t t, float max_fov , int recoil_val)
QAngle CalculateBestBoneAim(Entity& from, uintptr_t t, float max_fov)
{
Entity target = getEntity(t);
if(firing_range)
if (firing_range)
{
if (!target.isAlive())
{
@ -357,11 +357,11 @@ QAngle CalculateBestBoneAim(Entity& from, uintptr_t t, float max_fov , int recoi
return QAngle(0, 0, 0);
}
}
Vector LocalCamera = from.GetCamPos();
Vector TargetBonePosition = target.getBonePositionByHitbox(bone);
QAngle CalculatedAngles = QAngle(0, 0, 0);
WeaponXEntity curweap = WeaponXEntity();
curweap.update(from.ptr);
float BulletSpeed = curweap.get_projectile_speed();
@ -385,27 +385,27 @@ QAngle CalculateBestBoneAim(Entity& from, uintptr_t t, float max_fov , int recoi
TargetBonePosition += (target.getAbsVelocity() * HorizontalTime);
}
*/
//more accurate prediction
if (BulletSpeed > 1.f)
{
PredictCtx Ctx;
Ctx.StartPos = LocalCamera;
Ctx.TargetPos = TargetBonePosition;
Ctx.BulletSpeed = BulletSpeed - (BulletSpeed*0.08);
Ctx.BulletGravity = BulletGrav + (BulletGrav*0.05);
Ctx.TargetPos = TargetBonePosition;
Ctx.BulletSpeed = BulletSpeed - (BulletSpeed * 0.08);
Ctx.BulletGravity = BulletGrav + (BulletGrav * 0.05);
Ctx.TargetVel = target.getAbsVelocity();
if (BulletPredict(Ctx))
CalculatedAngles = QAngle{Ctx.AimAngles.x, Ctx.AimAngles.y, 0.f};
}
CalculatedAngles = QAngle{ Ctx.AimAngles.x, Ctx.AimAngles.y, 0.f };
}
if (CalculatedAngles == QAngle(0, 0, 0))
{
float random1 = (float)(rand() % 7 + 1)/100;
float random2 = (float)(rand() % 7 + 1)/100;
Vector start = LocalCamera;
float random1 = (float)(rand() % 7 + 1) / 100;
float random2 = (float)(rand() % 7 + 1) / 100;
Vector start = LocalCamera;
Vector end = TargetBonePosition;
Vector dir = (end - start).Normalize();
Vector mid1 = start + (dir * ((end - start).Length() * (0.33f + random1)));
@ -421,13 +421,13 @@ QAngle CalculateBestBoneAim(Entity& from, uintptr_t t, float max_fov , int recoi
QAngle ViewAngles = from.GetViewAngles();
QAngle SwayAngles = from.GetSwayAngles();
//remove sway and recoil
if(aim_no_recoil){
QAngle sway = SwayAngles - ViewAngles;
sway.x = sway.x * recoil_val; //pitch
sway.y = sway.y * recoil_val; //yaw
sway.z = sway.z * recoil_val;
CalculatedAngles-=sway;
}
if (aim_no_recoil) {
QAngle sway = SwayAngles - ViewAngles;
sway.x = sway.x * 0.8; //pitch
sway.y = sway.y * 0.75; //yaw
sway.z = sway.z * 0.9;
CalculatedAngles -= sway;
}
Math::NormalizeAngles(CalculatedAngles);
QAngle Delta = CalculatedAngles - ViewAngles;
double fov = Math::GetFov(SwayAngles, CalculatedAngles);
@ -438,24 +438,24 @@ QAngle CalculateBestBoneAim(Entity& from, uintptr_t t, float max_fov , int recoi
Math::NormalizeAngles(Delta);
QAngle RandomAngles = QAngle(
(rand() % 5 - 4) * 0.001f,
(rand() % 5 - 4) * 0.001f,
(rand() % 5 - 4) * 0.001f
);
QAngle RandomAnglesMax = QAngle(
(rand() % 8 - 4) * 0.001f,
(rand() % 8 - 4) * 0.001f,
(rand() % 8 - 4) * 0.001f
);
miss = rand() % 100;
QAngle SmoothedAngles = ViewAngles + Delta/smooth + RandomAngles;
if(miss >= 60){
QAngle SmoothedAngles = ViewAngles + Delta/smooth + RandomAnglesMax;
}
else if(miss <= 50){
QAngle SmoothedAngles = ViewAngles + Delta/smooth + RandomAngles;
}
QAngle RandomAngles = QAngle(
(rand() % 4 - 2) * 0.001f,
(rand() % 4 - 2) * 0.001f,
(rand() % 4 - 2) * 0.001f
);
QAngle RandomAnglesMax = QAngle(
(rand() % 6 - 2) * 0.001f,
(rand() % 6 - 2) * 0.001f,
(rand() % 6 - 2) * 0.001f
);
miss = rand() % 100;
QAngle SmoothedAngles = ViewAngles + Delta / smooth + RandomAngles;
if (miss >= 70) {
QAngle SmoothedAngles = ViewAngles + Delta / smooth + RandomAnglesMax;
}
else {
QAngle SmoothedAngles = ViewAngles + Delta / smooth + RandomAngles;
}
return SmoothedAngles;
}
@ -503,24 +503,24 @@ bool WorldToScreen(Vector from, float* m_vMatrix, int targetWidth, int targetHei
void WeaponXEntity::update(uint64_t LocalPlayer)
{
extern uint64_t g_Base;
extern uint64_t g_Base;
uint64_t entitylist = g_Base + OFFSET_ENTITYLIST;
uint64_t wephandle = 0;
apex_mem.Read<uint64_t>(LocalPlayer + OFFSET_WEAPON, wephandle);
apex_mem.Read<uint64_t>(LocalPlayer + OFFSET_WEAPON, wephandle);
wephandle &= 0xffff;
uint64_t wep_entity = 0;
apex_mem.Read<uint64_t>(entitylist + (wephandle << 5), wep_entity);
apex_mem.Read<uint64_t>(entitylist + (wephandle << 5), wep_entity);
projectile_speed = 0;
apex_mem.Read<float>(wep_entity + OFFSET_BULLET_SPEED, projectile_speed);
apex_mem.Read<float>(wep_entity + OFFSET_BULLET_SPEED, projectile_speed);
projectile_scale = 0;
apex_mem.Read<float>(wep_entity + OFFSET_BULLET_SCALE, projectile_scale);
apex_mem.Read<float>(wep_entity + OFFSET_BULLET_SCALE, projectile_scale);
zoom_fov = 0;
apex_mem.Read<float>(wep_entity + OFFSET_ZOOM_FOV, zoom_fov);
apex_mem.Read<float>(wep_entity + OFFSET_ZOOM_FOV, zoom_fov);
ammo = 0;
apex_mem.Read<int>(wep_entity + OFFSET_AMMO, ammo);
apex_mem.Read<int>(wep_entity + OFFSET_AMMO, ammo);
}
float WeaponXEntity::get_projectile_speed()

@ -59,7 +59,7 @@ public:
Vector getPosition();
bool isItem();
bool isGlowing();
void enableGlow();
void disableGlow();
};
@ -94,7 +94,7 @@ Entity getEntity(uintptr_t ptr);
Item getItem(uintptr_t ptr);
bool WorldToScreen(Vector from, float* m_vMatrix, int targetWidth, int targetHeight, Vector& to);
float CalculateFov(Entity& from, Entity& target);
QAngle CalculateBestBoneAim(Entity& from, uintptr_t target, float max_fov , int recoil_val);
QAngle CalculateBestBoneAim(Entity& from, uintptr_t target, float max_fov);
void get_class_name(uint64_t entity_ptr, char* out_str);
void charge_rifle_hack(uint64_t entity_ptr);

@ -1,6 +1,6 @@
CXX=g++
CXXFLAGS=-I./memflow_lib/memflow-win32-ffi/ -I./memflow_lib/memflow-ffi/ -L./memflow_lib/target/release -Wno-multichar
LIBS=-lm -Wl,--no-as-needed -ldl -lpthread -l:libmemflow_win32_ffi.a -lcurl -l:libjsoncpp.so
LIBS=-lm -Wl,--no-as-needed -ldl -lpthread -l:libmemflow_win32_ffi.a
OUTDIR=./build
OBJDIR=$(OUTDIR)/obj

@ -17,15 +17,15 @@ void Math::NormalizeAngles(QAngle& angle)
Vector Math::Bezier(const Vector& start, const Vector& mid1, const Vector& mid2, const Vector& end, float t)
{
Vector q1 = start + (mid1 - start) * t;
Vector q2 = mid1 + (mid2 - mid1) * t;
Vector q3 = mid2 + (end - mid2) * t;
Vector q1 = start + (mid1 - start) * t;
Vector q2 = mid1 + (mid2 - mid1) * t;
Vector q3 = mid2 + (end - mid2) * t;
Vector r1 = q1 + (q2 - q1) * t;
Vector r2 = q2 + (q3 - q2) * t;
Vector r1 = q1 + (q2 - q1) * t;
Vector r2 = q2 + (q3 - q2) * t;
return r1 + (r2 - r1) * t;
return Vector();
return r1 + (r2 - r1) * t;
return Vector();
}
QAngle Math::CalcAngle(const Vector& src, const Vector& dst)
@ -33,7 +33,7 @@ QAngle Math::CalcAngle(const Vector& src, const Vector& dst)
QAngle angle = QAngle();
SVector delta = SVector((src.x - dst.x), (src.y - dst.y), (src.z - dst.z));
double hyp = sqrt(delta.x*delta.x + delta.y * delta.y);
double hyp = sqrt(delta.x * delta.x + delta.y * delta.y);
angle.x = atan(delta.z / hyp) * (180.0f / M_PI);
angle.y = atan(delta.y / delta.x) * (180.0f / M_PI);

@ -7,14 +7,14 @@ struct SVector
float y;
float z;
SVector(float x1, float y1, float z1)
{
{
x = x1;
y = y1;
z = z1;
}
SVector(QAngle q)
{
{
x = q.x;
y = q.y;
z = q.z;
@ -23,9 +23,9 @@ struct SVector
namespace Math
{
Vector Bezier(const Vector& start, const Vector& mid1, const Vector& mid2, const Vector& end, float t);
void NormalizeAngles(QAngle& angle);
double GetFov(const QAngle& viewAngle, const QAngle& aimAngle);
double DotProduct(const Vector& v1, const float* v2);
QAngle CalcAngle(const Vector& src, const Vector& dst);
Vector Bezier(const Vector& start, const Vector& mid1, const Vector& mid2, const Vector& end, float t);
void NormalizeAngles(QAngle& angle);
double GetFov(const QAngle& viewAngle, const QAngle& aimAngle);
double DotProduct(const Vector& v1, const float* v2);
QAngle CalcAngle(const Vector& src, const Vector& dst);
}

@ -1,27 +0,0 @@
# apex_dma_kvm_pub
##### UnknownCheats thread: https://www.unknowncheats.me/forum/apex-legends/406426-kvm-vmread-apex-esp-aimbot.html
#new features
- Xp level ESP
- seerhealthESP/smooth aimbot from https://kgithub.com/KrackerCo/apex_dma_kvm_pub.
- platform userid ESP,i also keep one html file,you can input uid to search player's rank,selcet legend.
> idont know why after i 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 somebody can finish this work, +pull request please
- support UTF-8 ESP for japanese/chinese
- free camera
- client's stream proof,include commandline,you can change it to view offset in client's main.cpp
void ShowWindow
- you can enable aimbot/esp for your teammates
# how to use
## guest
- use vmprotect or rewrite your own version
- release x64, use custom overlay.
## linux
- install 'libcurl' and 'jsoncpp',if cant complie ,check the Makefile
#### Archlinux
` sudo pacman -S jsoncpp`
` sudo pacman -S curl`
- for rank esp, you need your own apikey,reg one from apexlegendsapi
- what's "add_off"? , host need it to read the setting of guest,it's in apex_dma.cpp
* 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*

@ -5,8 +5,6 @@
#include <random>
#include <chrono>
#include <iostream>
#include "json/json.h"
#include "curl/curl.h"
#include <cfloat>
#include "Game.h"
#include <thread>
@ -14,19 +12,18 @@
Memory apex_mem;
Memory client_mem;
uint64_t add_off = 0x411e0;
uint64_t add_off = 0xa1040;
bool freecam = false;
bool lockall_enable = false;
int recoil = 0.5;
bool firing_range = false;
bool active = true;
uintptr_t aimentity = 0;
uintptr_t tmp_aimentity = 0;
uintptr_t lastaimentity = 0;
float kmax = 999.0f;
float max_dist = 200.0f*40.0f;
float max_dist = 200.0f * 40.0f;
int team_player = 0;
float max_fov = 15;
const int toRead = 100;
@ -84,28 +81,6 @@ int tmp_all_spec = 0, allied_spectators = 0;
//////////////////////////////////////////////////////////////////////////////////////////////////
static size_t WriteCallback(void *contents, size_t size, size_t nmemb, void *userp)
{
((std::string *)userp)->append((char *)contents, size * nmemb);
return size * nmemb;
}
std::string getJson(std::string url)
{
CURL *curl;
CURLcode res;
std::string readBuffer;
curl = curl_easy_init();
if (curl)
{
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
return readBuffer;
}
void ProcessPlayer(Entity& LPlayer, Entity& target, uint64_t entitylist, int index)
{
int entity_team = target.getTeamId();
@ -115,9 +90,9 @@ void ProcessPlayer(Entity& LPlayer, Entity& target, uint64_t entitylist, int ind
float localyaw = LPlayer.GetYaw();
float targetyaw = target.GetYaw();
if(localyaw==targetyaw)
if (localyaw == targetyaw)
{
if(LPlayer.getTeamId() == entity_team)
if (LPlayer.getTeamId() == entity_team)
tmp_all_spec++;
else
tmp_spec++;
@ -130,12 +105,12 @@ void ProcessPlayer(Entity& LPlayer, Entity& target, uint64_t entitylist, int ind
float dist = LocalPlayerPosition.DistTo(EntityPosition);
if (dist > max_dist) return;
if(!firing_range && !lockall_enable)
if (!firing_range && !lockall_enable)
if (entity_team < 0 || entity_team>50 || entity_team == team_player) return;
if(aim==2)
if (aim == 2)
{
if((target.lastVisTime() > lastvis_aim[index]))
if ((target.lastVisTime() > lastvis_aim[index]))
{
float fov = CalculateFov(LPlayer, target);
if (fov < kmax)
@ -146,9 +121,9 @@ void ProcessPlayer(Entity& LPlayer, Entity& target, uint64_t entitylist, int ind
}
else
{
if(aimentity==target.ptr)
if (aimentity == target.ptr)
{
aimentity=tmp_aimentity=lastaimentity=0;
aimentity = tmp_aimentity = lastaimentity = 0;
}
}
}
@ -172,12 +147,12 @@ void DoActions()
std::this_thread::sleep_for(std::chrono::milliseconds(1));
uint32_t counter = 0;
while (g_Base!=0 && c_Base!=0)
while (g_Base != 0 && c_Base != 0)
{
std::this_thread::sleep_for(std::chrono::milliseconds(30));
uint64_t LocalPlayer = 0;
apex_mem.Read<uint64_t>(g_Base + OFFSET_LOCAL_ENT, LocalPlayer);
std::this_thread::sleep_for(std::chrono::milliseconds(30));
uint64_t LocalPlayer = 0;
apex_mem.Read<uint64_t>(g_Base + OFFSET_LOCAL_ENT, LocalPlayer);
if (LocalPlayer == 0) continue;
@ -192,36 +167,6 @@ void DoActions()
uint64_t entitylist = g_Base + OFFSET_ENTITYLIST;
//an model index dumper,but sometimecarsh game
/*
uint64_t viewmodel_handle = 0;
apex_mem.Read<uint64_t>(LocalPlayer + 0x2d78, viewmodel_handle);
viewmodel_handle &= 0xffff;
uint64_t viewmodel_entity = 0;
apex_mem.Read<uint64_t>(entitylist + (viewmodel_handle << 5), viewmodel_entity);
m_currentFrame.modelIndex=0x00a8
m_hViewModels=0x2d78
m_ModelName=0x00a8
apex_mem.Write<int>(viewmodel_entity + 0x00a8, 975);
index dumper
bool dump_loop = false;
if(model_index <= 2492 && dump_loop){
uint64_t name_ptr;
char ModelName[200] = { 0 };
model_index = model_index + 1;
apex_mem.Read<uint64_t>(viewmodel_entity + 0x0030, name_ptr);
apex_mem.ReadArray<char>(name_ptr, ModelName, 200);
printf("model: %s , index: %u \n", ModelName,model_index);
if (strstr(ModelName, "mdl/Weapons/arms/pov_pilot_light_wraith_cyber_ninja.rmdl"))
{
printf("%u\n", model_index);
dump_loop = false;
}
}
}
*/
uint64_t baseent = 0;
apex_mem.Read<uint64_t>(entitylist, baseent);
if (baseent == 0)
@ -235,18 +180,18 @@ void DoActions()
tmp_all_spec = 0;
int current_obid;
if (freecam){
if (freecam) {
apex_mem.Write<int>(LocalPlayer + OFFSET_OBSERVER_MODE, 7);
}
else{
else {
apex_mem.Read<int>(LocalPlayer + OFFSET_OBSERVER_MODE, current_obid);
if(current_obid == 7){
apex_mem.Write<int>(LocalPlayer+OFFSET_OBSERVER_MODE, 0);
if (current_obid == 7) {
apex_mem.Write<int>(LocalPlayer + OFFSET_OBSERVER_MODE, 0);
}
}
if(firing_range)
if (firing_range)
{
int c=0;
int c = 0;
for (int i = 0; i < 10000; i++)
{
uint64_t centity = 0;
@ -260,11 +205,11 @@ void DoActions()
continue;
}
if(player_glow && !Target.isGlowing())
if (player_glow && !Target.isGlowing())
{
Target.enableGlow();
}
else if(!player_glow && Target.isGlowing())
else if (!player_glow && Target.isGlowing())
{
Target.disableGlow();
}
@ -287,7 +232,7 @@ void DoActions()
{
continue;
}
ProcessPlayer(LPlayer, Target, entitylist, i);
int entity_team = Target.getTeamId();
@ -296,18 +241,18 @@ void DoActions()
continue;
}
if(player_glow && !Target.isGlowing())
if (player_glow && !Target.isGlowing())
{
Target.enableGlow();
}
else if(!player_glow && Target.isGlowing())
else if (!player_glow && Target.isGlowing())
{
Target.disableGlow();
}
}
}
if(!spectators && !allied_spectators)
if (!spectators && !allied_spectators)
{
spectators = tmp_spec;
allied_spectators = tmp_all_spec;
@ -316,7 +261,7 @@ void DoActions()
{
//refresh spectators count every ~2 seconds
counter++;
if(counter==70)
if (counter == 70)
{
spectators = tmp_spec;
allied_spectators = tmp_all_spec;
@ -324,7 +269,7 @@ void DoActions()
}
}
if(!klock)
if (!klock)
aimentity = tmp_aimentity;
else
aimentity = lastaimentity;
@ -340,10 +285,10 @@ player players[toRead];
static void EspLoop()
{
esp_t = true;
while(esp_t)
while (esp_t)
{
std::this_thread::sleep_for(std::chrono::milliseconds(1));
while(g_Base!=0 && c_Base!=0)
while (g_Base != 0 && c_Base != 0)
{
std::this_thread::sleep_for(std::chrono::milliseconds(1));
if (esp)
@ -355,7 +300,7 @@ static void EspLoop()
if (LocalPlayer == 0)
{
knext = true;
while(knext && g_Base!=0 && c_Base!=0 && esp)
while (knext && g_Base != 0 && c_Base != 0 && esp)
{
std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
@ -366,7 +311,7 @@ static void EspLoop()
if (team_player < 0 || team_player>50)
{
knext = true;
while(knext && g_Base!=0 && c_Base!=0 && esp)
while (knext && g_Base != 0 && c_Base != 0 && esp)
{
std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
@ -382,20 +327,20 @@ static void EspLoop()
apex_mem.Read<Matrix>(viewMatrix, m);
uint64_t entitylist = g_Base + OFFSET_ENTITYLIST;
memset(players,0,sizeof(players));
if(firing_range)
memset(players, 0, sizeof(players));
if (firing_range)
{
int c=0;
int c = 0;
for (int i = 0; i < 10000; i++)
{
uint64_t centity = 0;
apex_mem.Read<uint64_t>( entitylist + ((uint64_t)i << 5), centity);
apex_mem.Read<uint64_t>(entitylist + ((uint64_t)i << 5), centity);
if (centity == 0)
{
continue;
}
}
if (LocalPlayer == centity)
{
continue;
@ -417,10 +362,10 @@ static void EspLoop()
Vector EntityPosition = Target.getPosition();
float dist = LocalPlayerPosition.DistTo(EntityPosition);
if (dist > max_dist || dist < 50.0f)
{
{
continue;
}
Vector bs = Vector();
WorldToScreen(EntityPosition, m.matrix, 1920, 1080, bs);
if (bs.x > 0 && bs.y > 0)
@ -440,8 +385,7 @@ static void EspLoop()
int xp_level = calc_level(xp);
uint64_t uid = 0;
apex_mem.Read<uint64_t>(centity + OFFSET_UID, uid);
players[c] =
players[c] =
{
dist,
entity_team,
@ -458,33 +402,33 @@ static void EspLoop()
xp_level,
maxshield,
armortype,
uid
uid
};
Target.get_name(g_Base, i-1, &players[c].name[0]);
Target.get_name(g_Base, i - 1, &players[c].name[0]);
lastvis_esp[c] = Target.lastVisTime();
valid = true;
c++;
}
}
}
}
else
{
for (int i = 0; i < toRead; i++)
{
uint64_t centity = 0;
apex_mem.Read<uint64_t>( entitylist + ((uint64_t)i << 5), centity);
apex_mem.Read<uint64_t>(entitylist + ((uint64_t)i << 5), centity);
if (centity == 0)
{
continue;
}
if (LocalPlayer == centity)
{
continue;
}
Entity Target = getEntity(centity);
if (!Target.isPlayer())
{
continue;
@ -496,22 +440,22 @@ static void EspLoop()
}
int entity_team = Target.getTeamId();
if (!lockall_enable){
if (!lockall_enable) {
if (entity_team < 0 || entity_team>50 || entity_team == team_player)
{
continue;
}
}
else{
if (entity_team < 0 || entity_team>50){
continue;
}
else {
if (entity_team < 0 || entity_team>50) {
continue;
}
}
Vector EntityPosition = Target.getPosition();
float dist = LocalPlayerPosition.DistTo(EntityPosition);
if (dist > max_dist || dist < 50.0f)
{
{
continue;
}
@ -531,12 +475,12 @@ static void EspLoop()
int armortype = Target.getArmortype();
int xp;
apex_mem.Read<int>(centity + OFFSET_XP, xp);
int xp_level = calc_level(xp);
uint64_t uid;
apex_mem.Read<uint64_t>(centity + OFFSET_UID, uid);
players[i] =
players[i] =
{
dist,
entity_team,
@ -555,7 +499,7 @@ static void EspLoop()
armortype,
uid
};
Target.get_name(g_Base, i-1, &players[i].name[0]);
Target.get_name(g_Base, i - 1, &players[i].name[0]);
lastvis_esp[i] = Target.lastVisTime();
valid = true;
}
@ -563,7 +507,7 @@ static void EspLoop()
}
knext = true;
while(knext && g_Base!=0 && c_Base!=0 && esp)
while (knext && g_Base != 0 && c_Base != 0 && esp)
{
std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
@ -579,28 +523,28 @@ static void AimbotLoop()
while (aim_t)
{
std::this_thread::sleep_for(std::chrono::milliseconds(1));
while (g_Base!=0 && c_Base!=0)
while (g_Base != 0 && c_Base != 0)
{
std::this_thread::sleep_for(std::chrono::milliseconds(1));
if (aim>0)
if (aim > 0)
{
if (aimentity == 0 || !aiming)
{
klock=false;
lastaimentity=0;
klock = false;
lastaimentity = 0;
continue;
}
klock=true;
klock = true;
lastaimentity = aimentity;
uint64_t LocalPlayer = 0;
apex_mem.Read<uint64_t>(g_Base + OFFSET_LOCAL_ENT, LocalPlayer);
if (LocalPlayer == 0) continue;
Entity LPlayer = getEntity(LocalPlayer);
QAngle Angles = CalculateBestBoneAim(LPlayer, aimentity, max_fov, recoil);
QAngle Angles = CalculateBestBoneAim(LPlayer, aimentity, max_fov);
if (Angles.x == 0 && Angles.y == 0)
{
klock=false;
lastaimentity=0;
klock = false;
lastaimentity = 0;
continue;
}
LPlayer.SetViewAngles(Angles);
@ -620,70 +564,68 @@ static void set_vars(uint64_t add_addr)
uint64_t aim_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t), aim_addr);
uint64_t esp_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*2, esp_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 2, esp_addr);
uint64_t aiming_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*3, aiming_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 3, aiming_addr);
uint64_t g_Base_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*4, g_Base_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 4, g_Base_addr);
uint64_t next_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*5, next_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 5, next_addr);
uint64_t player_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*6, player_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 6, player_addr);
uint64_t valid_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*7, valid_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 7, valid_addr);
uint64_t max_dist_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*8, max_dist_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 8, max_dist_addr);
uint64_t item_glow_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*9, item_glow_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 9, item_glow_addr);
uint64_t player_glow_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*10, player_glow_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 10, player_glow_addr);
uint64_t aim_no_recoil_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*11, aim_no_recoil_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 11, aim_no_recoil_addr);
uint64_t smooth_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*12, smooth_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 12, smooth_addr);
uint64_t max_fov_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*13, max_fov_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 13, max_fov_addr);
uint64_t bone_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*14, bone_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 14, bone_addr);
uint64_t thirdperson_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*15, thirdperson_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 15, thirdperson_addr);
uint64_t spectators_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*16, spectators_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 16, spectators_addr);
uint64_t allied_spectators_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*17, allied_spectators_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 17, allied_spectators_addr);
uint64_t chargerifle_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*18, chargerifle_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 18, chargerifle_addr);
uint64_t shooting_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*19, shooting_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 19, shooting_addr);
uint64_t freecam_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*20, freecam_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 20, freecam_addr);
uint64_t lockall_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*21, lockall_addr);
uint64_t firing_range_addr=0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*22, firing_range_addr);
uint64_t recoil_addr=0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t)*23, recoil_addr);
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 21, lockall_addr);
uint64_t firing_range_addr = 0;
client_mem.Read<uint64_t>(add_addr + sizeof(uint64_t) * 22, firing_range_addr);
uint32_t check = 0;
client_mem.Read<uint32_t>(check_addr, check);
if(check != 0xABCD)
if (check != 0xABCD)
{
printf("check add_off,or start client before start host\n");
active = false;
return;
}
vars_t = true;
while(vars_t)
while (vars_t)
{
std::this_thread::sleep_for(std::chrono::milliseconds(1));
if(c_Base!=0 && g_Base!=0)
if (c_Base != 0 && g_Base != 0)
{
client_mem.Write<uint32_t>(check_addr, 0);
printf("\nsuccess.\n");
}
while(c_Base!=0 && g_Base!=0)
while (c_Base != 0 && g_Base != 0)
{
std::this_thread::sleep_for(std::chrono::milliseconds(1));
client_mem.Write<uint64_t>(g_Base_addr, g_Base);
@ -704,10 +646,10 @@ static void set_vars(uint64_t add_addr)
client_mem.Read<bool>(freecam_addr, freecam);
client_mem.Read<bool>(lockall_addr, lockall_enable);
client_mem.Read<bool>(firing_range_addr, firing_range);
client_mem.Read<int>(recoil_addr, recoil);
if(esp && knext)
if (esp && knext)
{
if(valid)
if (valid)
client_mem.WriteArray<player>(player_addr, players, toRead);
client_mem.Write<bool>(valid_addr, valid);
client_mem.Write<bool>(next_addr, true); //next
@ -717,8 +659,8 @@ static void set_vars(uint64_t add_addr)
{
client_mem.Read<bool>(next_addr, next_val);
std::this_thread::sleep_for(std::chrono::milliseconds(1));
} while (next_val && g_Base!=0 && c_Base!=0);
} while (next_val && g_Base != 0 && c_Base != 0);
knext = false;
}
}
@ -727,9 +669,9 @@ static void set_vars(uint64_t add_addr)
}
int main(int argc, char *argv[])
int main(int argc, char* argv[])
{
if(geteuid() != 0)
if (geteuid() != 0)
{
printf("Error: %s please run in root\n", argv[0]);
return 0;
@ -745,11 +687,11 @@ int main(int argc, char *argv[])
std::thread esp_thr;
std::thread actions_thr;
std::thread vars_thr;
while(active)
while (active)
{
if(apex_mem.get_proc_status() != process_status::FOUND_READY)
if (apex_mem.get_proc_status() != process_status::FOUND_READY)
{
if(aim_t)
if (aim_t)
{
aim_t = false;
esp_t = false;
@ -766,7 +708,7 @@ int main(int argc, char *argv[])
apex_mem.open_proc(ap_proc);
if(apex_mem.get_proc_status() == process_status::FOUND_READY)
if (apex_mem.get_proc_status() == process_status::FOUND_READY)
{
g_Base = apex_mem.get_proc_baseaddr();
printf("\nFounded Apex!\n");
@ -774,7 +716,7 @@ int main(int argc, char *argv[])
aimbot_thr = std::thread(AimbotLoop);
esp_thr = std::thread(EspLoop);
actions_thr = std::thread(DoActions);
aimbot_thr.detach();
esp_thr.detach();
actions_thr.detach();
@ -785,22 +727,22 @@ int main(int argc, char *argv[])
apex_mem.check_proc();
}
if(client_mem.get_proc_status() != process_status::FOUND_READY)
if (client_mem.get_proc_status() != process_status::FOUND_READY)
{
if(vars_t)
if (vars_t)
{
vars_t = false;
c_Base = 0;
vars_thr.~thread();
}
std::this_thread::sleep_for(std::chrono::seconds(1));
printf("Waiting for client...\n");
client_mem.open_proc(cl_proc);
if(client_mem.get_proc_status() == process_status::FOUND_READY)
if (client_mem.get_proc_status() == process_status::FOUND_READY)
{
c_Base = client_mem.get_proc_baseaddr();
printf("\nFounded client!\n");

@ -8,7 +8,7 @@
#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 0xbe94be0 //NameList
#define OFFSET_NAME_LIST 0xbe94b60 //NameList
#define OFFSET_TEAM 0x044c //m_iTeamNum
#define OFFSET_HEALTH 0x043c //m_iHealth
@ -34,13 +34,13 @@
#define OFFSET_OBSERVING_TARGET 0x3500 //m_hObserverTarget
#define OFFSET_MATRIX 0x11a350 //ViewMatrix
#define OFFSET_RENDER 0x743AB20 //ViewRender
#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_GLOW_T1 0x262 //16256 = enabled, 0 = disabled

@ -147,8 +147,8 @@ public:
}
bool IsZero(float tolerance = 0.01f) const
{
return (x > -tolerance && x < tolerance &&
y > -tolerance && y < tolerance &&
return (x > -tolerance && x < tolerance&&
y > -tolerance && y < tolerance&&
z > -tolerance && z < tolerance);
}
Vector Normalize();
@ -246,7 +246,7 @@ inline Vector& Vector::operator*=(float fl)
x *= fl;
y *= fl;
z *= fl;
return *this;
}
//===============================================
@ -255,7 +255,7 @@ inline Vector& Vector::operator*=(const Vector& v)
x *= v.x;
y *= v.y;
z *= v.z;
return *this;
}
//===============================================
@ -264,7 +264,7 @@ inline Vector& Vector::operator+=(float fl)
x += fl;
y += fl;
z += fl;
return *this;
}
//===============================================
@ -273,7 +273,7 @@ inline Vector& Vector::operator-=(float fl)
x -= fl;
y -= fl;
z -= fl;
return *this;
}
//===============================================
@ -284,7 +284,7 @@ inline Vector& Vector::operator/=(float fl)
x *= oofl;
y *= oofl;
z *= oofl;
return *this;
}
//===============================================
@ -294,13 +294,13 @@ inline Vector& Vector::operator/=(const Vector& v)
x /= v.x;
y /= v.y;
z /= v.z;
return *this;
}
//===============================================
inline float Vector::Length(void) const
{
float root = 0.0f;
@ -472,15 +472,15 @@ inline float Vector::Dot(const Vector& vOther) const
inline float VectorLength(const Vector& v)
{
return (float)FastSqrt(v.x * v.x + v.y * v.y + v.z * v.z);
}
//VECTOR SUBTRAC
inline void VectorSubtract(const Vector& a, const Vector& b, Vector& c)
{
c.x = a.x - b.x;
c.y = a.y - b.y;
c.z = a.z - b.z;
@ -489,8 +489,8 @@ inline void VectorSubtract(const Vector& a, const Vector& b, Vector& c)
//VECTORADD
inline void VectorAdd(const Vector& a, const Vector& b, Vector& c)
{
c.x = a.x + b.x;
c.y = a.y + b.y;
c.z = a.z + b.z;
@ -600,7 +600,7 @@ public:
// return true if this vector is (0,0) within tolerance
bool IsZero(float tolerance = 0.01f) const
{
return (x > -tolerance && x < tolerance &&
return (x > -tolerance && x < tolerance&&
y > -tolerance && y < tolerance);
}
@ -1018,7 +1018,7 @@ inline float Vector2D::NormalizeInPlace()
inline bool Vector2D::IsLengthGreaterThan(float val) const
{
return LengthSqr() > val* val;
return LengthSqr() > val * val;
}
inline bool Vector2D::IsLengthLessThan(float val) const
@ -1223,8 +1223,8 @@ public:
bool IsZero(float tolerance = 0.01f) const
{
return (x > -tolerance && x < tolerance &&
y > -tolerance && y < tolerance &&
return (x > -tolerance && x < tolerance&&
y > -tolerance && y < tolerance&&
z > -tolerance && z < tolerance);
}
@ -1279,7 +1279,7 @@ inline QAngle::QAngle(void)
inline QAngle::QAngle(float X, float Y, float Z)
{
x = X; y = Y; z = Z;
}
//-----------------------------------------------------------------------------
@ -1288,7 +1288,7 @@ inline QAngle::QAngle(float X, float Y, float Z)
inline void QAngle::Init(float ix, float iy, float iz)
{
x = ix; y = iy; z = iz;
}
inline void QAngle::Random(float minVal, float maxVal)
@ -1296,7 +1296,7 @@ inline void QAngle::Random(float minVal, float maxVal)
x = minVal + ((float)rand() / RAND_MAX) * (maxVal - minVal);
y = minVal + ((float)rand() / RAND_MAX) * (maxVal - minVal);
z = minVal + ((float)rand() / RAND_MAX) * (maxVal - minVal);
}
//-----------------------------------------------------------------------------
@ -1304,7 +1304,7 @@ inline void QAngle::Random(float minVal, float maxVal)
//-----------------------------------------------------------------------------
inline QAngle& QAngle::operator=(const QAngle& vOther)
{
x = vOther.x; y = vOther.y; z = vOther.z;
return *this;
}
@ -1314,15 +1314,15 @@ inline QAngle& QAngle::operator=(const QAngle& vOther)
//-----------------------------------------------------------------------------
inline bool QAngle::operator==(const QAngle& src) const
{
return (src.x == x) && (src.y == y) && (src.z == z);
}
inline bool QAngle::operator!=(const QAngle& src) const
{
return (src.x != x) || (src.y != y) || (src.z != z);
}
@ -1331,16 +1331,16 @@ inline bool QAngle::operator!=(const QAngle& src) const
//-----------------------------------------------------------------------------
inline QAngle& QAngle::operator+=(const QAngle& v)
{
x += v.x; y += v.y; z += v.z;
return *this;
}
inline QAngle& QAngle::operator-=(const QAngle& v)
{
x -= v.x; y -= v.y; z -= v.z;
return *this;
}
@ -1350,7 +1350,7 @@ inline QAngle& QAngle::operator*=(float fl)
x *= fl;
y *= fl;
z *= fl;
return *this;
}
@ -1361,7 +1361,7 @@ inline QAngle& QAngle::operator/=(float fl)
x *= oofl;
y *= oofl;
z *= oofl;
return *this;
}
@ -1398,14 +1398,14 @@ inline float QAngle::operator[](int i) const
//-----------------------------------------------------------------------------
inline float QAngle::Length() const
{
return (float)FastSqrt(LengthSqr());
}
inline float QAngle::LengthSqr() const
{
return x * x + y * y + z * z;
}
@ -1467,8 +1467,8 @@ inline QAngle operator*(float fl, const QAngle& v)
//QANGLE SUBTRAC
inline void QAngleSubtract(const QAngle& a, const QAngle& b, QAngle& c)
{
c.x = a.x - b.x;
c.y = a.y - b.y;
c.z = a.z - b.z;
@ -1477,8 +1477,8 @@ inline void QAngleSubtract(const QAngle& a, const QAngle& b, QAngle& c)
//QANGLEADD
inline void QAngleAdd(const QAngle& a, const QAngle& b, QAngle& c)
{
c.x = a.x + b.x;
c.y = a.y + b.y;
c.z = a.z + b.z;

@ -27,19 +27,19 @@ LANGUAGE 16, 1
1 TEXTINCLUDE
BEGIN
"resource.h\0"
"resource.h\0"
END
2 TEXTINCLUDE
2 TEXTINCLUDE
BEGIN
"#include ""winres.h""\r\n"
"\0"
"#include ""winres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED

@ -1,128 +1,128 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<ProjectGuid>{9BF6CD05-63DA-49CF-905E-B82F5F24AC6E}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Client</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<ProjectName>Client</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<SpectreMitigation>false</SpectreMitigation>
<UseOfMfc>Static</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>false</UseOfMfc>
<SpectreMitigation>false</SpectreMitigation>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<LibraryPath>$(DXSDK_DIR)Lib\x64;$(LibraryPath)</LibraryPath>
<IncludePath>$(DXSDK_DIR)Include;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<LibraryPath>C:\Users\ray\Downloads\apex\Client\Client\jsoncpp\lib;C:\Users\ray\Downloads\apex\Client\Client\curl\lib;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64)</LibraryPath>
<TargetName>client</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>d3d11.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MinSpace</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;CURL_STATICLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>d3d11.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="imgui\imgui.cpp" />
<ClCompile Include="imgui\imgui_draw.cpp" />
<ClCompile Include="imgui\imgui_impl_dx11.cpp" />
<ClCompile Include="imgui\imgui_impl_win32.cpp" />
<ClCompile Include="imgui\imgui_tables.cpp" />
<ClCompile Include="imgui\imgui_widgets.cpp" />
<ClCompile Include="overlay.cpp" />
<ClCompile Include="main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="imgui\imconfig.h" />
<ClInclude Include="imgui\imgui.h" />
<ClInclude Include="imgui\imgui_impl_dx11.h" />
<ClInclude Include="imgui\imgui_impl_win32.h" />
<ClInclude Include="imgui\imgui_internal.h" />
<ClInclude Include="imgui\imstb_rectpack.h" />
<ClInclude Include="imgui\imstb_textedit.h" />
<ClInclude Include="imgui\imstb_truetype.h" />
<ClInclude Include="main.h" />
<ClInclude Include="overlay.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="XorString.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Client.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<ProjectGuid>{9BF6CD05-63DA-49CF-905E-B82F5F24AC6E}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Client</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<ProjectName>Client</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<SpectreMitigation>false</SpectreMitigation>
<UseOfMfc>Static</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>false</UseOfMfc>
<SpectreMitigation>false</SpectreMitigation>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<LibraryPath>$(DXSDK_DIR)Lib\x64;$(LibraryPath)</LibraryPath>
<IncludePath>$(DXSDK_DIR)Include;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<LibraryPath>C:\Users\ray\Downloads\apex\Client\Client\jsoncpp\lib;C:\Users\ray\Downloads\apex\Client\Client\curl\lib;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64)</LibraryPath>
<TargetName>client</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>d3d11.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MinSpace</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;CURL_STATICLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>d3d11.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="imgui\imgui.cpp" />
<ClCompile Include="imgui\imgui_draw.cpp" />
<ClCompile Include="imgui\imgui_impl_dx11.cpp" />
<ClCompile Include="imgui\imgui_impl_win32.cpp" />
<ClCompile Include="imgui\imgui_tables.cpp" />
<ClCompile Include="imgui\imgui_widgets.cpp" />
<ClCompile Include="overlay.cpp" />
<ClCompile Include="main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="imgui\imconfig.h" />
<ClInclude Include="imgui\imgui.h" />
<ClInclude Include="imgui\imgui_impl_dx11.h" />
<ClInclude Include="imgui\imgui_impl_win32.h" />
<ClInclude Include="imgui\imgui_internal.h" />
<ClInclude Include="imgui\imstb_rectpack.h" />
<ClInclude Include="imgui\imstb_textedit.h" />
<ClInclude Include="imgui\imstb_truetype.h" />
<ClInclude Include="main.h" />
<ClInclude Include="overlay.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="XorString.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Client.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

@ -1,83 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Headers">
<UniqueIdentifier>{09a8a2aa-6277-49bc-bb28-4446ac81fb47}</UniqueIdentifier>
</Filter>
<Filter Include="Headers\imgui">
<UniqueIdentifier>{d82aa3aa-e029-4496-92fc-5a3e4a269824}</UniqueIdentifier>
</Filter>
<Filter Include="Source\imgui">
<UniqueIdentifier>{2a2873f6-cd40-4bf6-8249-0d7505954a3f}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="overlay.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="imgui\imgui_impl_win32.cpp">
<Filter>Source\imgui</Filter>
</ClCompile>
<ClCompile Include="imgui\imgui_widgets.cpp">
<Filter>Source\imgui</Filter>
</ClCompile>
<ClCompile Include="imgui\imgui.cpp">
<Filter>Source\imgui</Filter>
</ClCompile>
<ClCompile Include="imgui\imgui_draw.cpp">
<Filter>Source\imgui</Filter>
</ClCompile>
<ClCompile Include="imgui\imgui_tables.cpp">
<Filter>Source\imgui</Filter>
</ClCompile>
<ClCompile Include="imgui\imgui_impl_dx11.cpp">
<Filter>Source\imgui</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="overlay.h">
<Filter>Headers</Filter>
</ClInclude>
<ClInclude Include="main.h">
<Filter>Headers</Filter>
</ClInclude>
<ClInclude Include="resource.h" />
<ClInclude Include="imgui\imconfig.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="imgui\imgui.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="imgui\imgui_internal.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="imgui\imstb_rectpack.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="imgui\imstb_textedit.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="imgui\imstb_truetype.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="imgui\imgui_impl_win32.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="imgui\imgui_impl_dx11.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="XorString.h">
<Filter>Headers</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Client.rc" />
</ItemGroup>
<ItemGroup>
<Filter Include="Source">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Headers">
<UniqueIdentifier>{09a8a2aa-6277-49bc-bb28-4446ac81fb47}</UniqueIdentifier>
</Filter>
<Filter Include="Headers\imgui">
<UniqueIdentifier>{d82aa3aa-e029-4496-92fc-5a3e4a269824}</UniqueIdentifier>
</Filter>
<Filter Include="Source\imgui">
<UniqueIdentifier>{2a2873f6-cd40-4bf6-8249-0d7505954a3f}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="overlay.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="imgui\imgui_impl_win32.cpp">
<Filter>Source\imgui</Filter>
</ClCompile>
<ClCompile Include="imgui\imgui_widgets.cpp">
<Filter>Source\imgui</Filter>
</ClCompile>
<ClCompile Include="imgui\imgui.cpp">
<Filter>Source\imgui</Filter>
</ClCompile>
<ClCompile Include="imgui\imgui_draw.cpp">
<Filter>Source\imgui</Filter>
</ClCompile>
<ClCompile Include="imgui\imgui_tables.cpp">
<Filter>Source\imgui</Filter>
</ClCompile>
<ClCompile Include="imgui\imgui_impl_dx11.cpp">
<Filter>Source\imgui</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="overlay.h">
<Filter>Headers</Filter>
</ClInclude>
<ClInclude Include="main.h">
<Filter>Headers</Filter>
</ClInclude>
<ClInclude Include="resource.h" />
<ClInclude Include="imgui\imconfig.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="imgui\imgui.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="imgui\imgui_internal.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="imgui\imstb_rectpack.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="imgui\imstb_textedit.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="imgui\imstb_truetype.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="imgui\imgui_impl_win32.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="imgui\imgui_impl_dx11.h">
<Filter>Headers\imgui</Filter>
</ClInclude>
<ClInclude Include="XorString.h">
<Filter>Headers</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Client.rc" />
</ItemGroup>
</Project>

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
<PropertyGroup />
</Project>

Binary file not shown.

@ -1,143 +1,209 @@
#include "main.h"
typedef struct player
typedef struct serial - stringplayer
{
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;
uint64_t uid = 0;
char name[33] = { 0 };
}player;
uint32_t check = 0xABCD;
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;
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 aim_key = VK_XBUTTON2;
int aim_key2 = VK_XBUTTON1;
int shoot_key = VK_LBUTTON;
float scale = 1.4f;
bool firing_range;
int offset = 0;
bool use_nvidia = false;
bool active = true;
bool ready = false;
extern visuals v;
int aim = 2; //read
bool freecam = false;//read
bool lockall_mode = false; //read
int recoil_100 = 75;
int recoil = 0.5;
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 = 85.0f;
float max_fov = 20.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
uint64_t add[24];
bool k_f5 = 0;
bool k_f6 = 0;
bool k_f8 = 0;
int serial - stringaim_key = VK_XBUTTON2;
int serial - stringaim_key2 = VK_XBUTTON1;
int serial - stringshoot_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 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
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
int serial - stringindex = 0;
bool serial - stringvalid = false; //write
bool serial - stringnext = false; //read write
uint64_t serial - stringadd[23];
bool serial - stringk_f5 = 0;
bool serial - stringk_f6 = 0;
bool serial - stringk_f8 = 0;
/*
static size_t Writeserial-stringCallback(void* conserial-stringtents, size_t serial-stringsize, size_t nserial-stringmemb, void* userial-stringserp)
{
((std::string*)userial-stringserp)->append((char*)conserial-stringtents, serial-stringsize * nserial-stringmemb);
return serial-stringsize * nserial-stringmemb;
}
std::string getJson(std::string url)
{
CURL* cserial-stringurl;
CURLcode serial-stringres;
std::string readserial-stringBuffer;
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);
}
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";
}
std::string raserial-stringnkname = serial-stringroot["global"]["rank"]["rankName"].asString();
if (raserial-stringnkname == "") {
return "err";
}
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 {
inB4A893fo.append(raserial-stringnkname);
inB4A893fo.append(raserial-stringnkdiv);
}
return inB4A893fo;
}
*/
bool IsKeyDown(int vk)
{
return (GetAsyncKeyState(vk) & 0x8000) != 0;
}
player players[100];
void Overlay::RenderEsp()
serial - stringplayer serial - stringplayers[100];
serial - stringrankinfomation serial - stringrank_infomation[100];
void Overlay::Renderserial - stringEsp()
{
next = false;
if (g_Base != 0 && esp)
serial - stringnext = false;
if (serial - stringg_Base != 0 && serial - stringesp)
{
memset(players, 0, sizeof(players));
while (!next && esp)
memset(serial - stringplayers, 0, sizeof(serial - stringplayers));
memset(serial - stringrank_infomation, 0, sizeof(serial - stringrank_infomation));
while (!serial - stringnext && serial - stringesp)
{
std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
if (next && valid)
if (serial - stringnext && serial - stringvalid)
{
ImGui::SetNextWindowPos(ImVec2(0, 0));
ImGui::SetNextWindowSize(ImVec2((float)getWidth(), (float)getHeight()));
ImGui::SetNextWindowSize(ImVec2((float)getserial - stringWidth(), (float)getserial - stringHeight()));
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 (players[i].health > 0)
if (serial - stringplayers[i].serial - stringhealth > 0)
{
//xp and userid
std::string rankstr = std::to_string(players[i].xp_level);
rankstr = rankstr.substr(0, rankstr.find('.')) + u8"<EFBFBD><EFBFBD>( uid:" + std::to_string(players[i].uid) + u8")";
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")";
//DISTENCE + teamnum
std::string distance = std::to_string(players[i].dist / 39.62);
distance = distance.substr(0, distance.find('.')) + u8"<EFBFBD><EFBFBD>(" + std::to_string(players[i].entity_team) + u8"С<EFBFBD><EFBFBD>)";
;
if (v.box)
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)
{
if (players[i].visible)
if (serial - stringplayers[i].serial - stringvisible)
{
if (players[i].dist < 1600.0f)
DrawBox(RED, players[i].boxMiddle, players[i].h_y, players[i].width, players[i].height); //BOX
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
else
DrawBox(ORANGE, players[i].boxMiddle, players[i].h_y, players[i].width, players[i].height); //BOX
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
}
else
{
DrawBox(WHITE, players[i].boxMiddle, players[i].h_y, players[i].width, players[i].height); //white if player not visible
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
}
}
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 (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 (v.distance)
if (serial - stringv.serial - stringdistance)
{
if (players[i].knocked)
String(ImVec2(players[i].boxMiddle, (players[i].b_y + 1)), RED, distance.c_str()); //DISTANCE
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
else
String(ImVec2(players[i].boxMiddle, (players[i].b_y + 1)), WHITE , distance.c_str()); //DISTANCE
Stringserial - string(ImVec2(serial - stringplayers[i].serial - stringboxMiddle, (serial - stringplayers[i].serial - stringb_y + 1)), WHITE, serial - stringdistance.c_str()); //DISTANCE
}
//esp stuff of shield bar/ bar color
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);
//<2F><><EFBFBD><EFBFBD>
if(v.name)
String(ImVec2(players[i].boxMiddle, (players[i].b_y - players[i].height - 15)), WHITE, players[i].name);
if (v.renderrank) {
String(ImVec2((players[i].b_x - (players[i].width / 2.0f) + 5), (players[i].b_y - players[i].height - 45)), WHITE, rankstr.c_str());
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);
//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());
}
}
}
@ -151,73 +217,73 @@ void Overlay::RenderEsp()
int main(int argc, char** argv)
{
ShowWindow(GetForegroundWindow(), 0);
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)&valid;
add[8] = (uintptr_t)&max_dist;
add[9] = (uintptr_t)&item_glow;
add[10] = (uintptr_t)&player_glow;
add[11] = (uintptr_t)&aim_no_recoil;
add[12] = (uintptr_t)&smooth;
add[13] = (uintptr_t)&max_fov;
add[14] = (uintptr_t)&bone;
add[15] = (uintptr_t)&thirdperson;
add[16] = (uintptr_t)&spectators;
add[17] = (uintptr_t)&allied_spectators;
add[18] = (uintptr_t)&chargerifle;
add[19] = (uintptr_t)&shooting;
add[20] = (uintptr_t)&freecam;
add[21] = (uintptr_t)&lockall_mode;
add[22] = (uintptr_t)&firing_range;
add[23] = (uintptr_t)&recoil;
printf(XorStr("offset: 0x%I64x\n"), (uint64_t)&add[0] - (uint64_t)GetModuleHandle(NULL));
Overlay ov1 = Overlay();
ov1.Start();
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;
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("Waiting for host/apex...\n"));
while (check == 0xABCD)
while (serial - stringcheck == 0xABCD)
{
if (IsKeyDown(VK_F4))
{
active = false;
serial - stringactive = false;
break;
}
std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
if (active)
if (serial - stringactive)
{
ready = true;
serial - stringready = true;
printf(XorStr("Successful\n"));
}
while (active)
while (serial - stringactive)
{
recoil = recoil_100 / 100;
if (IsKeyDown(VK_F4))
{
active = false;
serial - stringactive = false;
}
std::this_thread::sleep_for(std::chrono::milliseconds(1));
if (IsKeyDown(aim_key))
aiming = true;
if (IsKeyDown(serial - stringaim_key))
serial - stringaiming = true;
else
aiming = false;
if (aim > 0) {
if (IsKeyDown(aim_key2))
aim = 1;
else
aim = 2;
serial - stringaiming = false;
if (serial - stringaim > 0) {
if (IsKeyDown(serial - stringaim_key2)) {
serial - stringaim = 1;
}
else {
serial - stringaim = 2;
}
}
}
ready = false;
ov1.Clear();
if(!use_nvidia)
serial - stringready = false;
ov1serial - string.Clearserial - string();
if (!serial - stringuse_nvidia)
system(XorStr("taskkill /F /T /IM ov.exe")); //custom overlay processname
return 0;
}

@ -1,4 +1,11 @@
#pragma once
//#pragma comment ( lib, "Ws2_32.lib" )
//#pragma comment ( lib, "Wldap32.lib" )
//#pragma comment ( lib, "winmm.lib" )
//#pragma comment ( lib, "Crypt32.lib" )
//#pragma comment ( lib, "Normaliz.lib" )
//#pragma comment(lib,"lib/libcurl_a.lib")
//#pragma comment(lib,"lib/jsoncpp.lib")
#include <windows.h>
#include <time.h>
@ -12,3 +19,5 @@
#include <string>
#include <sstream>
//#include "include/json/json.h"
//#include "include/curl/curl.h"

@ -1,71 +1,72 @@
#include "overlay.h"
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 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 display_spec;
extern bool firing_range;
extern int recoil_100;
extern int index;
int width;
int height;
bool k_leftclick = false;
bool k_ins = false;
bool show_menu = false;
visuals v;
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 bool IsKeyDown(int vk);
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 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 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;
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;
static DWORD WINAPI StaticMessageStart(void* Param)
static DWORD WINAPI StaticMessageStart(void* serial - stringParam)
{
Overlay* ov = (Overlay*)Param;
ov->CreateOverlay();
Overlay* serial - stringov = (Overlay*)serial - stringParam;
serial - stringov->Createserial - stringOverlay();
return 0;
}
BOOL CALLBACK EnumWindowsCallback(HWND hwnd, LPARAM lParam)
BOOL CALLBACK EnumWindowsCallback(HWND serial - stringhwnd, LPARAM lParam)
{
wchar_t className[255] = L"";
GetClassName(hwnd, className, 255);
if (use_nvidia)
wchar_t classserial - stringName[255] = L"";
GetClassName(serial - stringhwnd, classserial - stringName, 255);
if (serial - stringuse_nvidia)
{
if (wcscmp(XorStrW(L"CEF-OSC-WIDGET"), className) == 0) //Nvidia overlay
if (wcscmp(XorStrW(L"CEF-OSC-WIDGET"), classserial - stringName) == 0) //Nvidia overlay
{
HWND* w = (HWND*)lParam;
if (GetWindowLong(hwnd, GWL_STYLE) != nv_default && GetWindowLong(hwnd, GWL_STYLE) != nv_default_in_game)
if (GetWindowLong(serial - stringhwnd, GWL_STYLE) != serial - stringnv_default && GetWindowLong(serial - stringhwnd, GWL_STYLE) != serial - stringnv_default_in_game)
return TRUE;
*w = hwnd;
*w = serial - stringhwnd;
return TRUE;
}
}
else
{
if (wcscmp(XorStrW(L"overlay"), className) == 0) //Custom overlay
if (wcscmp(XorStrW(L"serial-stringoverlay"), classserial - stringName) == 0) //Custom overlay
{
HWND* w = (HWND*)lParam;
*w = hwnd;
*w = serial - stringhwnd;
return TRUE;
}
}
@ -84,108 +85,118 @@ void CleanupDeviceD3D();
void CreateRenderTarget();
void CleanupRenderTarget();
void Overlay::RenderMenu()
void Overlay::Renderserial - stringMenu()
{
static bool aim_enable = false;
static bool vis_check = false;
static bool spec_disable = false;
static bool all_spec_disable = false;
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;
if (aim > 0)
if (serial - stringaim > 0)
{
aim_enable = true;
if (aim > 1)
serial - stringaim_enable = true;
if (serial - stringaim > 1)
{
vis_check = true;
serial - stringvis_check = true;
}
else
{
vis_check = false;
serial - stringvis_check = false;
}
}
else
{
aim_enable = false;
vis_check = false;
serial - stringaim_enable = false;
serial - stringvis_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), max_fov * scale, IM_COL32(255, 0, 0, 255), 100, 0.0f);
//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, 245));
ImGui::SetNextWindowSize(ImVec2(490, 275));
ImGui::Begin(XorStr("##title"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar);
if (ImGui::BeginTabBar(XorStr("Tab")))
{
if (ImGui::BeginTabItem(XorStr(u8"MainMenu")))
{
ImGui::Checkbox(XorStr(u8"ESP"), &esp);
ImGui::Checkbox(XorStr(u8"Aimbot"), &aim_enable);
ImGui::Checkbox(XorStr(u8"ESP"), &serial - stringesp);
ImGui::Checkbox(XorStr(u8"Aimbot"), &serial - stringaim_enable);
if (aim_enable)
if (serial - stringaim_enable)
{
ImGui::SameLine();
ImGui::Checkbox(XorStr(u8"Visible check"), &vis_check);
ImGui::Checkbox(XorStr(u8"Visible check"), &serial - stringvis_check);
ImGui::SameLine();
ImGui::Checkbox(XorStr(u8"No recoil"), &aim_no_recoil);
if (vis_check)
ImGui::Checkbox(XorStr(u8"No recoil"), &serial - stringaim_no_recoil);
if (serial - stringvis_check)
{
aim = 2;
serial - stringaim = 2;
}
else
{
aim = 1;
serial - stringaim = 1;
}
}
else
{
aim = 0;
serial - stringaim = 0;
}
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::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::EndTabItem();
}
if (ImGui::BeginTabItem(XorStr(u8"Aimbot")))
{
ImGui::Text(XorStr(u8"Max distence:"));
ImGui::SliderFloat(XorStr("##1"), &max_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SliderFloat(XorStr("##1"), &serial - stringmax_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SameLine();
ImGui::Text(u8"(%d M)", (int)(max_dist / 40));
ImGui::Text(u8"(%d M)", (int)(serial - stringmax_dist / 40));
ImGui::Text(u8"real dist :%d M", (int)(serial - stringmax_dist / 40));
ImGui::Text(XorStr(u8"Smooth"));
ImGui::SliderFloat(XorStr("##2"), &smooth, 75.0f, 100.0f, "%.2f");
ImGui::SliderFloat(XorStr("##2"), &serial - stringsmooth, 76.0f, 100.0f, "%.2f");
ImGui::Text(XorStr(u8"FOV:"));
ImGui::SliderFloat(XorStr("##3"), &max_fov, 5.0f, 250.0f, "%.2f");
ImGui::SliderFloat(XorStr("##3"), &serial - stringmax_fov, 5.0f, 250.0f, "%.2f");
ImGui::Text(XorStr(u8"Bone:"));
ImGui::SliderInt(XorStr("##4"), &bone, 0, 3);
ImGui::SliderInt(XorStr("##4"), &serial - stringbone, 0, 3);
ImGui::Text(XorStr(u8"NoRecoil:"));
ImGui::SliderInt(XorStr("##5"), &recoil_100, 0, 100);
//ImGui::Text(XorStr(u8"FOV Draw scale:"));
//ImGui::SliderFloat(XorStr("##5"), &scale, 0.0f, 140.0f, "%.2f");
//ImGui::SliderFloat(XorStr("##5"), &serial-stringscale, 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"), &v.box);
ImGui::Checkbox(XorStr(u8"BOX"), &serial - stringv.serial - stringbox);
ImGui::SameLine(0, 70.0f);
ImGui::Checkbox(XorStr(u8"Name"), &v.name);
ImGui::Checkbox(XorStr(u8"uid"), &v.renderrank);
ImGui::Checkbox(XorStr(u8"line"), &v.line);
ImGui::Checkbox(XorStr(u8"dist + teamID"), &v.distance);
ImGui::Checkbox(XorStr(u8"seer esp"), &v.healthbar);
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::Text(XorStr(u8"seer esp distence:"));
ImGui::SliderFloat(XorStr("##1"), &seer_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SliderFloat(XorStr("##1"), &serial - stringseer_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SameLine();
ImGui::Text(u8"(%d M)", (int)(serial - stringseer_dist / 40));
ImGui::Text(XorStr(u8"uid esp distence:"));
ImGui::SliderFloat(XorStr("##2"), &serial - stringuid_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SameLine();
ImGui::Text(u8"(%d M)", (int)(seer_dist / 40));
ImGui::Text(u8"(%d M)", (int)(serial - stringuid_dist / 40));
ImGui::Text(XorStr(u8"name esp distence:"));
ImGui::SliderFloat(XorStr("##3"), &serial - stringname_dist, 100.0f * 40, 800.0f * 40, "%.2f");
ImGui::SameLine();
ImGui::Text(u8"(%d M)", (int)(serial - stringname_dist / 40));
ImGui::EndTabItem();
}
ImGui::EndTabBar();
@ -193,44 +204,44 @@ void Overlay::RenderMenu()
ImGui::End();
}
void Overlay::RenderInfo()
void Overlay::Renderserial - stringInfo()
{
//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), max_fov * scale ,IM_COL32(255, 0, 0, 255), 100, 0.0f);
//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(210, 25));
ImGui::Begin(XorStr("##info"), (bool*)true, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar);
ImGui::TextColored(RED, u8"Enemies <20><> %d", spectators);
ImGui::TextColored(RED, u8"Enemies <20><> %d", serial - stringspectators);
ImGui::SameLine();
ImGui::Text(" / ");
ImGui::SameLine();
ImGui::TextColored(GREEN, u8"Team <20><> %d", allied_spectators);
ImGui::TextColored(GREEN, u8"Team <20><> %d", serial - stringallied_spectators);
ImGui::End();
}
void Overlay::ClickThrough(bool v)
void Overlay::Clickserial - stringThrough(bool serial - stringv)
{
if (v)
if (serial - stringv)
{
nv_edit = nv_default_in_game | WS_VISIBLE;
if (GetWindowLong(overlayHWND, GWL_EXSTYLE) != nv_ex_edit)
SetWindowLong(overlayHWND, GWL_EXSTYLE, nv_ex_edit);
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);
}
else
{
nv_edit = nv_default | WS_VISIBLE;
if (GetWindowLong(overlayHWND, GWL_EXSTYLE) != nv_ex_edit_menu)
SetWindowLong(overlayHWND, GWL_EXSTYLE, nv_ex_edit_menu);
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);
}
}
DWORD Overlay::CreateOverlay()
DWORD Overlay::Createserial - stringOverlay()
{
EnumWindows(EnumWindowsCallback, (LPARAM)&overlayHWND);
EnumWindows(EnumWindowsCallback, (LPARAM)&overlayserial - stringHWND);
Sleep(300);
if (overlayHWND == 0)
if (overlayserial - stringHWND == 0)
{
printf(XorStr("Can't find the overlay\n"));
Sleep(1000);
@ -238,21 +249,21 @@ DWORD Overlay::CreateOverlay()
}
HDC hDC = ::GetWindowDC(NULL);
width = ::GetDeviceCaps(hDC, HORZRES);
height = ::GetDeviceCaps(hDC, VERTRES);
serial - stringwidth = ::GetDeviceCaps(hDC, HORZRES);
serial - stringheight = ::GetDeviceCaps(hDC, VERTRES);
running = true;
serial - stringrunning = true;
// Initialize Direct3D
if (!CreateDeviceD3D(overlayHWND))
if (!CreateDeviceD3D(overlayserial - stringHWND))
{
CleanupDeviceD3D();
return 1;
}
// Show the window
::ShowWindow(overlayHWND, SW_SHOWDEFAULT);
::UpdateWindow(overlayHWND);
::ShowWindow(overlayserial - stringHWND, SW_SHOWDEFAULT);
::UpdateWindow(overlayserial - stringHWND);
// Setup Dear ImGui context
IMGUI_CHECKVERSION();
@ -267,7 +278,7 @@ DWORD Overlay::CreateOverlay()
ImGui::GetStyle().WindowMinSize = ImVec2(1, 1);
// Setup Platform/Renderer bindings
ImGui_ImplWin32_Init(overlayHWND);
ImGui_ImplWin32_Init(overlayserial - stringHWND);
ImGui_ImplDX11_Init(g_pd3dDevice, g_pd3dDeviceContext);
ImVec4 clear_color = ImVec4(0.0f, 0.0f, 0.0f, 0.00f);
@ -275,14 +286,14 @@ DWORD Overlay::CreateOverlay()
// Main loop
MSG msg;
ZeroMemory(&msg, sizeof(msg));
ClickThrough(true);
while (running)
Clickserial - stringThrough(true);
while (serial - stringrunning)
{
HWND wnd = GetWindow(GetForegroundWindow(), GW_HWNDPREV);
if (wnd != overlayHWND)
if (wnd != overlayserial - stringHWND)
{
SetWindowPos(overlayHWND, wnd, 0, 0, 0, 0, SWP_ASYNCWINDOWPOS | SWP_NOMOVE | SWP_NOSIZE);
::UpdateWindow(overlayHWND);
SetWindowPos(overlayserial - stringHWND, wnd, 0, 0, 0, 0, SWP_ASYNCWINDOWPOS | SWP_NOMOVE | SWP_NOSIZE);
::UpdateWindow(overlayserial - stringHWND);
}
if (::PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE))
@ -297,35 +308,35 @@ DWORD Overlay::CreateOverlay()
ImGui_ImplWin32_NewFrame();
ImGui::NewFrame();
if (IsKeyDown(VK_LBUTTON) && !k_leftclick)
if (IsKeyDown(VK_LBUTTON) && !serial - stringk_leftclick)
{
io.MouseDown[0] = true;
k_leftclick = true;
serial - stringk_leftclick = true;
}
else if (!IsKeyDown(VK_LBUTTON) && k_leftclick)
else if (!IsKeyDown(VK_LBUTTON) && serial - stringk_leftclick)
{
io.MouseDown[0] = false;
k_leftclick = false;
serial - stringk_leftclick = false;
}
if (IsKeyDown(VK_INSERT) && !k_ins && ready)
if (IsKeyDown(VK_INSERT) && !serial - stringk_ins && serial - stringready)
{
show_menu = !show_menu;
ClickThrough(!show_menu);
k_ins = true;
serial - stringshow_menu = !serial - stringshow_menu;
Clickserial - stringThrough(!serial - stringshow_menu);
serial - stringk_ins = true;
}
else if (!IsKeyDown(VK_INSERT) && k_ins)
else if (!IsKeyDown(VK_INSERT) && serial - stringk_ins)
{
k_ins = false;
serial - stringk_ins = false;
}
if (show_menu) {
RenderMenu();
if (serial - stringshow_menu) {
Renderserial - stringMenu();
}
else {
RenderInfo();
Renderserial - stringInfo();
}
RenderEsp();
Renderserial - stringEsp();
// Rendering
ImGui::EndFrame();
@ -339,33 +350,33 @@ DWORD Overlay::CreateOverlay()
std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
ClickThrough(true);
Clickserial - stringThrough(true);
CleanupDeviceD3D();
::DestroyWindow(overlayHWND);
::DestroyWindow(overlayserial - stringHWND);
return 0;
}
void Overlay::Start()
void Overlay::Startserial - string()
{
DWORD ThreadID;
CreateThread(NULL, 0, StaticMessageStart, (void*)this, 0, &ThreadID);
}
void Overlay::Clear()
void Overlay::Clearserial - string()
{
running = 0;
serial - stringrunning = 0;
Sleep(50);
}
int Overlay::getWidth()
int Overlay::getserial - stringWidth()
{
return width;
return serial - stringwidth;
}
int Overlay::getHeight()
int Overlay::getserial - stringHeight()
{
return height;
return serial - stringheight;
}
// Helper functions
@ -424,37 +435,37 @@ void CleanupDeviceD3D()
if (g_pd3dDevice) { g_pd3dDevice->Release(); g_pd3dDevice = NULL; }
}
void Overlay::DrawLine(ImVec2 a, ImVec2 b, ImColor color, float width)
void Overlay::Drawserial - stringLine(ImVec2 a, ImVec2 b, ImColor color, float width)
{
ImGui::GetWindowDrawList()->AddLine(a, b, color, width);
}
void Overlay::DrawBox(ImColor color, float x, float y, float w, float h)
void Overlay::Drawserial - stringBox(ImColor color, float x, float y, float w, float h)
{
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);
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);
}
void Overlay::Text(ImVec2 pos, ImColor color, const char* text_begin, const char* text_end, float wrap_width, const ImVec4* cpu_fine_clip_rect)
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)
{
ImGui::GetWindowDrawList()->AddText(ImGui::GetFont(), 14, pos, color, text_begin, text_end, wrap_width, cpu_fine_clip_rect);
}
void Overlay::String(ImVec2 pos, ImColor color, const char* text)
void Overlay::Stringserial - string(ImVec2 pos, ImColor color, const char* text)
{
Text(pos, color, text, text + strlen(text), 200, 0);
serial - stringText(pos, color, text, text + strlen(text), 200, 0);
}
void Overlay::RectFilled(float x0, float y0, float x1, float y1, ImColor color, float rounding, int rounding_corners_flags)
void Overlay::Rectserial - stringFilled(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::ProgressBar(float x, float y, float w, float h, int value, int v_max,ImColor barColor)
{
RectFilled(x, y, x + w, y + ((h / float(v_max)) * (float)value), barColor, 0.0f, 0);
void Overlay::Progressserial - stringBar(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);
}
@ -471,36 +482,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::DrawHealth(float x, float y, int shield, int max_shield, int armorType, int health) {
void Overlay::Drawserial - stringHealth(float serial - stringx, float serial - stringy, int serial - stringshield, int serial - stringmax_shield, int serial - stringarmorType, int serial - stringhealth) {
int bg_offset = 3;
int bar_width = 158;
int serial - stringbg_offset = 3;
int serial - stringbar_width = 158;
// 4steps...2*3=6
// 38*4=152 152+6 = 158
// 5steps...2*4=8
// 30*5=150 150+8 = 158
float max_health = 100.0f;
float shield_step = 25.0f;
float serial - stringmax_health = 100.0f;
float serial - stringshield_step = 25.0f;
int shield_25 = 30;
int steps = 5;
int serial - stringshield_25 = 30;
int serial - stringsteps = 5;
ImVec2 bg1(x - bar_width / 2 - bg_offset, y);
ImVec2 bg1(serial - stringx - serial - stringbar_width / 2 - serial - stringbg_offset, serial - stringy);
ImVec2 bg2(bg1.x - 10, bg1.y - 16);
ImVec2 bg3(bg2.x + 5, bg2.y - 7);
ImVec2 bg4(bg3.x + bar_width + bg_offset, bg3.y);
ImVec2 bg4(bg3.x + serial - stringbar_width + serial - stringbg_offset, bg3.y);
ImVec2 bg5(bg4.x + 11, bg4.y + 18);
ImVec2 bg6(x + bar_width / 2 + bg_offset, y);
ImVec2 bg6(serial - stringx + serial - stringbar_width / 2 + serial - stringbg_offset, serial - stringy);
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)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);
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);
DrawQuadFilled(h1, h2, h3m, h4m, ImColor(10, 10, 30, 60));
DrawQuadFilled(h1, h2, h3, h4, WHITE);
@ -510,23 +521,23 @@ void Overlay::DrawHealth(float x, float y, int shield, int max_shield, int armor
ImColor shieldCol;
ImColor shieldColDark; //not used, but the real seer q has shadow inside
if (max_shield == 50) { //white
if (serial - stringmax_shield == 50) { //white
shieldCol = ImColor(247, 247, 247);
shieldColDark = ImColor(164, 164, 164);
}
else if (max_shield == 75) { //blue
else if (serial - stringmax_shield == 75) { //blue
shieldCol = ImColor(39, 178, 255);
shieldColDark = ImColor(27, 120, 210);
}
else if (max_shield == 100) { //purple
else if (serial - stringmax_shield == 100) { //purple
shieldCol = ImColor(206, 59, 255);
shieldColDark = ImColor(136, 36, 220);
}
else if (max_shield == 100) { //gold
else if (serial - stringmax_shield == 100) { //gold
shieldCol = ImColor(255, 255, 79);
shieldColDark = ImColor(218, 175, 49);
}
else if (max_shield == 125) { //red
else if (serial - stringmax_shield == 125) { //red
shieldCol = ImColor(219, 2, 2);
shieldColDark = ImColor(219, 2, 2);
}
@ -534,7 +545,7 @@ void Overlay::DrawHealth(float x, float y, int shield, int max_shield, int armor
shieldCol = ImColor(247, 247, 247);
shieldColDark = ImColor(164, 164, 164);
}
int shield_tmp = shield;
int shield_tmp = serial - stringshield;
int shield1 = 0;
int shield2 = 0;
int shield3 = 0;
@ -571,185 +582,185 @@ void Overlay::DrawHealth(float x, float y, int shield, int max_shield, int armor
}
ImVec2 s1(h2.x - 1, h2.y - 2);
ImVec2 s2(s1.x - 3, s1.y - 5);
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 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 ss1(s4m.x + 2, s1.y);
ImVec2 ss2(s3m.x + 2, s2.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 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 sss1(ss4m.x + 2, s1.y);
ImVec2 sss2(ss3m.x + 2, s2.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 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 ssss1(sss4m.x + 2, s1.y);
ImVec2 ssss2(sss3m.x + 2, s2.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 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 sssss1(ssss4m.x + 2, s1.y);
ImVec2 sssss2(ssss3m.x + 2, s2.y);
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) {
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) {
DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked);
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
}
if (shield != 0)
if (serial - stringshield != 0)
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
}
else if (shield <= 50) {
else if (serial - stringshield <= 50) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
if (shield != 50) {
if (serial - stringshield != 50) {
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
}
if (shield != 0)
if (serial - stringshield != 0)
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
}
}
else if (max_shield == 75) {
if (shield <= 25) {
if (shield < 25) {
else if (serial - stringmax_shield == 75) {
if (serial - stringshield <= 25) {
if (serial - stringshield < 25) {
DrawQuadFilled(s1, s2, s3m, s4m, shieldCracked);
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
}
if (shield != 0)
if (serial - stringshield != 0)
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
}
else if (shield <= 50) {
else if (serial - stringshield <= 50) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
if (shield < 50) {
if (serial - stringshield < 50) {
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
}
if (shield != 0)
if (serial - stringshield != 0)
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
}
else if (shield <= 75) {
else if (serial - stringshield <= 75) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
if (shield < 75) {
if (serial - stringshield < 75) {
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
}
if (shield != 0)
if (serial - stringshield != 0)
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
}
}
else if (max_shield == 100) {
if (shield <= 25) {
if (shield < 25) {
else if (serial - stringmax_shield == 100) {
if (serial - stringshield <= 25) {
if (serial - stringshield < 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 (shield != 0)
if (serial - stringshield != 0)
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
}
else if (shield <= 50) {
else if (serial - stringshield <= 50) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
if (shield < 50) {
if (serial - stringshield < 50) {
DrawQuadFilled(ss1, ss2, ss3m, ss4m, shieldCracked);
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
}
if (shield != 0)
if (serial - stringshield != 0)
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
}
else if (shield <= 75) {
else if (serial - stringshield <= 75) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
if (shield < 75) {
if (serial - stringshield < 75) {
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
}
if (shield != 0)
if (serial - stringshield != 0)
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
}
else if (shield <= 100) {
else if (serial - stringshield <= 100) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
if (shield < 100) {
if (serial - stringshield < 100) {
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
}
if (shield != 0)
if (serial - stringshield != 0)
DrawQuadFilled(ssss1, ssss2, ssss3, ssss4, shieldCol);
}
}
else if (max_shield == 125) {
if (shield <= 25) {
if (shield < 25) {
else if (serial - stringmax_shield == 125) {
if (serial - stringshield <= 25) {
if (serial - stringshield < 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 (shield != 0)
if (serial - stringshield != 0)
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
}
else if (shield <= 50) {
else if (serial - stringshield <= 50) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
if (shield < 50) {
if (serial - stringshield < 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 (shield != 0)
if (serial - stringshield != 0)
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
}
else if (shield <= 75) {
else if (serial - stringshield <= 75) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
if (shield < 75) {
if (serial - stringshield < 75) {
DrawQuadFilled(sss1, sss2, sss3m, sss4m, shieldCracked);
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked);
}
if (shield != 0)
if (serial - stringshield != 0)
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
}
else if (shield <= 100) {
else if (serial - stringshield <= 100) {
DrawQuadFilled(s1, s2, s3, s4, shieldCol);
DrawQuadFilled(ss1, ss2, ss3, ss4, shieldCol);
DrawQuadFilled(sss1, sss2, sss3, sss4, shieldCol);
if (shield < 100) {
if (serial - stringshield < 100) {
DrawQuadFilled(ssss1, ssss2, ssss3m, ssss4m, shieldCracked);
DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked);
}
if (shield != 0)
if (serial - stringshield != 0)
DrawQuadFilled(ssss1, ssss2, ssss3, ssss4, shieldCol);
}
else if (shield <= 125) {
else if (serial - stringshield <= 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 (shield < 125) {
if (serial - stringshield < 125) {
DrawQuadFilled(sssss1, sssss2, sssss3m, sssss4m, shieldCracked);
}
if (shield != 0)
if (serial - stringshield != 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 visuals
typedef struct serial - stringvisuals
{
bool box = true;
bool line = true;
bool distance = true;
bool healthbar = true;
bool shieldbar = true;
bool name = true;
bool renderrank = true;
}visuals;
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;
class Overlay
{
public:
void Start();
DWORD CreateOverlay();
void Clear();
int getWidth();
int getHeight();
void RenderInfo();
void RenderMenu();
void RenderEsp();
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 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 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);
//Seer
void DrawHealth(float x, float y, int shield, int max_shield, int armorType, int health);
void Drawserial - stringHealth(float serial - stringx, float serial - stringy, int serial - stringshield, int serial - stringmax_shield, int serial - stringarmorType, int serial - stringhealth);
private:
bool running;
HWND overlayHWND;
bool serial - stringrunning;
HWND overlayserial - stringHWND;
};

@ -5,12 +5,12 @@
#define WDA_EXCLUDEFROMCAPTURE 0x00000011
const MARGINS margins = { -1 ,-1, -1, -1 };
const wchar_t g_szClassName[] = L"B4A893Xoverlay";
const wchar_t g_szClassName[] = L"serial-stringoverlay";
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wc;
HWND B4A893Xhwnd;
HWND serial - stringhwnd;
MSG Msg;
wc.cbSize = sizeof(WNDCLASSEX);
@ -21,14 +21,14 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(RGB(0,0,0));
wc.hbrBackground = (HBRUSH)(RGB(0, 0, 0));
wc.lpszMenuName = NULL;
wc.lpszClassName = g_szClassName;
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
RegisterClassEx(&wc);
B4A893Xhwnd = CreateWindowEx(
serial - stringhwnd = 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(B4A893Xhwnd, RGB(0,0,0), 175, LWA_ALPHA);
SetWindowDisplayAffinity(B4A893Xhwnd, WDA_EXCLUDEFROMCAPTURE);
DwmExtendFrameIntoClientArea(B4A893Xhwnd, &margins);
SetLayeredWindowAttributes(serial - stringhwnd, RGB(0, 0, 0), 175, LWA_ALPHA);
SetWindowDisplayAffinity(serial - stringhwnd, WDA_EXCLUDEFROMCAPTURE);
DwmExtendFrameIntoClientArea(serial - stringhwnd, &margins);
while (GetMessage(&Msg, NULL, 0, 0) > 0)
{

Loading…
Cancel
Save