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

Вопрос Autostop

Трахов
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
6 Фев 2020
Сообщения
490
Реакции
87
Рубрика странных и легких вопросов продолжается.
Сделал недавно автостоп и наткнулся на одну проблему (При пике)
Если пикать с право на лево то стопит моментально, а если с лево на право то стопит плавно и долго.
C++:
Expand Collapse Copy
static int MinimumVelocity = 0.33f * (G::pLocal->IsScoped() ? G::pLocal->GetWeapon()->GetCSWeaponData()->flMaxSpeedAlt : G::pLocal->GetWeapon()->GetCSWeaponData()->flMaxSpeed);

    if (G::pLocal->GetVelocity().Length() >= MinimumVelocity && G::pLocal->GetFlags() & FL_ONGROUND && !(G::pCmd->iButtons & IN_RELOAD))
    {

        auto velocity = G::pLocal->GetVelocity();
        velocity.z = 0.f;

        float speed = velocity.Length2D();

        float acceleration = I::ConVar->FindVar("sv_accelerate")->GetFloat();
        float maxspeed = I::ConVar->FindVar("sv_maxspeed")->GetFloat();
        float surface_friction = G::pLocal->GetSurfaceFriction();
        float max_accel_speed = acceleration * I::Globals->flIntervalPerTick * maxspeed * surface_friction;

        float wishspeed = 0.f;

        if (speed - max_accel_speed <= -1.f)
        {
            wishspeed = max_accel_speed / (speed / (acceleration * I::Globals->flIntervalPerTick));
        }
        else
        {
            wishspeed = max_accel_speed;
        }

        QAngle resistance{};
        M::VectorAngles((velocity * -1.f), resistance);
        resistance.y = G::pCmd->angViewPoint.y - resistance.y;

        Vector resistance_vec{};
        M::AngleVectors(resistance, &resistance_vec);

        G::pCmd->flForwardMove = std::clamp(resistance_vec.x * wishspeed, 0.f, 450.0f);
        G::pCmd->flSideMove = std::clamp(resistance_vec.y * wishspeed, 0.f, 450.0f);

    }
 
Назад
Сверху Снизу