Гайд Find hud element 07.12.18

Забаненный
Статус
Оффлайн
Регистрация
28 Окт 2018
Сообщения
139
Реакции[?]
47
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
struct hud_weapons_t {
    std::int32_t* get_weapon_count() {
        return reinterpret_cast<std::int32_t*>(std::uintptr_t(this) + 0x80);
    }
};


template<class T>
static T* FindHudElement(const char* name)
{
    static auto pThis = *reinterpret_cast<DWORD**>(FindPattern("client_panorama.dll","B9 ? ? ? ? E8 ? ? ? ? 8B 5D 08" /*"B9 ? ? ? ? E8 ? ? ? ? 85 C0 0F 84 ? ? ? ? 8D 58"*/) + 1);

    static auto find_hud_element = reinterpret_cast<DWORD(__thiscall*)(void*, const char*)>(FindPattern("client_panorama.dll", "55 8B EC 53 8B 5D 08 56 57 8B F9 33 F6 39 77 28"));
    return (T*)find_hud_element(pThis, name);

}



void FullUpdate()
{


    static auto dwrd = FindPattern("client_panorama.dll", "55 8B EC 51 53 56 8B 75 08 8B D9 57 6B FE 2C 89 5D FC");
    static auto dw_FullUpdate = FindPattern("engine.dll", "A1 ? ? ? ? B9 ? ? ? ? 56 FF 50 14 8B 34 85");

    if (dw_FullUpdate) {
        static auto clearHudWeaponIcon = dwrd;

        if (clearHudWeaponIcon) {
            static auto clear_hud_weapon_icon_fn =
                reinterpret_cast<std::int32_t(__thiscall*)(void*, std::int32_t)>(clearHudWeaponIcon);
            auto element = FindHudElement<std::uintptr_t*>(("CCSGO_HudWeaponSelection"));

            if (element && clear_hud_weapon_icon_fn) {
                auto hud_weapons = reinterpret_cast<hud_weapons_t*>(std::uintptr_t(element) - 0xA0/*0x9c*/);
                if (hud_weapons == nullptr)
                    return;

                if (!*hud_weapons->get_weapon_count())
                    return;

                for (std::int32_t i = 0; i < *hud_weapons->get_weapon_count(); i++)
                    i = clear_hud_weapon_icon_fn(hud_weapons, i);

                typedef void(*CL_FullUpdate_t) (void);
                CL_FullUpdate_t cl_fullupdate = (CL_FullUpdate_t)(dw_FullUpdate);
                cl_fullupdate();
            }

        }
    }
}
 
Сверху Снизу