Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос T4ZCheats question

retard
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
13 Мар 2021
Сообщения
372
Реакции
68
Anyone know why t4zcheat's aimbot only goes for head? CPP code:

Hitscan
Код:
Expand Collapse Copy
Vector Aimbot::Hitscan(C_BaseEntity* pEnt)
{
    static int iWidth, iHeight;
    g_pEngine->GetScreenSize(iWidth, iHeight);

    float DamageArray[28];
    float tempDmg = 0.f;
    Vector tempHitbox = { 0,0,0 };
    static int HitboxForMuti[] = { 2,2,4,4,6,6 };

    float angToLocal = g_Math.CalcAngle(g::pLocalEntity->GetOrigin(), pEnt->GetOrigin()).y;

    Vector2D MutipointXY = { (sin(g_Math.GRD_TO_BOG(angToLocal))),(cos(g_Math.GRD_TO_BOG(angToLocal))) };
    Vector2D MutipointXY180 = { (sin(g_Math.GRD_TO_BOG(angToLocal + 180))) ,(cos(g_Math.GRD_TO_BOG(angToLocal + 180))) };
    Vector2D Mutipoint[] = { Vector2D(MutipointXY.x, MutipointXY.y), Vector2D(MutipointXY180.x, MutipointXY180.y) };

    float Velocity = abs(pEnt->GetVelocity().Length2D());

    std::vector<int> Scan;

    int HeadHeight = g_Menu.Config.HeadScale;

    bool Baim = ShouldBaim(pEnt);

    if (g_Menu.Config.ForceBaim)
        Baim = true;

    if (!Baim && g_Menu.Config.HB_Head)
    {
        Scan.push_back(HITBOX_HEAD);
    }

    if (Velocity <= 215.f || Baim)
    {

        if (g_Menu.Config.MultiPoint)
        {
            if (g_Menu.Config.HB_Pelvis)
            {
                Scan.push_back(HITBOX_PELVIS);
            }

            if (g_Menu.Config.HB_Thorax)
            {
                Scan.push_back(HITBOX_THORAX);
            }

            if (g_Menu.Config.HB_Chest)
            {
                Scan.push_back(HITBOX_LOWER_CHEST);
                Scan.push_back(HITBOX_UPPER_CHEST);
            }

            if (g_Menu.Config.HB_Feet)
            {
                Scan.push_back(HITBOX_LEFT_FOOT);
                Scan.push_back(HITBOX_RIGHT_FOOT);
            }

            if (g_Menu.Config.HB_Arms)
            {
                Scan.push_back(HITBOX_LEFT_UPPER_ARM);
                Scan.push_back(HITBOX_RIGHT_UPPER_ARM);
            }

            if (g_Menu.Config.HB_Thighs)
            {
                Scan.push_back(HITBOX_LEFT_THIGH);
                Scan.push_back(HITBOX_RIGHT_THIGH);
            }

            if (g_Menu.Config.HB_Calf)
            {
                Scan.push_back(HITBOX_RIGHT_CALF);
                Scan.push_back(HITBOX_LEFT_CALF);
            }

            if (g_Menu.Config.HB_Belly)
            {
                Scan.push_back(HITBOX_BELLY);
            }

            if (g_Menu.Config.HB_Neck)
            {
                Scan.push_back(HITBOX_NECK);
            }
        }
    }

    Vector Hitbox;
    int bestHitboxint = 0;

    for (int hitbox : Scan)
    {
        if (hitbox < 19)
            Hitbox = pEnt->GetHitboxPosition(hitbox, Matrix[pEnt->EntIndex()]);
        else if (hitbox > 18 && hitbox < 25)
        {
            float Radius = 0;
            Hitbox = pEnt->GetHitboxPosition(HitboxForMuti[hitbox - 19], Matrix[pEnt->EntIndex()], &Radius);
            Radius *= (g_Menu.Config.BodyScale / 100.f);
            Hitbox = Vector(Hitbox.x + (Radius * Mutipoint[((hitbox - 19) % 2)].x), Hitbox.y - (Radius * Mutipoint[((hitbox - 19) % 2)].y), Hitbox.z);
        }
        else if (hitbox > 24 && hitbox < 28)
        {
            float Radius = 0;
            Hitbox = pEnt->GetHitboxPosition(0, Matrix[pEnt->EntIndex()], &Radius);
            Radius *= (HeadHeight / 100.f);
            if (hitbox != 27)
                Hitbox = Vector(Hitbox.x + (Radius * Mutipoint[((hitbox - 25) % 2)].x), Hitbox.y - (Radius * Mutipoint[((hitbox - 25) % 2)].y), Hitbox.z);
            else
                Hitbox += Vector(0, 0, Radius);
        }

        float Damage = g_Autowall.Damage(Hitbox);

        if (Damage > 0.f)
            DamageArray[hitbox] = Damage;
        else
            DamageArray[hitbox] = 0;

        if (g_Menu.Config.BaimLethal && hitbox != 0 && hitbox != 25 && hitbox != 26 && hitbox != 27 && Damage >= (pEnt->GetHealth() + 10))
        {
            DamageArray[hitbox] = 400;
            Baim = true;
        }

        if (DamageArray[hitbox] > tempDmg)
        {
            tempHitbox = Hitbox;
            bestHitboxint = hitbox;
            tempDmg = DamageArray[hitbox];
        }

        g::AimbotHitbox[pEnt->EntIndex()][hitbox] = Hitbox;
    }

    PlayerRecords pPlayerEntityRecord = g_LagComp.PlayerRecord[pEnt->EntIndex()].at(0);

    Backtrack[pEnt->EntIndex()] = false;
    ShotBacktrack[pEnt->EntIndex()] = false;

    if (tempDmg >= g_Menu.Config.Mindmg)
    {
        bestEntDmg = tempDmg;

        if ((bestHitboxint == 25 || bestHitboxint == 26 || bestHitboxint == 27) && abs(DamageArray[HITBOX_HEAD] - DamageArray[bestHitboxint]) <= 10.f)
            return pEnt->GetHitboxPosition(HITBOX_HEAD, Matrix[pEnt->EntIndex()]);
        else if ((bestHitboxint == 19 || bestHitboxint == 20) && DamageArray[HITBOX_PELVIS] > 30)
            return pEnt->GetHitboxPosition(HITBOX_PELVIS, Matrix[pEnt->EntIndex()]);
        else if ((bestHitboxint == 21 || bestHitboxint == 22) && DamageArray[HITBOX_THORAX] > 30)
            return pEnt->GetHitboxPosition(HITBOX_THORAX, Matrix[pEnt->EntIndex()]);
        else if ((bestHitboxint == 23 || bestHitboxint == 24) && DamageArray[HITBOX_UPPER_CHEST] > 30)
            return pEnt->GetHitboxPosition(HITBOX_UPPER_CHEST, Matrix[pEnt->EntIndex()]);

        return tempHitbox;
    } // && pPlayerEntityRecord.Velocity >= 29.f
    else if (g_Menu.Config.PosBacktrack)
    {
        if (g_Menu.Config.LbyBacktrack)
        {
            int bestHeadEntDmg = 0;
            int bestLbyEntDmg = 0;

            if (g_Autowall.CanHitFloatingPoint(pEnt->GetHitboxPosition(HITBOX_HEAD, pPlayerEntityRecord.Matrix), g::pLocalEntity->GetEyePosition(), g::pLocalEntity))
                bestHeadEntDmg = (100000.f - fabs(g_Math.Distance(Vector2D(g::pLocalEntity->GetOrigin().x, g::pLocalEntity->GetOrigin().y), Vector2D(pEnt->GetOrigin().x, pEnt->GetOrigin().y))));
            
            if (g_Autowall.CanHitFloatingPoint(pEnt->GetHitboxPosition(HITBOX_PELVIS, pPlayerEntityRecord.Matrix), g::pLocalEntity->GetEyePosition(), g::pLocalEntity))
                bestLbyEntDmg = (100000.f - fabs(g_Math.Distance(Vector2D(g::pLocalEntity->GetOrigin().x, g::pLocalEntity->GetOrigin().y), Vector2D(pEnt->GetOrigin().x, pEnt->GetOrigin().y))));

            Backtrack[pEnt->EntIndex()] = true;

            if (bestHeadEntDmg == 0 && bestLbyEntDmg == 0)
                return Vector(0,0,0);

            if (bestHeadEntDmg == 0 && bestLbyEntDmg != 0)
                return pEnt->GetHitboxPosition(HITBOX_PELVIS, pPlayerEntityRecord.Matrix);

            if (bestLbyEntDmg == 0 && bestHeadEntDmg != 0)
                return pEnt->GetHitboxPosition(HITBOX_HEAD, pPlayerEntityRecord.Matrix);

            if (bestHeadEntDmg > bestLbyEntDmg)
                return pEnt->GetHitboxPosition(HITBOX_HEAD, pPlayerEntityRecord.Matrix);
            else
                return pEnt->GetHitboxPosition(HITBOX_PELVIS, pPlayerEntityRecord.Matrix);
        }
        else
        {
            if (g_Autowall.CanHitFloatingPoint(pEnt->GetHitboxPosition(HITBOX_HEAD, pPlayerEntityRecord.Matrix), g::pLocalEntity->GetEyePosition(), g::pLocalEntity))
            {
                bestEntDmg = (100000.f - fabs(g_Math.Distance(Vector2D(g::pLocalEntity->GetOrigin().x, g::pLocalEntity->GetOrigin().y), Vector2D(pEnt->GetOrigin().x, pEnt->GetOrigin().y))));
                Backtrack[pEnt->EntIndex()] = true;
                return pEnt->GetHitboxPosition(HITBOX_HEAD, pPlayerEntityRecord.Matrix);
            }
        }
    }

    return Vector(0, 0, 0);
}

Createmove(Aimbot.cpp)
Код:
Expand Collapse Copy
Vector Hitbox = Hitscan(pPlayerEntity);

        if (Hitbox != Vector(0, 0, 0) && tempDmg <= bestEntDmg)
        {
            Aimpoint = Hitbox;
            Target = pPlayerEntity;
            targetID = Target->EntIndex();
            tempDmg = bestEntDmg;
        }
    }
 
Назад
Сверху Снизу