Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Вопрос Damage indicator

  • Автор темы Автор темы DasAdErt
  • Дата начала Дата начала
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Спиздани из луашки и переделай в плюсы, в чем трабл?
 
C++:
Expand Collapse Copy
struct DamageIndicator_t
{
    int iDamage;
    bool bInitialized;
    float flEraseTime;
    float flLastUpdate;
    player_t* Player;
    Vector Position;
};

C++:
Expand Collapse Copy
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());
        }
    }
}
C++:
Expand Collapse Copy
player_t* hurt_c = (player_t)m_entitylist()->GetClientEntity(m_engine()->GetPlayerForUserID(event->GetInt(crypt_str("userid"))));
            player_t attacker_c = (player_t*)m_entitylist()->GetClientEntity(m_engine()->GetPlayerForUserID(event->GetInt(crypt_str("attacker"))));

            if (hurt_c != g_ctx.local() && attacker_c == g_ctx.local())
            {
                DamageIndicator_t DmgIndicator;
                DmgIndicator.iDamage = event->GetInt(crypt_str("dmg_health"));
                DmgIndicator.Player = hurt_c;
                DmgIndicator.flEraseTime = g_ctx.local()->m_nTickBase() * m_globals()->m_intervalpertick + 3.f;
                DmgIndicator.bInitialized = false;

                g_ctx.DamageIndicator.push_back(DmgIndicator);
            }
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу