Гайд "sv_quantize_movement_input" auto strafer + use velocity

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
2 Ноя 2024
Сообщения
42
Реакции
4
давно еще разрабатывал, работало очень даже хорошо (делал на базе асфиксии).


если че делал этим апрелем:
Expand Collapse Copy
else if (strafeMode == 2)
    {
        Vector_t vecVelocity = pLocalPawn->GetAbsVelocity();
        QAngle_t vecLocalAngles = pUserCmd->pViewAngles->angValue;
        vecLocalAngles.z = 0.0f;

        float flSpeed = vecVelocity.Length2D();
        if (flSpeed < C_GET(float, Vars.flMinimumVelocity))
            return;

        float flDeltaAir = CalculateStrafeDelta(flSpeed);
        if (flDeltaAir == 0.0f)
            return;

        float flVelocityAngle = std::atan2(vecVelocity.y, vecVelocity.x) - deg2rad(vecLocalAngles.y);
        float flBestAngle = std::atan2(pUserCmd->flSideMove, pUserCmd->flForwardMove);
        float flDeltaAngle = DeltaAngle(flVelocityAngle, flBestAngle);
        float flFinalMove = (flDeltaAngle < 0.0f) ? flVelocityAngle + flDeltaAir : flVelocityAngle - flDeltaAir;

        QAngle_t vecCurrentAngles = vecLocalAngles;
        vecCurrentAngles.y = std::fmod(rad2deg(flFinalMove), 45.0f) + vecLocalAngles.y;
        pUserCmd->pViewAngles->angValue = vecCurrentAngles;
        pUserCmd->SetBits(EBaseCmdBits::BASE_BITS_VIEWANGLES);

        pUserCmd->flForwardMove = std::cos(flFinalMove);
        pUserCmd->flSideMove = std::sin(flFinalMove);
        pUserCmd->SetBits(EBaseCmdBits::BASE_BITS_FORWARDMOVE | EBaseCmdBits::BASE_BITS_LEFTMOVE);
    }
 
Назад
Сверху Снизу