Solved help me Esp cs go External

Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat

Rake

Cesspool Admin
Administrator
Jan 21, 2014
12,205
78,998
2,400

Liduen

Hacker
Dank Tier VIP
May 19, 2013
702
8,478
33
Last edited:

docc

Newbie
Full Member
Dec 21, 2012
8
172
0
0:22, 2:00 Google "csgo dormant check". Nealy every shooter uses a variable like that.

3:25 You should check your code. Looks like a bug to me.
addresses are correct

here's a video

https://youtu.be/P9-t9-xt3og

C++:
#include "Visuals.h"
#include "Entity.h"
#include "RecoilControl.h"
#include "MyWindow.h"
#include "AimBot.h"
#include "Process.h"
#include "Radar.h"
#include"ObjectManager.h"

CVisuals* Visuals = new CVisuals;

Color CVisuals::EnemyBoxColor = Color((float)255 / (float)255, (float)255 / (float)255, (float)0 / (float)255, (float)0 / (float)255);
Color CVisuals::AllyBoxColor = Color(255 / 255, 0 / 255, 0 / 255, 255 / 255);

Color CVisuals::HealthTextColor = Color((float)255 / (float)255, (float)0 / (float)255, (float)255 / (float)255, (float)0 / (float)255);
Color CVisuals::DistanceTextColor = Color(255 / 255, 255 / 255, 255 / 255, 0 / 255);
Color CVisuals::WeaponTextColor = Color(255 / 255, 255 / 255, 255 / 255, 0 / 255);
Color CVisuals::NameTextColor = Color(255 / 255, 255 / 255, 255 / 255, 0 / 255);

Color CVisuals::BombBoxColor = Color(255 / 255, 255 / 255, (float)125 / (float)255, 0 / 255);
Color CVisuals::BombTextColor = Color(255 / 255, 255 / 255, 255 / 255, 255 / 255);

Color CVisuals::WeaponDropedBoxColor = Color(255 / 255, 255 / 255, (float)125 / (float)255, 0 / 255);
Color CVisuals::WeaponDropedTextColor = Color(255 / 255, 255 / 255, 255 / 255, 255 / 255);

Color CVisuals::CrosshairColor = Color(255 / 255, 0 / 255, 255 / 255, 255 / 255);
Color CVisuals::RecoilCircleColor = Color(255 / 255, 255 / 255, 0 / 255, 255 / 255);
float CVisuals::RecoilDrawResolution = 6.0f;
int CVisuals::RecoilDrawType = 0;

CVisuals::CVisuals()
{
    LastTextXPos = DistancePosX = 3;
    LastTextYPos = DistancePosY = CMyWindow::FontSpacing;
    LastTextXPos = WearingWeponPosX = 3;
    LastTextYPos = WearingWeponPosY = LastTextYPos + CMyWindow::FontSpacing;
    HealthPosX = 0;
    HealthPosY = CMyWindow::FontSpacing;

    bDrawCrosshair = false;
    bDrawRecoilCrosshair = false;
    bDrawESP = false;
    bDrawHealth = false;
    bDrawSnapLine = false;
    bDrawHead = false;
    bDrawBones = false;
    bDrawBone = false;
    bDrawDistance = false;
    bDrawWeapon = false;
    bDrawName = false;
    bDrawAlly = false;
    bDrawBomb = false;
    bDrawGranades = false;
    bDrawDropedWeapons = false;
}


CVisuals::~CVisuals()
{
}

void CVisuals::InitPosiitons()
{
    LastTextXPos = DistancePosX = 3;
    LastTextYPos = DistancePosY = CMyWindow::FontSpacing;
    LastTextXPos = WearingWeponPosX = 3;
    LastTextYPos = WearingWeponPosY = LastTextYPos + CMyWindow::FontSpacing;
    HealthPosX = 0;
    HealthPosY = CMyWindow::FontSpacing;
}

void CVisuals::Render()
{
    if (CRadar::Active)
        Radar->Draw();

    for (int i = 0; i < GlobalVariables::MaxPlayers; i++)
    {
        if (!Entity[i].Valid)
            continue;

        Radar->DrawEntity(i);

        if (!Entity[i].IsOnScreen)
            continue;


        if (Entity[i].Team != LocalPlayer->Team)
        {
            if (bDrawESP)
                DrawESP(i, Red);
            if (bDrawHealth)
                DrawHealth(i);
            if (bDrawSnapLine)
                DrawSnapLine(i, Red);
            if (bDrawHead)
                DrawHead(i, Aqua);
            if (bDrawBones)
                DrawBones(i, Yellow);
            if (bDrawDistance)
                DrawDistance(i);
            if (bDrawWeapon)
                DrawWeapon(i);
            if (bDrawName)
                DrawName(i);
        }
        else
        {
            if (!bDrawAlly)
                continue;

            if (bDrawESP)
                DrawESP(i, Blue);
            if (bDrawHealth)
                DrawHealth(i);
            if (bDrawSnapLine)
                DrawSnapLine(i, Blue);
            if (bDrawHead)
                DrawHead(i, Green);
            if (bDrawBones)
                DrawBones(i, Green);
            if (bDrawDistance)
                DrawDistance(i);
            if (bDrawWeapon)
                DrawWeapon(i);
            if (bDrawName)
                DrawName(i);
        }



    }

    if (bDrawCrosshair)
        DrawCrosshair();

    if (bDrawRecoilCrosshair)
        DrawRecoilCrosshair();

    if (CAimBot::DrawFOV && CAimBot::Active)
        DrawFovAimbot();

    //ObjectManager->ReadObjects();

    if (bDrawBomb)
        DrawBomb();

    if (bDrawDropedWeapons)
        DrawDropedWeapons();
}

void CVisuals::DrawFovAimbot()
{
    Drawings->FilledCircle(CMyWindow::CenterX, CMyWindow::CenterY, CAimBot::Radius, 20, CAimBot::FovColor);
}

void CVisuals::DrawCrosshair()
{
    Drawings->FilledBox(CMyWindow::CenterX + 2, CMyWindow::CenterY - 1, 6, 3, CrosshairColor);
    Drawings->FilledBox(CMyWindow::CenterX - 1, CMyWindow::CenterY + 3, 2, 6, CrosshairColor);

    Drawings->FilledBox(CMyWindow::CenterX - 8, CMyWindow::CenterY - 1, 6, 3, CrosshairColor);
    Drawings->FilledBox(CMyWindow::CenterX - 1, CMyWindow::CenterY - 8, 2, 6, CrosshairColor);
}

void CVisuals::DrawRecoilCrosshair()
{
    Vector3D Punch = LocalPlayer->ReadPunch();
    float Punch2ScreenX = (CMyWindow::Width / 358.f) * (Punch.x * 2);
    float Punch2ScreenY = (CMyWindow::Height / 178.f) * (Punch.y * 2);

    switch (RecoilDrawType)
    {
    case 0:
        Drawings->Circle(CMyWindow::CenterX - Punch2ScreenY, CMyWindow::CenterY + Punch2ScreenX, RecoilDrawResolution, 10, RecoilCircleColor);
        break;
    case 1:
        Drawings->FilledBox(CMyWindow::CenterX - Punch2ScreenY + 2, CMyWindow::CenterY + Punch2ScreenX - 1, 6, 3, RecoilCircleColor);
        Drawings->FilledBox(CMyWindow::CenterX - Punch2ScreenY - 1, CMyWindow::CenterY + Punch2ScreenX + 3, 2, 6, RecoilCircleColor);

        Drawings->FilledBox(CMyWindow::CenterX - Punch2ScreenY - 8, CMyWindow::CenterY + Punch2ScreenX - 1, 6, 3, RecoilCircleColor);
        Drawings->FilledBox(CMyWindow::CenterX - Punch2ScreenY - 1, CMyWindow::CenterY + Punch2ScreenX - 8, 2, 6, RecoilCircleColor);
        break;
    }
    
}

void CVisuals::DrawESP(int PlayerIndex, Color Color)
{
    if (Entity[PlayerIndex].IsOnScreen)
    {
        if (Entity[PlayerIndex].PseudoHeadIsOnScreen)
        {
            Drawings->Box(Entity[PlayerIndex].Box.left, Entity[PlayerIndex].Box.top, Entity[PlayerIndex].BoxWidth, Entity[PlayerIndex].BoxHeight, 2, Color);
        }
    }
}

void CVisuals::DrawHealth(int PlayerIndex)
{
    if (Entity[PlayerIndex].IsOnScreen)
    {
        char Buf[1];
        sprintf(Buf, "%d", Entity[PlayerIndex].Health);
        Drawings->ShadowCenterText(Buf, Entity[PlayerIndex].PosOnScreen.x, Entity[PlayerIndex].PosOnScreen.y + HealthPosY, HealthTextColor);
    }
}

void CVisuals::DrawSnapLine(int PlayerIndex, Color Color)
{
    Drawings->Line(LocalPlayer->PositionOnScreen.x, LocalPlayer->PositionOnScreen.y, Entity[PlayerIndex].PosOnScreen.x, Entity[PlayerIndex].PosOnScreen.y, 1, Color);
}

