Что случилось с Glow?

Статус
В этой теме нельзя размещать новые ответы.
Начинающий
Статус
Оффлайн
Регистрация
16 Янв 2020
Сообщения
3
Реакции[?]
0
Поинты[?]
0
Всем привет, перестал работать Glow в CS:GO. Попробовал и структуру менять, и байт прибавлять 0x4, не выходит. Прошу помощи. Скидываю код до изменений:
Оффсеты:
C++:
// Часто обновляемые оффсеты
const DWORD m_dwEntityList = 0x4DA21AC;    // EntityList -> m_dwEntityList
const DWORD m_dwGlowObject = 0x52EA640;    // Extra -> m_dwGlowObject
const DWORD m_dwLocalPlayer = 0xD892CC;    // LocalPlayer -> m_dwLocalPlayer
const DWORD m_dwClientState = 0x588FEC;    // ClientState -> m_dwClientState
const DWORD m_dwForceJump = 0x524BF9C;        // Extra -> m_dwForceJump
const DWORD m_dwInput = 0x51F3770;            // Extra -> m_dwInpu t
const DWORD m_dwRadarBase = 0x51D6F24;        // RadarBase -> m_dwRadarBase
const DWORD m_dwViewMatrix = 0x4D93AC4;       // EngineRender -> m_dwViewMatrix
 
// Изредка обновляемые оффсеты
const DWORD m_bDormant = 0xED;                // BaseEntity -> m_bDormant
const DWORD m_iTeamNum = 0xF4;                // DT_BaseEntity -> m_iTeamNum
const DWORD m_vecOrigin = 0x138;            // DT_BaseEntity -> m_vecOrigin
const DWORD m_dwViewAngles = 0x4D90;        // ClientState -> m_dwViewAngles
const DWORD m_vecPunch = 0x301C;            // DT_Local -> m_vecPunch
const DWORD m_dwBoneMatrix = 0x26A8;        // BaseEntity -> m_dwBoneMatrix
const DWORD m_iHealth = 0x100;                // DT_BasePlayer -> m_iHealth
const DWORD m_fFlags = 0x104;                // DT_BasePlayer -> m_fFlags
const DWORD m_lifeState = 0x25F;            // DT_BasePlayer -> m_lifeState
const DWORD m_iCrossHairID = 0xB3E8;        // DT_Local -> m_iCrossHairID
const DWORD m_ArmorValue = 0xB37C;            // DT_CSPlayer -> m_ArmorValue
const DWORD m_flFlashMaxAlpha = 0xA41C;        // DT_CSPlayer -> m_flFlashMaxAlpha
const DWORD m_iShotsFired = 0xA390;            // DT_CSPlayer -> m_iShotsFired
const DWORD m_flNextPrimaryAttack = 0x2D70;    // DT_BaseCombatWeapon -> m_flNextPrimaryAttack
const DWORD m_nTickBase = 0x3430;            // DT_BasePlayer -> m_nTickBase
const DWORD m_dwInGame = 0x108;                // ClientState -> m_dwInGame
Сам Glow:

C++:
class cESP
{
private:
    int type3_lastID = NULL;
    DWORD type3_lastObj = NULL;
    int type3_attempt_FIX = 0;
public:
    // Первый тип ESP: Противники красные, союзники зеленые
    // Второй тип ESP: Цвет противника зависит от его здоровья. Союзники - синие.
    void type2_tick()
    {
        DWORD glowPointer = csgo.Read<DWORD>(dwClient + m_dwGlowObject);
        int glowObjects = csgo.Read<DWORD>(dwClient + m_dwGlowObject + 0x4);
        otherPlayer_t* Player = NULL;
        myPlayer.ReadInfo();

        for (int i = 0; i < glowObjects; i++)
        {
            DWORD mObj = glowPointer + i * sizeof(glow_t);
            glow_t glowObject = csgo.Read<glow_t>(mObj);
            Player = getEntityByCEntityList(glowObject.dwBase);

            // Если объект для свечения некорректный, не продолжаем
            if (glowObject.dwBase == NULL || Player == nullptr)
                continue;

            /// ВНИМАНИЕ: КОСТЫЛЬ
            /// Устанавливаем Alpha = 0, для исправления лежачих игроков
            /// ToDo: Найти способ получше
            if (Player->dormant)
            {
                csgo.Write<float>(mObj + 0x10, 0.0f);
                continue;
            }

            // Фикс максимального количества здоровья
            int maxHealth = Player->health > 100 ? Player->health : 100;

            if (myPlayer.team == Player->team)
                // Подсвечиваем союзника синим цветом
                glow_player(mObj, 0, 0.2f, 0.5f);
            else
                // Подсвечиваем врага цветом его здоровья (максимум 100)
                glow_player(mObj, (maxHealth - Player->health) / 100.0f, Player->health / 100.0f);
        }
    }

