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

Исходник Overriding csgo alerts

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
31 Дек 2021
Сообщения
12
Реакции
13
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пожалуйста, авторизуйтесь для просмотра ссылки.

> module: client.dll
> sig: 55 8B EC A1 ? ? ? ? 83 EC 08 56 8B F1 57 A8 01

> function prototype:
> void __fastcall hkAlert ( void* a1, void* a2, const char* szText, int a4 );

Example hook:
C++:
Expand Collapse Copy
void __fastcall hkAlert ( void* a1, void* a2, const char* szText, int a4 ) {
    if ( strcmp ( szText, "#CSGO_Notice_Alert_Warmup_Period" ) )
        return oAlert ( a1, a2, "<font color=\"#152D79\"> Custom warmup text {s:time_remaining} </font>", a4 );
    return oAlert ( a1, a2, szText, a4 );
}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пожалуйста, авторизуйтесь для просмотра ссылки.

> module: client.dll
> sig: 55 8B EC A1 ? ? ? ? 83 EC 08 56 8B F1 57 A8 01

> function prototype:
> void __fastcall hkAlert ( void* a1, void* a2, const char* szText, int a4 );

Example hook:
C++:
Expand Collapse Copy
void __fastcall hkAlert ( void* a1, void* a2, const char* szText, int a4 ) {
    if ( strcmp ( szText, "#CSGO_Notice_Alert_Warmup_Period" ) )
        return oAlert ( a1, a2, "<font color=\"#152D79\"> Custom warmup text {s:time_remaining} </font>", a4 );
    return oAlert ( a1, a2, szText, a4 );
}
Another method :
Код:
Expand Collapse Copy
enum PanelMode
  {
    PANEL_SHOW = 1,
    PANEL_FADE_OUT = 2
  };

  struct CPanel2D
  {
    void ShowAlert(const char* text, const int mode)
    {
      static auto fn = reinterpret_cast<void(__thiscall*)(CPanel2D*, const char*, int)>(
        Utils::PatternScan(GetModuleHandleA("client.dll"), "55 8B EC A1 ? ? ? ? 83 EC 08 56 8B F1 57 A8 01 75 26 8B 0D ? ? ? ? 83 C8 01 A3 ? ? ? ? 68 ? ? ? ? 8B 01 FF 90 ? ? ? ? 66 A3 ? ? ? ? A1")
        );

      return fn(this, text, mode);
    }

    void HidePanel()
    {
      static auto fn = reinterpret_cast<void(__thiscall*)(CPanel2D*, bool)>(
        Utils::PatternScan(GetModuleHandleA("client.dll"), "E8 ? ? ? ? 5F 5E 5B 8B E5 5D C2 04 00 8B D3 B9 ? ? ? ? E8 ? ? ? ? 85 C0 0F 85 ? ? ? ? 8B 44 24 14")
        );

      return fn(this, false);
    }
  };


  struct CHudElement
  {
    CPanel2D* GetPanel2D()
    {
      return reinterpret_cast<CPanel2D*>(uintptr_t(this) - 0x14);
    }

    BYTE pad[0x20];
    const char* m_pName;
  };

  struct CCSGO_HudUniqueAlerts : public CHudElement
  {

  };

  struct CHud
  {
    template< typename t >
    t* FindElement(const char* name)
    {
      static auto fn = reinterpret_cast<CHudElement * (__thiscall*)(CHud*, const char*)>(
        Utils::PatternScan(GetModuleHandleA("client.dll"), "55 8B EC 53 8B 5D 08 56 57 8B F9 33 F6 39 77 28 7E 1E 8B 47 1C 8B 0C B0 8B 01")
        );

      return reinterpret_cast<t*>(fn(this, name));
    }

  };


Код:
Expand Collapse Copy
static CHud* hud = nullptr;
      if (!hud)
      {
        hud = *(CHud**)(Utils::PatternScan(GetModuleHandleA("client.dll"), ("B9 ? ? ? ? E8 ? ? ? ? 8B 5D 08")) + 1);
      }
      else
      {
        static CCSGO_HudUniqueAlerts* m_element = nullptr;
        if (!m_element)
          m_element = hud->FindElement<CCSGO_HudUniqueAlerts>("CCSGO_HudUniqueAlerts");
        else
        {
          if(g_InputSystem->IsButtonDown(KEY_V))
            m_element->GetPanel2D()->ShowAlert("<font color='#FF0000' size='100' face='Arial'>Hello from murkware</font>", PANEL_SHOW);
        }
      }
 
Назад
Сверху Снизу