C++ Proper converted velocity fix from jre to lw

Забаненный
Статус
Оффлайн
Регистрация
2 Июн 2020
Сообщения
461
Реакции[?]
80
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
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();
}
 
Пользователь
Статус
Оффлайн
Регистрация
9 Мар 2021
Сообщения
272
Реакции[?]
42
Поинты[?]
2K
Код:
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% тупые долбаебы, которые пастят все что видят
 
Забаненный
Статус
Оффлайн
Регистрация
18 Июл 2022
Сообщения
28
Реакции[?]
11
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
хуйня, в паблике есть норм велосити фикс, но почему вы пастите хуйню, так еще и под лв, пастеры лв в 99% тупые долбаебы, которые пастят все что видят
только вот тут есть части которые есть и в ските :)))
 
Пользователь
Статус
Оффлайн
Регистрация
9 Мар 2021
Сообщения
272
Реакции[?]
42
Поинты[?]
2K
бля этот чел просто амбассадор всех долбаебов
он спастил автострейферы пандоры и думает что они ахуенные, когда на самом деле можно написать свои, стрейферы писать очень легко, можно просто изменить немного деф лв стрейферы и они станут п2к
только вот тут есть части которые есть и в ските :)))
АХВХАХВАХАХХАЫХАХВХАЫХА, я выпал в окно, этот велосити фикс хуже деф лв, так он еще и неправильный
 
Забаненный
Статус
Оффлайн
Регистрация
18 Июл 2022
Сообщения
28
Реакции[?]
11
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пользователь
Статус
Оффлайн
Регистрация
9 Мар 2021
Сообщения
272
Реакции[?]
42
Поинты[?]
2K
это буст к тому что код правильный
а вот Wleard пусть дальше так думает что тут нет ничего от скита код тут примерно от ~21 года
ХАХВААХВХАВХА, давай рассказывай, как можно говорит что тут есть что то из скита если ты не видел ни строчки того что есть в ските
 
Пользователь
Статус
Оффлайн
Регистрация
9 Мар 2021
Сообщения
272
Реакции[?]
42
Поинты[?]
2K
Забаненный
Статус
Оффлайн
Регистрация
18 Июл 2022
Сообщения
28
Реакции[?]
11
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пользователь
Статус
Оффлайн
Регистрация
9 Мар 2021
Сообщения
272
Реакции[?]
42
Поинты[?]
2K
Посмотреть вложение 214257
на тебе ответ порчеса
так же данный код имеется в легендваре в4 ( анимации кодил ледарис на половину )
и тут же тебе описали почему этот код хуйня ебаная, но со скита же все пропер че я говорю что он хуйня, в ските анимфикс хуйня кстати
 
Забаненный
Статус
Оффлайн
Регистрация
18 Июл 2022
Сообщения
28
Реакции[?]
11
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
и тут же тебе описали почему этот код хуйня ебаная, но со скита же все пропер че я говорю что он хуйня, в ските анимфикс хуйня кстати
думай так дальше
анимфикс в ските идеален
лучше чем во всех читах по типу неверлуза,фаталити,аимвар,вантап,евольв,примордиал и так далее
 
Пользователь
Статус
Оффлайн
Регистрация
9 Мар 2021
Сообщения
272
Реакции[?]
42
Поинты[?]
2K
думай так дальше
анимфикс в ските идеален
лучше чем во всех читах по типу неверлуза,фаталити,аимвар,вантап,евольв,примордиал и так далее
ХАХВАХВХАХАХВА, ты хоть играл с ним, мне геймстримили ориг, я играл с кряком скита, и могу ответить за свои слова, в том же вантапе или нл анимфикс пизже
 
Забаненный
Статус
Оффлайн
Регистрация
18 Июл 2022
Сообщения
28
Реакции[?]
11
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ХАХВАХВХАХАХВА, ты хоть играл с ним, мне геймстримили ориг, я играл с кряком скита, и могу ответить за свои слова, в том же вантапе или нл анимфикс пизже
думай так дальше
я катал со скитом в 19 и в 20 и в 21 и в 22
вгетаешь скор со нлом или другим хаком 115 на 5 на ру паблике ( там где 51 раунд, оффис мапа ) отпишешь
на счет пизже
1658943704109.png
после таких приколов согласен ( эт локал анимфикс ну мне похуй ) так же вневерлузе оч крутой duck_amount_fix))
 
Пользователь
Статус
Оффлайн
Регистрация
9 Мар 2021
Сообщения
272
Реакции[?]
42
Поинты[?]
2K
хуй знает как разговаривать с такими подсосами ставит мне попкорн чел который пастит паблик хуйню в лв и думает что пиздец крутой, ну блин сделай что то свое пжпжжпжпжпжпж
думай так дальше
я катал со скитом в 19 и в 20 и в 21 и в 22
вгетаешь скор со нлом или другим хаком 115 на 5 на ру паблике ( там где 51 раунд, оффис мапа ) отпишешь
на счет пизже
Посмотреть вложение 214267
после таких приколов согласен ( эт локал анимфикс ну мне похуй ) так же вневерлузе оч крутой duck_amount_fix))
в ските тоже проблема с локал анимфиксом ичччч, могу поискать скрины там тоже пиздец
 
Забаненный
Статус
Оффлайн
Регистрация
2 Июн 2020
Сообщения
461
Реакции[?]
80
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ХАХВАХВХАХАХВА, ты хоть играл с ним, мне геймстримили ориг, я играл с кряком скита, и могу ответить за свои слова, в том же вантапе или нл анимфикс пизже
да да да парень неверлуз проперный
1658943796733.png
вантап тоже
1658943844702.png
1658943856866.png
 
Трахов
Пользователь
Статус
Оффлайн
Регистрация
6 Фев 2020
Сообщения
490
Реакции[?]
87
Поинты[?]
2K
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,123
Реакции[?]
391
Поинты[?]
46K
и тут же тебе описали почему этот код хуйня ебаная, но со скита же все пропер че я говорю что он хуйня, в ските анимфикс хуйня кстати
"В ските анимфикс хуйня" - это говорит человек, который даже не разбирается в сути анимфикса. Там логика анимфикса явно получше, чем у лв паст с югейма вместе взятых.
А на счёт велосити фикса -> SetUpMovement(), SetUpAliveloop() в помощь.
хуйня, в паблике есть норм велосити фикс, но почему вы пастите хуйню, так еще и под лв, пастеры лв в 99% тупые долбаебы, которые пастят все что видят
Если так подумать, то это вообще не хуйня (особенно если доработать парты)
 
Забаненный
Статус
Оффлайн
Регистрация
18 Июл 2022
Сообщения
28
Реакции[?]
11
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
хуй знает как разговаривать с такими подсосами ставит мне попкорн чел который пастит паблик хуйню в лв и думает что пиздец крутой, ну блин сделай что то свое пжпжжпжпжпжпж

в ските тоже проблема с локал анимфиксом ичччч, могу поискать скрины там тоже пиздец
ни разу не было проблем со скитовским анимфиксом
 
Пользователь
Статус
Оффлайн
Регистрация
6 Сен 2019
Сообщения
173
Реакции[?]
37
Поинты[?]
0
Сверху Снизу