void CVisuals::DrawHead(int PlayerIndex, Color color)
{
    if (Entity[PlayerIndex].ValidBones == false)
        return;

    Vector3D HeadPosTop;
    Vector3D HeadPosBot;

    Vector3D HeadTop = Entity[PlayerIndex].Bone[10].PositionInGame;
    Vector3D HeadBot = Entity[PlayerIndex].Bone[10].PositionInGame;
    HeadBot.z -= 7;//5
    HeadTop.z += 17;//10
    int BoneWidth;
    int BoneHeight;
    if (WorldToScreen(HeadBot, HeadPosBot) && WorldToScreen(HeadTop, HeadPosTop))
    {
        BoneWidth = BoneHeight = HeadPosBot.y - HeadPosTop.y;
        Drawings->Box(HeadPosTop.x - BoneWidth / 2, HeadPosTop.y, BoneWidth, BoneHeight, 2, color);
    }
}

void CVisuals::DrawBones(int PlayerIndex, Color Color)
{
    if (Entity[PlayerIndex].ValidBones == false)
        return;

    Entity[PlayerIndex].ReadBoneFromMatrix(0);
    Entity[PlayerIndex].ReadBoneFromMatrix(7);
    Entity[PlayerIndex].ReadBoneFromMatrix(8);
    Entity[PlayerIndex].ReadBoneFromMatrix(13);
    Entity[PlayerIndex].ReadBoneFromMatrix(14);
    Entity[PlayerIndex].ReadBoneFromMatrix(15);
    Entity[PlayerIndex].ReadBoneFromMatrix(21);
    Entity[PlayerIndex].ReadBoneFromMatrix(24);
    Entity[PlayerIndex].ReadBoneFromMatrix(25);
    Entity[PlayerIndex].ReadBoneFromMatrix(27);
    Entity[PlayerIndex].ReadBoneFromMatrix(28);

    DrawBone(0, 5, PlayerIndex, Color);

    DrawBone(5, 13, PlayerIndex, Color);
    DrawBone(13, 14, PlayerIndex, Color);
    DrawBone(14, 15, PlayerIndex, Color);

    DrawBone(5, 7, PlayerIndex, Color);
    DrawBone(7, 8, PlayerIndex, Color);
    DrawBone(8, 21, PlayerIndex, Color);

    DrawBone(28, 27, PlayerIndex, Color);
    DrawBone(27, 0, PlayerIndex, Color);

    DrawBone(25, 24, PlayerIndex, Color);
    DrawBone(24, 0, PlayerIndex, Color);
}

void CVisuals::DrawBone(int Start, int End, int PlayerIndex, Color Color)
{

    if (!Entity[PlayerIndex].Bone[Start].IsOnScreen)
        return;

    if (!Entity[PlayerIndex].Bone[End].IsOnScreen)
        return;

    Drawings->Line(Entity[PlayerIndex].Bone[Start].PositionOnScreen.x, Entity[PlayerIndex].Bone[Start].PositionOnScreen.y, Entity[PlayerIndex].Bone[End].PositionOnScreen.x, Entity[PlayerIndex].Bone[End].PositionOnScreen.y, 1, Color);
};


void CVisuals::DrawDistance(int Index)
{
    char Buf[32];
    sprintf(Buf, "%.f", Entity[Index].Distance);
    Drawings->ShadowText(Buf, Entity[Index].Box.right + DistancePosX, Entity[Index].Box.top + DistancePosY, DistanceTextColor);

}

void CVisuals::DrawWeapon(int Index)
{
    if (Entity[Index].WeaponID > 0 && Entity[Index].WeaponID<52)
        Drawings->ShadowText(WeaponName[Entity[Index].WeaponID], Entity[Index].Box.right + WearingWeponPosX, Entity[Index].Box.top + WearingWeponPosY, WeaponTextColor);
}

void CVisuals::DrawName(int Index)

{

    ReadProcessMemory(Process->hProcess, (LPCVOID*)(Offsets::RadarBaseAddress + (0x1E0 * Index) + 0x204), &Entity[Index].Name, sizeof(Entity[Index].Name), 0);
    Drawings->ShadowCenterText(Entity[Index].Name, Entity[Index].PosOnScreen.x, Entity[Index].Box.top - 3, NameTextColor);
}



