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

Дайте любой антифристенд

Flowseal = SAAC :)
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
19 Янв 2020
Сообщения
290
Реакции
32
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
желательно под пандору, даже говняный пойдет, главное чтоб работал
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
weave :
C++:
Expand Collapse Copy
void CResolver::StoreAntifreestand()
{
    if (!g_cl.m_local->alive())
        return;


    for (int i = 1; i < g_csgo.m_globals->m_max_clients; ++i)
    {
        auto player = (Player*)g_csgo.m_entlist->GetClientEntity(i);

        if (!player || !player->m_lifeState() == LIFE_ALIVE || player->dormant() || player->m_iTeamNum() == g_cl.m_local->m_iTeamNum())
            continue;

        bool Autowalled = false, HitSide1 = false, HitSide2 = false;
        auto idx = player->index();
        float angToLocal = math::CalcAngle(g_cl.m_local->m_vecOrigin(), player->m_vecOrigin()).y;
        vec3_t ViewPoint = g_cl.m_local->m_vecOrigin() + vec3_t(0, 0, 90);
        vec2_t Side1 = { (45 * sin(math::deg_to_rad(angToLocal))),(45 * cos(math::deg_to_rad(angToLocal))) };
        vec2_t Side2 = { (45 * sin(math::deg_to_rad(angToLocal + 180))) ,(45 * cos(math::deg_to_rad(angToLocal + 180))) };

        vec2_t Side3 = { (50 * sin(math::deg_to_rad(angToLocal))),(50 * cos(math::deg_to_rad(angToLocal))) };
        vec2_t Side4 = { (50 * sin(math::deg_to_rad(angToLocal + 180))) ,(50 * cos(math::deg_to_rad(angToLocal + 180))) };

        vec3_t Origin = player->m_vecOrigin();

        vec2_t OriginLeftRight[] = { vec2_t(Side1.x, Side1.y), vec2_t(Side2.x, Side2.y) };

        vec2_t OriginLeftRightLocal[] = { vec2_t(Side3.x, Side3.y), vec2_t(Side4.x, Side4.y) };

        for (int side = 0; side < 2; side++)
        {
            vec3_t OriginAutowall = { Origin.x + OriginLeftRight[side].x,  Origin.y - OriginLeftRight[side].y , Origin.z + 90 };
            vec3_t ViewPointAutowall = { ViewPoint.x + OriginLeftRightLocal[side].x,  ViewPoint.y - OriginLeftRightLocal[side].y , ViewPoint.z };

            if (penetration::CanHitFloatingPoint(OriginAutowall, ViewPoint))
            {
                if (side == 0)
                {
                    HitSide1 = true;
                    FreestandSide[idx] = -1;
                }
                else if (side == 1)
                {
                    HitSide2 = true;
                    FreestandSide[idx] = 1;
                }

                Autowalled = true;
            }
            else
            {
                for (int sidealternative = 0; sidealternative < 2; sidealternative++)
                {
                    vec3_t ViewPointAutowallalternative = { Origin.x + OriginLeftRight[sidealternative].x,  Origin.y - OriginLeftRight[sidealternative].y , Origin.z + 90 };

                    if (penetration::CanHitFloatingPoint(ViewPointAutowallalternative, ViewPointAutowall))
                    {
                        if (sidealternative == 0)
                        {
                            HitSide1 = true;
                            FreestandSide[idx] = -1;
                            //FreestandAngle[pPlayerEntity->EntIndex()] = 90;
                        }
                        else if (sidealternative == 1)
                        {
                            HitSide2 = true;
                            FreestandSide[idx] = 1;
                            //FreestandAngle[pPlayerEntity->EntIndex()] = -90;
                        }

                        Autowalled = true;
                    }
                }
            }
        }
    }
}

Нужно доделать ав, что бы проверял флоат поинт

penetration :
C++:
Expand Collapse Copy
 bool penetration::CanHitFloatingPoint(const vec3_t& point, const vec3_t& source) {
    static auto VectortoVectorVisible = [&](vec3_t src, vec3_t point) -> bool {
        CGameTrace TraceInit;
        TraceLine(src, point, MASK_SOLID, g_cl.m_local, &TraceInit);
        CGameTrace Trace;
        TraceLine(src, point, MASK_SOLID, TraceInit.m_entity, &Trace);

        if (Trace.m_fraction == 1.0f || TraceInit.m_fraction == 1.0f)
            return true;

        return false;
    };
    FireBulletData_t data;
    data.m_start = source;
    data.m_filter = new CTraceFilter();
    data.m_filter->skip_entity = g_cl.m_local;
    vec3_t angles = math::CalcAngle(data.m_start, point);
    math::AngleVectors_2(angles, &data.m_direction);
    data.m_direction.normalize();

    data.m_penetration_count = 1;
    //data.trace_length = 0.0f;

    auto weaponData = g_cl.m_local->GetActiveWeapon()->GetWpnData();

    if (!weaponData)
        return false;

    data.m_current_damage = (float)weaponData->iDamage;
    //data.trace_length_remaining = weaponData->range - data.trace_length;
    vec3_t end = data.m_start + (data.m_direction * weaponData->flRange);
    TraceLine(data.m_start, end, MASK_SHOT | CONTENTS_HITBOX, g_cl.m_local, &data.m_enter_trace);

    if (VectortoVectorVisible(data.m_start, point) || HandleBulletPenetration(weaponData, data, true, point))
        return true;

    return false;
}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ладна похуй что вив пасиба , так в падлу фиксить
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу