Исходник Scale Damage для лв

ЧВК EB_LAN
Эксперт
Статус
Оффлайн
Регистрация
26 Янв 2021
Сообщения
1,548
Реакции[?]
517
Поинты[?]
192K
C++:
void autowall::scale_damage(player_t* e, CGameTrace& enterTrace, weapon_info_t* weaponData, float& currentDamage)
{
    if (!e->is_player())
        return;

    auto is_armored = [&]()->bool
    {
        auto has_helmet = e->m_bHasHelmet();
        auto armor_value = e->m_ArmorValue();

        if (armor_value > 0)
        {
            switch (enterTrace.hitgroup)
            {
            case HITGROUP_GENERIC:
            case HITGROUP_CHEST:
            case HITGROUP_STOMACH:
            case HITGROUP_LEFTARM:
            case HITGROUP_RIGHTARM:
            case HITGROUP_LEFTLEG:
            case HITGROUP_RIGHTLEG:
            case HITGROUP_GEAR:
            case HITGROUP_HEAD:
                return has_helmet || e->m_bHasHeavyArmor();

            default:
                return e->m_bHasHeavyArmor();
            }
        }

        return false;
    };

    static auto mp_damage_scale_ct_head = m_cvar()->FindVar(crypt_str("mp_damage_scale_ct_head")); //-V807
    static auto mp_damage_scale_t_head = m_cvar()->FindVar(crypt_str("mp_damage_scale_t_head"));
    static auto mp_damage_scale_ct_body = m_cvar()->FindVar(crypt_str("mp_damage_scale_ct_body"));
    static auto mp_damage_scale_t_body = m_cvar()->FindVar(crypt_str("mp_damage_scale_t_body"));

    auto head_scale = e->m_iTeamNum() == 3 ? mp_damage_scale_ct_head->GetFloat() : mp_damage_scale_t_head->GetFloat();
    auto body_scale = e->m_iTeamNum() == 3 ? mp_damage_scale_ct_body->GetFloat() : mp_damage_scale_t_body->GetFloat();

    auto armor_heavy = e->m_bHasHeavyArmor();
    auto armor_value = (float)e->m_ArmorValue();

    if (armor_heavy)
        head_scale *= 0.5f;

    switch (enterTrace.hitgroup)
    {
    case HITGROUP_HEAD:
        currentDamage *= 4.0f * head_scale;
        break;
    case HITGROUP_STOMACH:
        currentDamage *= 1.25f * body_scale;
        break;
    case HITGROUP_CHEST:
    case HITGROUP_LEFTARM:
    case HITGROUP_RIGHTARM:
    case HITGROUP_GEAR:
        currentDamage *= 1.0f * body_scale;
        break;
    case HITGROUP_LEFTLEG:
    case HITGROUP_RIGHTLEG:
        currentDamage *= 0.75f * body_scale;
        break;
    }

    if (is_armored())
    {
        auto armor_scale = 1.0f;
        auto armor_ratio = weaponData->flArmorRatio * 0.5f;
        auto armor_bonus_ratio = 0.5f;

        if (armor_heavy)
        {

            armor_bonus_ratio = 0.5f;
            armor_ratio = 0.33f;
            armor_scale = 0.33f;
        }

        auto new_damage = currentDamage * armor_ratio;
        auto estiminated_damage = (currentDamage - currentDamage * armor_ratio) * armor_scale * armor_bonus_ratio;

        if (armor_heavy)
            new_damage = new_damage * 0.85000002;

        if (estiminated_damage > armor_value)
            new_damage = currentDamage - armor_value / armor_bonus_ratio;

        currentDamage = floorf(new_damage);
    }
}
 
ЧВК EB_LAN
Эксперт
Статус
Оффлайн
Регистрация
26 Янв 2021
Сообщения
1,548
Реакции[?]
517
Поинты[?]
192K
КИСЛОТА ГОВОРИТ НУЖНО ЧТО БЫ ЧИТ ПОДДЕРЖИВАЛ!!!!
Надо чтобы были анлокнуты хидден кварсы как для aspect_ratio например (растягивание экрана).

В кряке есть такая кнопка Unlock hidden cvars, её жмёшь и пишешь что тебе угодно.
Либо это можно реализовать автоматически джской.
Например если у чела загорелось лц и он не в воздухе, то просто ексекьютаешь kill вход в спеки и кл_лц 0 и готово (Знаю что тупо, но вроде как так реализовать возможно)...
Я знаю что как бы шифтится тикбаза для дефенсива, но просто в кряке по другому никак кроме детекта лц (либо я не знаю)...
 
шатап книга
Забаненный
Статус
Оффлайн
Регистрация
7 Мар 2020
Сообщения
485
Реакции[?]
119
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
дефолт же, нет?
 
ЧВК EB_LAN
Эксперт
Статус
Оффлайн
Регистрация
26 Янв 2021
Сообщения
1,548
Реакции[?]
517
Поинты[?]
192K
Содер
Участник
Статус
Оффлайн
Регистрация
23 Мар 2021
Сообщения
571
Реакции[?]
227
Поинты[?]
17K
Автоволл переделываешь с аимом и анимфиксом и сетап бонес и не токо, и готово.
[/QUOTE]
Вы допустили ошибку
 
Сверху Снизу