Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

C++ Proper converted velocity fix from jre to lw

  • Автор темы Автор темы Tcugan
  • Дата начала Дата начала
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
2 Июн 2020
Сообщения
457
Реакции
80
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
Expand Collapse Copy
void FixVelocity(player_t* m_player, adjust_data* record, adjust_data* previous, float max_speed) {
    if (!previous) {
        if (record->layers[6].m_flPlaybackRate > 0.0f && record->layers[6].m_flWeight != 0.f && record->velocity.Length() > 0.1f) {
            auto v30 = max_speed;

            if (record->flags & 6)
                v30 *= 0.34f;
            else if (m_player->m_bIsWalking())
                v30 *= 0.52f;

            auto v35 = record->layers[6].m_flWeight * v30;
            record->velocity *= v35 / record->velocity.Length();
        }
        else
            record->velocity.Zero();

        if (record->flags & 1)
            record->velocity.z = 0.f;

        record->m_anim_velocity = record->velocity;
        return;
    }

    if ((m_player->m_fEffects() & 8) != 0
        || m_player->m_ubEFNoInterpParity() != m_player->m_ubEFNoInterpParityOld()) {
        record->velocity.Zero();
        record->m_anim_velocity.Zero();
        return;
    }

    auto is_jumping = !(record->flags & FL_ONGROUND && previous->flags & FL_ONGROUND);

    if (record->m_lag > 1) {
        record->velocity.Zero();
        auto origin_delta = (record->origin - previous->origin);

        if (!(previous->flags & FL_ONGROUND || record->flags & FL_ONGROUND))// if not previous on ground or on ground
        {
            auto currently_ducking = record->flags & FL_DUCKING;
            if ((previous->flags & FL_DUCKING) != currently_ducking) {
                float duck_modifier = 0.f;

                if (currently_ducking)
                    duck_modifier = 9.f;
                else
                    duck_modifier = -9.f;

                origin_delta.z -= duck_modifier;
            }
        }

        auto sqrt_delta = origin_delta.Length2DSqr();

        if (sqrt_delta > 0.f && sqrt_delta < 1000000.f)
            record->velocity = origin_delta / TICKS_TO_TIME(record->m_lag);

        record->velocity.validate_vec();

        if (is_jumping) {
            if (record->flags & FL_ONGROUND && !m_cvar()->FindVar(XOR("sv_enablebunnyhopping"))->GetInt()) {

                // 260 x 1.1 = 286 units/s.
                float max = m_player->m_flMaxspeed() * 1.1f;

                // get current velocity.
                float speed = record->velocity.Length();

                // reset velocity to 286 units/s.
                if (max > 0.f && speed > max)
                    record->velocity *= (max / speed);
            }

            // assume the player is bunnyhopping here so set the upwards impulse.
            record->velocity.z = m_cvar()->FindVar(XOR("sv_jump_impulse"))->GetFloat();
        }
        // we are not on the ground
        // apply gravity and airaccel.
        else if (!(record->flags & FL_ONGROUND)) {
            // apply one tick of gravity.
            record->velocity.z -= m_cvar()->FindVar(XOR("sv_gravity"))->GetFloat() * m_globals()->m_intervalpertick;
        }
    }

    record->m_anim_velocity = record->velocity;

    if (!record->m_fake_walk) {
        if (record->m_anim_velocity.Length2D() > 0 && (record->flags & FL_ONGROUND)) {
            float anim_speed = 0.f;

            if (!is_jumping
                && record->layers[11].m_flWeight > 0.0f
                && record->layers[11].m_flWeight < 1.0f
                && record->layers[11].m_flPlaybackRate == previous->layers[11].m_flPlaybackRate) {
                // calculate animation speed yielded by anim overlays
                auto flAnimModifier = 0.35f * (1.0f - record->layers[11].m_flWeight);
                if (flAnimModifier > 0.0f && flAnimModifier < 1.0f)
                    anim_speed = max_speed * (flAnimModifier + 0.55f);
            }

            // this velocity is valid ONLY IN ANIMFIX UPDATE TICK!!!
            // so don't store it to record as m_vecVelocity
            // -L3D451R7
            if (anim_speed > 0.0f) {
                anim_speed /= record->m_anim_velocity.Length2D();
                record->m_anim_velocity.x *= anim_speed;
                record->m_anim_velocity.y *= anim_speed;
            }
        }
    }
    else
        record->m_anim_velocity.Zero();

    record->m_anim_velocity.validate_vec();
}
 
Код:
Expand Collapse Copy
void FixVelocity(player_t* m_player, adjust_data* record, adjust_data* previous, float max_speed) {
    if (!previous) {
        if (record->layers[6].m_flPlaybackRate > 0.0f && record->layers[6].m_flWeight != 0.f && record->velocity.Length() > 0.1f) {
            auto v30 = max_speed;

            if (record->flags & 6)
                v30 *= 0.34f;
            else if (m_player->m_bIsWalking())
                v30 *= 0.52f;

            auto v35 = record->layers[6].m_flWeight * v30;
            record->velocity *= v35 / record->velocity.Length();
        }
        else
            record->velocity.Zero();

        if (record->flags & 1)
            record->velocity.z = 0.f;

        record->m_anim_velocity = record->velocity;
        return;
    }

    if ((m_player->m_fEffects() & 8) != 0
        || m_player->m_ubEFNoInterpParity() != m_player->m_ubEFNoInterpParityOld()) {
        record->velocity.Zero();
        record->m_anim_velocity.Zero();
        return;
    }

    auto is_jumping = !(record->flags & FL_ONGROUND && previous->flags & FL_ONGROUND);

    if (record->m_lag > 1) {
        record->velocity.Zero();
        auto origin_delta = (record->origin - previous->origin);

        if (!(previous->flags & FL_ONGROUND || record->flags & FL_ONGROUND))// if not previous on ground or on ground
        {
            auto currently_ducking = record->flags & FL_DUCKING;
            if ((previous->flags & FL_DUCKING) != currently_ducking) {
                float duck_modifier = 0.f;

                if (currently_ducking)
                    duck_modifier = 9.f;
                else
                    duck_modifier = -9.f;

                origin_delta.z -= duck_modifier;
            }
        }

        auto sqrt_delta = origin_delta.Length2DSqr();

        if (sqrt_delta > 0.f && sqrt_delta < 1000000.f)
            record->velocity = origin_delta / TICKS_TO_TIME(record->m_lag);

        record->velocity.validate_vec();

        if (is_jumping) {
            if (record->flags & FL_ONGROUND && !m_cvar()->FindVar(XOR("sv_enablebunnyhopping"))->GetInt()) {

                // 260 x 1.1 = 286 units/s.
                float max = m_player->m_flMaxspeed() * 1.1f;

                // get current velocity.
                float speed = record->velocity.Length();

                // reset velocity to 286 units/s.
                if (max > 0.f && speed > max)
                    record->velocity *= (max / speed);
            }

            // assume the player is bunnyhopping here so set the upwards impulse.
            record->velocity.z = m_cvar()->FindVar(XOR("sv_jump_impulse"))->GetFloat();
        }
        // we are not on the ground
        // apply gravity and airaccel.
        else if (!(record->flags & FL_ONGROUND)) {
            // apply one tick of gravity.
            record->velocity.z -= m_cvar()->FindVar(XOR("sv_gravity"))->GetFloat() * m_globals()->m_intervalpertick;
        }
    }

    record->m_anim_velocity = record->velocity;

    if (!record->m_fake_walk) {
        if (record->m_anim_velocity.Length2D() > 0 && (record->flags & FL_ONGROUND)) {
            float anim_speed = 0.f;

            if (!is_jumping
                && record->layers[11].m_flWeight > 0.0f
                && record->layers[11].m_flWeight < 1.0f
                && record->layers[11].m_flPlaybackRate == previous->layers[11].m_flPlaybackRate) {
                // calculate animation speed yielded by anim overlays
                auto flAnimModifier = 0.35f * (1.0f - record->layers[11].m_flWeight);
                if (flAnimModifier > 0.0f && flAnimModifier < 1.0f)
                    anim_speed = max_speed * (flAnimModifier + 0.55f);
            }

            // this velocity is valid ONLY IN ANIMFIX UPDATE TICK!!!
            // so don't store it to record as m_vecVelocity
            // -L3D451R7
            if (anim_speed > 0.0f) {
                anim_speed /= record->m_anim_velocity.Length2D();
                record->m_anim_velocity.x *= anim_speed;
                record->m_anim_velocity.y *= anim_speed;
            }
        }
    }
    else
        record->m_anim_velocity.Zero();

    record->m_anim_velocity.validate_vec();
}
хуйня, в паблике есть норм велосити фикс, но почему вы пастите хуйню, так еще и под лв, пастеры лв в 99% тупые долбаебы, которые пастят все что видят
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
хуйня, в паблике есть норм велосити фикс, но почему вы пастите хуйню, так еще и под лв, пастеры лв в 99% тупые долбаебы, которые пастят все что видят
только вот тут есть части которые есть и в ските :)))
 
бля этот чел просто амбассадор всех долбаебов
он спастил автострейферы пандоры и думает что они ахуенные, когда на самом деле можно написать свои, стрейферы писать очень легко, можно просто изменить немного деф лв стрейферы и они станут п2к
только вот тут есть части которые есть и в ските :)))
АХВХАХВАХАХХАЫХАХВХАЫХА, я выпал в окно, этот велосити фикс хуже деф лв, так он еще и неправильный
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
это буст к тому что код правильный
а вот @Wleard пусть дальше так думает что тут нет ничего от скита код тут примерно от ~21 года
ХАХВААХВХАВХА, давай рассказывай, как можно говорит что тут есть что то из скита если ты не видел ни строчки того что есть в ските
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
а можно какие то пруфы что он это говорил??
1658943012100.png

на тебе ответ порчеса
так же данный код имеется в легендваре в4 ( анимации кодил ледарис на половину )
 
Посмотреть вложение 214257
на тебе ответ порчеса
так же данный код имеется в легендваре в4 ( анимации кодил ледарис на половину )
и тут же тебе описали почему этот код хуйня ебаная, но со скита же все пропер че я говорю что он хуйня, в ските анимфикс хуйня кстати
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
и тут же тебе описали почему этот код хуйня ебаная, но со скита же все пропер че я говорю что он хуйня, в ските анимфикс хуйня кстати
думай так дальше
анимфикс в ските идеален
лучше чем во всех читах по типу неверлуза,фаталити,аимвар,вантап,евольв,примордиал и так далее
 
думай так дальше
анимфикс в ските идеален
лучше чем во всех читах по типу неверлуза,фаталити,аимвар,вантап,евольв,примордиал и так далее
ХАХВАХВХАХАХВА, ты хоть играл с ним, мне геймстримили ориг, я играл с кряком скита, и могу ответить за свои слова, в том же вантапе или нл анимфикс пизже
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ХАХВАХВХАХАХВА, ты хоть играл с ним, мне геймстримили ориг, я играл с кряком скита, и могу ответить за свои слова, в том же вантапе или нл анимфикс пизже
думай так дальше
я катал со скитом в 19 и в 20 и в 21 и в 22
вгетаешь скор со нлом или другим хаком 115 на 5 на ру паблике ( там где 51 раунд, оффис мапа ) отпишешь
на счет пизже
1658943704109.png

после таких приколов согласен ( эт локал анимфикс ну мне похуй ) так же вневерлузе оч крутой duck_amount_fix))
 
хуй знает как разговаривать с такими подсосами ставит мне попкорн чел который пастит паблик хуйню в лв и думает что пиздец крутой, ну блин сделай что то свое пжпжжпжпжпжпж
думай так дальше
я катал со скитом в 19 и в 20 и в 21 и в 22
вгетаешь скор со нлом или другим хаком 115 на 5 на ру паблике ( там где 51 раунд, оффис мапа ) отпишешь
на счет пизже
Посмотреть вложение 214267
после таких приколов согласен ( эт локал анимфикс ну мне похуй ) так же вневерлузе оч крутой duck_amount_fix))
в ските тоже проблема с локал анимфиксом ичччч, могу поискать скрины там тоже пиздец
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ХАХВАХВХАХАХВА, ты хоть играл с ним, мне геймстримили ориг, я играл с кряком скита, и могу ответить за свои слова, в том же вантапе или нл анимфикс пизже
да да да парень неверлуз проперный
1658943796733.png

вантап тоже
1658943844702.png

1658943856866.png
 
и тут же тебе описали почему этот код хуйня ебаная, но со скита же все пропер че я говорю что он хуйня, в ските анимфикс хуйня кстати
"В ските анимфикс хуйня" - это говорит человек, который даже не разбирается в сути анимфикса. Там логика анимфикса явно получше, чем у лв паст с югейма вместе взятых.
А на счёт велосити фикса -> SetUpMovement(), SetUpAliveloop() в помощь.
хуйня, в паблике есть норм велосити фикс, но почему вы пастите хуйню, так еще и под лв, пастеры лв в 99% тупые долбаебы, которые пастят все что видят
Если так подумать, то это вообще не хуйня (особенно если доработать парты)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
хуй знает как разговаривать с такими подсосами ставит мне попкорн чел который пастит паблик хуйню в лв и думает что пиздец крутой, ну блин сделай что то свое пжпжжпжпжпжпж

в ските тоже проблема с локал анимфиксом ичччч, могу поискать скрины там тоже пиздец
ни разу не было проблем со скитовским анимфиксом
 
Назад
Сверху Снизу