    // Третий тип ESP: Подсвечивается игрок, на которого наведен прицел.

    // Убираем свечение с игроков
    void remove_glow()
    {
        DWORD glowPointer = csgo.Read<DWORD>(dwClient + m_dwGlowObject);
        int glowObjects = csgo.Read<DWORD>(dwClient + m_dwGlowObject + 0x4);
        otherPlayer_t* Player = NULL;
        myPlayer.ReadInfo();

        if (glowPointer != NULL && glowObjects > 0)
        {
            for (int i = 0; i < glowObjects; i++)
            {
                DWORD mObj = glowPointer + i * sizeof(glow_t);
                glow_t glowObject = csgo.Read<glow_t>(mObj);
                Player = getEntityByCEntityList(glowObject.dwBase);

                // Если объект для свечения некорректный, не продолжаем
                if (glowObject.dwBase == NULL || Player == nullptr || Player->dormant)
                    continue;

                // Устанавливаем нулевое свечение
                glow_player(mObj);
            }
        }
    }
}; cESP esp;
Структура:

C++:
// Структура Glow
struct glow_t
{
    DWORD dwBase;
    BYTE nextFreeSlot[0x4];
    BYTE entity[0x4];
    float r;
    float g;
    float b;
    float a;
    BYTE pad0[0x10];
    bool m_bRenderWhenOccluded;
    bool m_bRenderWhenUnoccluded;
    BYTE pad1[0xE];
};

void glow_player(DWORD mObj, float r = 0, float g = 0, float b = 0, float a = 1.0f, bool m_bRenderWhenOccluded = true, bool m_bRenderWhenUnoccluded = false)
{
    csgo.Write<float>(mObj + 0x4, r);
    csgo.Write<float>(mObj + 0x8, g);
    csgo.Write<float>(mObj + 0xC, b);
    csgo.Write<float>(mObj + 0x10, a);
    csgo.Write<BOOL>(mObj + 0x24, m_bRenderWhenOccluded);
    csgo.Write<BOOL>(mObj + 0x25, m_bRenderWhenUnoccluded);
}[/CODE=cpp]

Прошу помощи разобраться в чем дело
 
Начинающий
Статус
Оффлайн
Регистрация
16 Янв 2020
Сообщения
3
Реакции[?]
0
Поинты[?]
0
Попробывал сделать так:

C++:
struct glow_t
{
    int dwBase;
    float r;
    float g;
    float b;
    float a;
    unsigned char unk1[16];
    bool m_bRenderWhenOccluded;
    bool m_bRenderWhenUnoccluded;
    bool m_bFullBloom;
    unsigned char unk2[10];
};

void glow_player(DWORD mObj, float r = 0, float g = 0, float b = 0, float a = 1.0f, bool m_bRenderWhenOccluded = true, bool m_bRenderWhenUnoccluded = false)
{
    csgo.Write<float>(mObj + 0x8, r);
    csgo.Write<float>(mObj + 0xC, g);
    csgo.Write<float>(mObj + 0x10, b);
    csgo.Write<float>(mObj + 0x14, a);
    csgo.Write<BOOL>(mObj + 0x28, m_bRenderWhenOccluded);
    csgo.Write<BOOL>(mObj + 0x29, m_bRenderWhenUnoccluded);
}
Не помогло.
 
Начинающий
Статус
Оффлайн
Регистрация
16 Янв 2020
Сообщения
3
Реакции[?]
0
Поинты[?]
0
Решение следующее:
C++:
struct glow_t
{
    int m_nNextFreeSlot;
    DWORD dwBase;
        // ...
}
Все заработало, можно закрывать тему.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу