Гайд Zeus Range with animation

[HvH ✡ Player] aka B1gPaster
Участник
Участник
Статус
Оффлайн
Регистрация
28 Дек 2017
Сообщения
959
Реакции
265
Насколько знаю никто кругленький зевс рэнж не делал так что я 1 такой далбаеб но может кто то захочет.
Конечно можно чутка получше реализовать но всем похуй
unknown.png

C++:
Expand Collapse Copy
void misc::ZeusRange()
{


    if (!g_cfg.misc.ZeusRange)
        return;

    if (!g_cfg.player.enable)
        return;

    if (!g_ctx.local()->is_alive())
        return;

    if (!m_input()->m_fCameraInThirdPerson)
        return;

    auto weapon = g_ctx.local()->m_hActiveWeapon().Get();

    if (!weapon)
        return;

    if (weapon->m_iItemDefinitionIndex() != WEAPON_TASER)
        return;

    auto weapon_info = weapon->get_csweapon_info();

    if (!weapon_info)
        return;

    render::get().Draw3DRainbowCircle(g_ctx.globals.eye_pos, weapon_info->flRange); // g_ctx.local()->get_shoot_position() или g_ctx.local()->m_vecOrigin()
}


void render::Draw3DRainbowCircle(const Vector& origin, float radius) // Если кому то надо
{
    static auto hue_offset = 0.0f;
    static auto prevScreenPos = ZERO; //-V656
    static auto step = M_PI * 2.0f / 72.0f;

    auto screenPos = ZERO;

    for (auto rotation = 0.0f; rotation <= M_PI * 2.0f; rotation += step) //-V1034
    {
        Vector pos(radius * cos(rotation) + origin.x, radius * sin(rotation) + origin.y, origin.z);

        Ray_t ray;
        trace_t trace;
        CTraceFilterWorldOnly filter;

        ray.Init(origin, pos);
        m_trace()->TraceRay(ray, MASK_SHOT_BRUSHONLY, &filter, &trace);

        if (math::world_to_screen(trace.endpos, screenPos))
        {
            if (!prevScreenPos.IsZero())
            {
                auto hue = RAD2DEG(rotation) + hue_offset;

                float r, g, b;
                ColorConvertHSVtoRGB(hue / 360.0f, 1.0f, 1.0f, r, g, b);
                render::get().circle_filled(prevScreenPos.x, prevScreenPos.y, 10, g_cfg.misc.taser_size, Color(r, g, b));
            }

            prevScreenPos = screenPos;
        }
    }

    hue_offset += m_globals()->m_frametime * 200.0f;
}
 
Насколько знаю никто кругленький зевс рэнж не делал так что я 1 такой далбаеб но может кто то захочет.
Конечно можно чутка получше реализовать но всем похуй
unknown.png

C++:
Expand Collapse Copy
void misc::ZeusRange()
{


    if (!g_cfg.misc.ZeusRange)
        return;

    if (!g_cfg.player.enable)
        return;

    if (!g_ctx.local()->is_alive())
        return;

    if (!m_input()->m_fCameraInThirdPerson)
        return;

    auto weapon = g_ctx.local()->m_hActiveWeapon().Get();

    if (!weapon)
        return;

    if (weapon->m_iItemDefinitionIndex() != WEAPON_TASER)
        return;

    auto weapon_info = weapon->get_csweapon_info();

    if (!weapon_info)
        return;

    render::get().Draw3DRainbowCircle(g_ctx.globals.eye_pos, weapon_info->flRange); // g_ctx.local()->get_shoot_position() или g_ctx.local()->m_vecOrigin()
}


void render::Draw3DRainbowCircle(const Vector& origin, float radius) // Если кому то надо
{
    static auto hue_offset = 0.0f;
    static auto prevScreenPos = ZERO; //-V656
    static auto step = M_PI * 2.0f / 72.0f;

    auto screenPos = ZERO;

    for (auto rotation = 0.0f; rotation <= M_PI * 2.0f; rotation += step) //-V1034
    {
        Vector pos(radius * cos(rotation) + origin.x, radius * sin(rotation) + origin.y, origin.z);

        Ray_t ray;
        trace_t trace;
        CTraceFilterWorldOnly filter;

        ray.Init(origin, pos);
        m_trace()->TraceRay(ray, MASK_SHOT_BRUSHONLY, &filter, &trace);

        if (math::world_to_screen(trace.endpos, screenPos))
        {
            if (!prevScreenPos.IsZero())
            {
                auto hue = RAD2DEG(rotation) + hue_offset;

                float r, g, b;
                ColorConvertHSVtoRGB(hue / 360.0f, 1.0f, 1.0f, r, g, b);
                render::get().circle_filled(prevScreenPos.x, prevScreenPos.y, 10, g_cfg.misc.taser_size, Color(r, g, b));
            }

            prevScreenPos = screenPos;
        }
    }

    hue_offset += m_globals()->m_frametime * 200.0f;
}
Разве такая дальность?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Насколько знаю никто кругленький зевс рэнж не делал так что я 1 такой далбаеб но может кто то захочет.
Конечно можно чутка получше реализовать но всем похуй
unknown.png

C++:
Expand Collapse Copy
void misc::ZeusRange()
{


    if (!g_cfg.misc.ZeusRange)
        return;

    if (!g_cfg.player.enable)
        return;

    if (!g_ctx.local()->is_alive())
        return;

    if (!m_input()->m_fCameraInThirdPerson)
        return;

    auto weapon = g_ctx.local()->m_hActiveWeapon().Get();

    if (!weapon)
        return;

    if (weapon->m_iItemDefinitionIndex() != WEAPON_TASER)
        return;

    auto weapon_info = weapon->get_csweapon_info();

    if (!weapon_info)
        return;

    render::get().Draw3DRainbowCircle(g_ctx.globals.eye_pos, weapon_info->flRange); // g_ctx.local()->get_shoot_position() или g_ctx.local()->m_vecOrigin()
}


void render::Draw3DRainbowCircle(const Vector& origin, float radius) // Если кому то надо
{
    static auto hue_offset = 0.0f;
    static auto prevScreenPos = ZERO; //-V656
    static auto step = M_PI * 2.0f / 72.0f;

    auto screenPos = ZERO;

    for (auto rotation = 0.0f; rotation <= M_PI * 2.0f; rotation += step) //-V1034
    {
        Vector pos(radius * cos(rotation) + origin.x, radius * sin(rotation) + origin.y, origin.z);

        Ray_t ray;
        trace_t trace;
        CTraceFilterWorldOnly filter;

        ray.Init(origin, pos);
        m_trace()->TraceRay(ray, MASK_SHOT_BRUSHONLY, &filter, &trace);

        if (math::world_to_screen(trace.endpos, screenPos))
        {
            if (!prevScreenPos.IsZero())
            {
                auto hue = RAD2DEG(rotation) + hue_offset;

                float r, g, b;
                ColorConvertHSVtoRGB(hue / 360.0f, 1.0f, 1.0f, r, g, b);
                render::get().circle_filled(prevScreenPos.x, prevScreenPos.y, 10, g_cfg.misc.taser_size, Color(r, g, b));
            }

            prevScreenPos = screenPos;
        }
    }

    hue_offset += m_globals()->m_frametime * 200.0f;
}
и че эт за мусор?
 
Назад
Сверху Снизу