Исходник Fast Stop

Забаненный
Статус
Оффлайн
Регистрация
4 Май 2020
Сообщения
41
Реакции[?]
30
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Я просто хотел сделать что то наподобие как у приват софтоф по типу onetap.su

Это нельзя назвать гайдом. Но все-же это нужная функция которой я тут не видел.

C++:
void fastStop(CUserCmd* cmd)
    {
        Vector velocity = g::local_player->m_vecVelocity();
        QAngle direction;
        math::vector2angles(velocity, direction);
        float speed = velocity.Length2D();

        direction.yaw = cmd->viewangles.yaw - direction.yaw;

        Vector forward;
        math::angle2vectors(direction, forward);

        Vector right = (forward + 0.217812) * -speed;
        Vector left = (forward + -0.217812) * -speed;

        Vector move_forward = (forward + 0.217812) * -speed;
        Vector move_backward = (forward + -0.217812) * -speed;

        if (!(cmd->buttons & IN_MOVELEFT))
        {
            cmd->sidemove += +left.y;
        }

        if (!(cmd->buttons & IN_MOVERIGHT))
        {
            cmd->sidemove -= -right.y;
        }

        if (!(cmd->buttons & IN_FORWARD))
        {
            if (cmd->buttons & IN_MOVELEFT || cmd->buttons & IN_MOVERIGHT || settings::misc::auto_strafe)
                return;

            cmd->forwardmove += +move_forward.x;
        }

        if (!(cmd->buttons & IN_BACK))
        {
            if (cmd->buttons & IN_MOVELEFT || cmd->buttons & IN_MOVERIGHT || settings::misc::auto_strafe)
                return;

            cmd->forwardmove -= -move_backward.x;
        }
    }
 
НАЧНИ ПРОГРАММИРОВАТЬ ПРЯМО СЕЙЧАС
Участник
Статус
Оффлайн
Регистрация
19 Июн 2017
Сообщения
608
Реакции[?]
924
Поинты[?]
4K
понимаю, хардкод


вариант получше:
Пожалуйста, авторизуйтесь для просмотра ссылки.