void CVisuals::DrawBomb()
{
    //if (Bomb.Owner != -1)
    //    return;
    
    Vector3D PositionBot;
    Vector3D PositionTop;
    if (WorldToScreen(Bomb.Position, PositionBot))
    {

        Drawings->Box(PositionBot.x - 10, PositionBot.y - 10, 20, 20, 1, BombBoxColor);
        Drawings->ShadowText(_TempXOR("Bomb"), PositionBot.x, PositionBot.y, BombTextColor);
        //DrawString("Bomb", PositionBot.x - 10, PositionBot.y + 10, D3DCOLOR_ARGB(255, 255, 255, 255), m_pFontSmall);
    }
    
}

void CVisuals::DrawDropedWeapons()
{

    for (int i = 0; i < CWeapon::Count; i++)
    {
        Vector3D PositionBot;
        if (WorldToScreen(Weapon[i].Position, PositionBot))
        {

            Drawings->Box(PositionBot.x - 10, PositionBot.y - 10, 20, 20, 1, WeaponDropedBoxColor);
            Drawings->ShadowText(Weapon[i].Name, PositionBot.x, PositionBot.y, WeaponDropedTextColor);
            //DrawString(Buf, PositionBot.x - 10, PositionBot.y + 10, D3DCOLOR_ARGB(255, 255, 255, 255), m_pFontSmall);
        }
    }
    
}

char *RecoilDrawTypes[2] = { _OnceXOR("Circle"), _OnceXOR("Cross") };

char *WeaponName[52] =
{
    _OnceXOR("0"),
    _OnceXOR("Desert Eagle"),
    _OnceXOR("Dual Berettas"),
    _OnceXOR("Five-SeveN"),
    _OnceXOR("Glock"),
    _OnceXOR("5"),
    _OnceXOR("6"),
    _OnceXOR("AK-47"),
    _OnceXOR("AUG"),
    _OnceXOR("AWP"),
    _OnceXOR("FAMAS"),
    _OnceXOR("G3SG1"),
    _OnceXOR("12"),
    _OnceXOR("Galil AR"),
    _OnceXOR("M249"),
    _OnceXOR("15"),
    _OnceXOR("M4A4"),
    _OnceXOR("MAC-10"),
    _OnceXOR("18"),
    _OnceXOR("P90"),
    _OnceXOR("20"),
    _OnceXOR("21"),
    _OnceXOR("22"),
    _OnceXOR("23"),
    _OnceXOR("UMP-45"),
    _OnceXOR("XM1014"),
    _OnceXOR("PP-Bizon"),
    _OnceXOR("MAG-7"),
    _OnceXOR("Negev"),
    _OnceXOR("Sawed-Off"),
    _OnceXOR("30"),
    _OnceXOR("Zeus x27"),
    _OnceXOR("P2000"),
    _OnceXOR("MP7"),
    _OnceXOR("MP9"),
    _OnceXOR("Nova"),
    _OnceXOR("CZ75-Auto"),
    _OnceXOR("37"),
    _OnceXOR("SCAR-20"),
    _OnceXOR("SG 553"),
    _OnceXOR("SSG 08"),
    _OnceXOR("41"),
    _OnceXOR("Knife"),
    _OnceXOR("Flashbang"),
    _OnceXOR("HE Granade"),
    _OnceXOR("Smoke Granade"),
    _OnceXOR("46"),
    _OnceXOR("Decoy Granade"),
    _OnceXOR("48"),
    _OnceXOR("C4"),
    _OnceXOR("50"),
    _OnceXOR("Tec-9"),
};


C++:
#include "Math.h"
#include "MyWindow.h"
#include "Entity.h"
ViewMatrix vMatrix;
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
float Get3dDistance(Vector3D Pos1, Vector3D Pos2)
{
    return sqrt(pow((Pos2.x - Pos1.x), 2.0) + pow((Pos2.y - Pos1.y), 2.0) + pow((Pos2.z - Pos1.z), 2.0));
};

