- Статус
- Оффлайн
- Регистрация
- 6 Фев 2020
- Сообщения
- 490
- Реакции
- 87
Рубрика странных и легких вопросов продолжается.
Сделал недавно автостоп и наткнулся на одну проблему (При пике)
Если пикать с право на лево то стопит моментально, а если с лево на право то стопит плавно и долго.
Сделал недавно автостоп и наткнулся на одну проблему (При пике)
Если пикать с право на лево то стопит моментально, а если с лево на право то стопит плавно и долго.
C++:
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);
}