ready to paste вариант, вставить в начало крейт мува до вызова EnginePrediction
Код:
if( !(cmd->buttons & (IN_MOVERIGHT | IN_MOVELEFT | IN_BACK | IN_FORWARD) )
{
    auto speed = local_player->GetVelocity().Length2D() ;
    auto friction = sv_friction->GetFloat() * local_player->m_surfaceFriction();
    auto control = (speed < sv_stopspeed->GetFloat()) ? sv_stopspeed->GetFloat() : speed;
    auto drop = control * friction * g_GlobalVars->interval_per_tick;
    
    if(speed > drop - 1.0f)
    {
        Vector velocity = local_player->GetVelocity();
        QAngle direction = velocity.ToAngle();
        float speed = velocity.Length();
        
        direction.y = cmd->viewangles.y - direction.y;
        
        Vector negated_direction = direction.Forward() * -speed;
        
        cmd->forwardmove = negated_direction.x;
        cmd->sidemove = negated_direction.y;
    }
    else
    {
        cmd->forwardmove = cmd->sidemove = 0.0f;
    }
}
 
Забаненный
Статус
Оффлайн
Регистрация
4 Май 2020
Сообщения
41
Реакции[?]
30
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
понимаю, хардкод


вариант получше:
Пожалуйста, авторизуйтесь для просмотра ссылки.

ready to paste вариант, вставить в начало крейт мува до вызова EnginePrediction
Код:
if( !(cmd->buttons & (IN_MOVERIGHT | IN_MOVELEFT | IN_BACK | IN_FORWARD) )
{
    auto speed = local_player->GetVelocity().Length2D() ;
    auto friction = sv_friction->GetFloat() * local_player->m_surfaceFriction();
    auto control = (speed < sv_stopspeed->GetFloat()) ? sv_stopspeed->GetFloat() : speed;
    auto drop = control * friction * g_GlobalVars->interval_per_tick;
   
    if(speed > drop - 1.0f)
    {
        Vector velocity = local_player->GetVelocity();
        QAngle direction = velocity.ToAngle();
        float speed = velocity.Length();
       
        direction.y = cmd->viewangles.y - direction.y;
       
        Vector negated_direction = direction.Forward() * -speed;
       
        cmd->forwardmove = negated_direction.x;
        cmd->sidemove = negated_direction.y;
    }
    else
    {
        cmd->forwardmove = cmd->sidemove = 0.0f;
    }
}
Ну... Все-же мое тоже работает
 
Забаненный
Участник
Статус
Оффлайн
Регистрация
23 Сен 2019
Сообщения
1,020
Реакции[?]
190
Поинты[?]
0
Можно спросить, в чём смысл? Останавливаешься быстрее чем обычно?
 
Забаненный
Статус
Оффлайн
Регистрация
4 Май 2020
Сообщения
41
Реакции[?]
30
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Можно спросить, в чём смысл? Останавливаешься быстрее чем обычно?
Да. При остоновке без этой функции у тябя есть анимая и разброс а с этой фисей ты останавливаешся моментально и разброс тоже исчезает моментально
 
RIP 1.06.2020
Забаненный
Статус
Оффлайн
Регистрация
19 Апр 2019
Сообщения
832
Реакции[?]
153
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Dreammmless.
Эксперт
Статус
Оффлайн
Регистрация
19 Мар 2019
Сообщения
2,956
Реакции[?]
962
Поинты[?]
1K
Можно спросить, в чём смысл? Останавливаешься быстрее чем обычно?
да, ты когда бежишь обычно и отпускаешь клавишу, тебя сила инерции уносит чутка в сторону бега, с этой функцией ты мгновенно останавливаешься
 
Забаненный
Участник
Статус
Оффлайн
Регистрация
23 Сен 2019
Сообщения
1,020
Реакции[?]
190
Поинты[?]
0
да, ты когда бежишь обычно и отпускаешь клавишу, тебя сила инерции уносит чутка в сторону бега, с этой функцией ты мгновенно останавливаешься
Спасибо.
 
ウェンストニー
Участник
Статус
Оффлайн
Регистрация
6 Дек 2017
Сообщения
908
Реакции[?]
201
Поинты[?]
0
Товары в продаже
2
да, ты когда бежишь обычно и отпускаешь клавишу, тебя сила инерции уносит чутка в сторону бега, с этой функцией ты мгновенно останавливаешься
А вот нажать клавишу "S" тем самым погасить инерцию нельзя?(контрстрейфы и так все юзают
 
Участник
Статус
Оффлайн
Регистрация
4 Май 2018
Сообщения
709
Реакции[?]
179
Поинты[?]
1K
А вот нажать клавишу "S" тем самым погасить инерцию нельзя?(контрстрейфы и так все юзают
Так все (кто эти все) юзают, а этот автоматизация контрстрейфов, но без слишком долгого удерживания клавиши (как это может произойти, если ты контрстрейфишся вручную)
 
ウェンストニー
Участник
Статус
Оффлайн
Регистрация
6 Дек 2017
Сообщения
908
Реакции[?]
201
Поинты[?]
0
Товары в продаже
2
Так все (кто все) юзают, а этот автоматизация контрстрейфов, но без слишком долгого удерживания клавиши (как это может произойти, если ты контрстрейфишся вручную)
там доли секунд, которые ни на что не влияют, а если человек не может через секунду после нажатия на клавишу отпустить её, то тут уже синдром хвх боя с отклонениями в развитии, это и в правду автоматизирует, но оно не так сильно нужно
Можно потратить 30 минут и сделать самому, а можно потратить час на то, чтобы автоматизировать...
 
Забаненный
Статус
Оффлайн
Регистрация
4 Май 2020
Сообщения
41
Реакции[?]
30
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
там доли секунд, которые ни на что не влияют, а если человек не может через секунду после нажатия на клавишу отпустить её, то тут уже синдром хвх боя с отклонениями в развитии, это и в правду автоматизирует, но оно не так сильно нужно
Можно потратить 30 минут и сделать самому, а можно потратить час на то, чтобы автоматизировать...
Для хвх это функция важна так как при остоновке полностью гасит отдачу. Без этой функции в эти доли сикинды происходит анимация перса и есть разброс. С этой функцией скипается анимка и разброс.
 
Сверху Снизу