bool WorldToScreen(Vector3D PositionIn, Vector3D &PositionOut)
{
    float w = 0.0f;

    PositionOut.x = vMatrix.Matrix[0][0] * PositionIn.x + vMatrix.Matrix[0][1] * PositionIn.y + vMatrix.Matrix[0][2] * PositionIn.z + vMatrix.Matrix[0][3];
    PositionOut.y = vMatrix.Matrix[1][0] * PositionIn.x + vMatrix.Matrix[1][1] * PositionIn.y + vMatrix.Matrix[1][2] * PositionIn.z + vMatrix.Matrix[1][3];
    w = vMatrix.Matrix[3][0] * PositionIn.x + vMatrix.Matrix[3][1] * PositionIn.y + vMatrix.Matrix[3][2] * PositionIn.z + vMatrix.Matrix[3][3];

    if (w < 0.01f)
        return false;

    float InveseValue = 1.0f / w;
    PositionOut.x *= InveseValue;
    PositionOut.y *= InveseValue;

    float x = CMyWindow::Width / 2;
    float y = CMyWindow::Height / 2;

    x += 0.5 * PositionOut.x * CMyWindow::Width + 0.5;
    y -= 0.5 * PositionOut.y * CMyWindow::Height + 0.5;

    PositionOut.x = x;
    PositionOut.y = y;

    return true;

};
Vector3D VectorSubtract(Vector3D Vec1, Vector3D Vec2)
{
    return Vector3D(Vec1.x - Vec2.x, Vec1.y - Vec2.y, Vec1.z - Vec2.z);
};
void CalcAngle(Vector3D Source, Vector3D Destination, Vector3D &Angles)
{
    Vector3D forward = VectorSubtract(Destination, Source);
    float yaw, tmp, pitch;
    tmp = sqrt(forward.x*forward.x + forward.y*forward.y);
    yaw = (atan2(forward.y, forward.x) * 180 / M_PI);
    pitch = (atan2(-forward.z, tmp) * 180 / M_PI);

    Angles.x = pitch;
    Angles.y = yaw;
    Angles.z = 0;

}

/*
void CalcAngle(Vector3D src, Vector3D dst, Vector3D &angles)
{
    
    Vector3D delta = { (src.x - dst.x), (src.y - dst.y), (src.z - dst.z) };
    double hyp = sqrt(delta.x * delta.x + delta.y * delta.y);
    angles.x = (float)(asinf(delta.z / hyp) * 57.295779513082f);//asinf
    angles.y = (float)(atanf(delta.y / delta.x) * 57.295779513082f);
    angles.z = 0.0f;

    if (delta.x >= 0.0)
    {
        angles.y += 180.0f;
    }
    
}
*/

Vector3D AngleToDirection(Vector3D Angle)
{
    Angle.x = (Angle.x) * 3.14159265 / 180;
    Angle.y = (Angle.y) * 3.14159265 / 180;

    float sinYaw = sin(Angle.y);
    float cosYaw = cos(Angle.y);

    float sinPitch = sin(Angle.x);
    float cosPitch = cos(Angle.x);

    Vector3D Direction;
    Direction.x = cosPitch * cosYaw;
    Direction.y = cosPitch * sinYaw;
    Direction.z = -sinPitch;

    return Direction;
}
 
Last edited by a moderator:

Rake

Cesspool Admin
Administrator
Jan 21, 2014
12,205
78,998
2,400
docc,

I have edited your post. Next time, please, use the code tags. They're there for a reason. :)
 

Liduen

Hacker
Dank Tier VIP
May 19, 2013
702
8,478
33
addresses are correct
...code...
I don't need any code to tell you what's going on.
If game engines were perfect, ESP's wouldn't be possible to make.
ESP's basically just exploit the engines inaccuracies on telling wether a client needs information about another client.

The server gives the client only as much data as it needs in order to draw the player view to your screen.
The client doesn't need any information about enemies you can't interact with. These clients are marked as dormant. You won't receive any information about them.
Please check my last post again. I already told you what to do.
 

docc

Newbie
Full Member
Dec 21, 2012
8
172
0
I don't need any code to tell you what's going on.
If game engines were perfect, ESP's wouldn't be possible to make.
ESP's basically just exploit the engines inaccuracies on telling wether a client needs information about another client.

The server gives the client only as much data as it needs in order to draw the player view to your screen.
The client doesn't need any information about enemies you can't interact with. These clients are marked as dormant. You won't receive any information about them.
Please check my last post again. I already told you what to do.
the source code is not mine, and I do not know C ++ well ((( you find it hard to help?
 

Liduen

Hacker
Dank Tier VIP
May 19, 2013
702
8,478
33
the source code is not mine, and I do not know C ++ well ((( you find it hard to help?
Check out my signature. There you can find a link to a useful collection of articles and tutorials about everything you need to know when starting with game hacking.
That includes links to C++ and C tutorials.
If you don't want to read that much, then hacking isn't the right thing for you.

Good luck!
 
Attention! Before you post:

Read the How to Ask Questions Guide
99% of questions are answered in the Beginner's Guide, do it before asking a question.

No Hack Requests. Post in the correct section.  Search the forum first. Read the rules.

How to make a good post:

  • Fill out the form correctly
  • Tell us the game name & coding language
  • Post everything we need to know to help you
  • Ask specific questions, be descriptive
  • Post errors, line numbers & screenshots
  • Post code snippets using code tags
  • If it's a large project, zip it up and attach it

If you do not comply, your post may be deleted.  We want to help, please make a good post and we will do our best to help you.

Community Mods