-
Автор темы
- #1
Код:
world esp.cpp :
void worldesp::molotov_timer(entity_t* entity)
{
if (!g_cfg.esp.molotov_timer)
return;
auto draw = ImGui::GetWindowDrawList();
auto inferno = reinterpret_cast<inferno_t*>(entity);
auto origin = inferno->GetAbsOrigin();
Vector screen_origin;
auto spawn_time = inferno->get_spawn_time();
auto factor = (spawn_time + inferno_t::get_expiry_time() - m_globals()->m_curtime) / inferno_t::get_expiry_time();
auto dpos = origin;
Vector mins, maxs;
float distance = g_ctx.local()->m_vecOrigin().DistTo(origin) / 12;
int alpha_damage = 0;
if (distance <= 10)
{
alpha_damage = 255 - 255 * (distance / 10);
}
if (!math::world_to_screen(origin, screen_origin))
return;
g_Render->DrawRing(origin.x, origin.y, origin.z, 150, 360, Color(255,255,255, 255), Color(255,255,255, 35), 2, factor, true);
static auto size = Vector2D(35.0f, 5.0f);
g_Render->CircleFilled(screen_origin.x, screen_origin.y - size.y * 0.5f - 12, 32, Color(25, 25, 25), 60);
g_Render->CircleFilled(screen_origin.x, screen_origin.y - size.y * 0.5f - 12, 28, Color(200, 25, 25, alpha_damage), 60);
g_Render->CircleFilled(screen_origin.x, screen_origin.y - size.y * 0.5f - 12, 24, Color(200, 25, 25, alpha_damage), 60);
g_Render->CircleFilled(screen_origin.x, screen_origin.y - size.y * 0.5f - 12, 22, Color(200, 25, 25, alpha_damage), 60);
g_Render->CircleFilled(screen_origin.x, screen_origin.y - size.y * 0.5f - 12, 18, Color(200, 25, 25, alpha_damage), 60);
g_Render->CircleFilled(screen_origin.x, screen_origin.y - size.y * 0.5f - 12, 14, Color(200, 25, 25, alpha_damage), 60);
g_Render->CircleFilled(screen_origin.x, screen_origin.y - size.y * 0.5f - 12, 10, Color(200, 25, 25, alpha_damage), 60);
draw->AddImage(c_menu::get().inferno, ImVec2(screen_origin.x - 15, screen_origin.y - 30), ImVec2(screen_origin.x + 15, screen_origin.y), ImVec2(0, 0), ImVec2(1, 1), ImColor(255, 255, 255));
g_Render->two_sided_arc(screen_origin.x, screen_origin.y - size.y * 0.5f - 12, 32, 1.f - factor, Color(255, 255, 255), 3);
}
---
hooks.cpp:
if (c_menu::get().inferno == nullptr)
D3DXCreateTextureFromFileInMemoryEx(pDevice, inferno, sizeof(inferno), 32, 32, D3DX_DEFAULT, D3DUSAGE_DYNAMIC, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, &c_menu::get().inferno);
---
menu.h: IDirect3DTexture9* inferno = nullptr;
in class c_menu
----
render.h:
void ImGuiRendering::DrawImage(float x1, float y1, float x2, float y2)
{
auto window = ImGui::GetWindowDrawList();
window->AddImage(c_menu::get().inferno, ImVec2(x1, y1), ImVec2(x2, y2), ImVec2(0, 0), ImVec2(1, 1), ImColor(255, 255, 255));
}
Вложения
-
60.7 KB Просмотры: 313