void otheresp::DrawDamageIndicator()
{
if (!g_cfg.esp.sosi !g_ctx.local() !g_ctx.local()->is_alive())
return;
float CurrentTime = g_ctx.local()->m_nTickBase() * m_globals()->m_intervalpertick;
for (int i = 0; i < g_ctx.DamageIndicator.size(); ++i)
{
if (g_ctx.DamageIndicator[i].flEraseTime < CurrentTime)
{
g_ctx.DamageIndicator.erase(g_ctx.DamageIndicator.begin() + i);
continue;
}
if (!g_ctx.DamageIndicator[i].bInitialized)
{
g_ctx.DamageIndicator[i].Position = g_ctx.DamageIndicator[i].Player->GetBonePosition(HITBOX_HEAD);
g_ctx.DamageIndicator[i].bInitialized = true;
}
if (CurrentTime - g_ctx.DamageIndicator[i].flLastUpdate > 0.0001f)
{
g_ctx.DamageIndicator[i].Position.z -= (0.1f * (CurrentTime - g_ctx.DamageIndicator[i].flEraseTime));
g_ctx.DamageIndicator[i].flLastUpdate = CurrentTime;
}
Vector ScreenPosition;
if (math::world_to_screen(g_ctx.DamageIndicator[i].Position, ScreenPosition))
{
render::get().text(fonts[ESP], ScreenPosition.x, ScreenPosition.y, Color(255, 255, 255, 255), HFONT_CENTERED_NONE, std::to_string(g_ctx.DamageIndicator[i].iDamage).c_str());
}
}
}