Вопрос Как пофиксить аим?

На самом деле я Zodiak
Участник
Статус
Оффлайн
Регистрация
22 Дек 2020
Сообщения
1,020
Реакции[?]
181
Поинты[?]
70K

Нашел аим на просторах необъятного, помогите пофиксить, а то его колбасит сильно

C++:
void AimAtPos(int screenwidth, int screenheight, float x, float y, float speed, float lock, bool smooth) {

    int ScreenCenterX = screenwidth / 2, ScreenCenterY = screenheight / 2;

    float AimSpeed = (float)speed + 0.2f;
    float TargetX = 0;
    float TargetY = 0;

    if (x != 0) {
        if (x > ScreenCenterX) {
            TargetX = -(ScreenCenterX - x);
            TargetX /= AimSpeed;
            TargetX += lock;
            if (TargetX + ScreenCenterX > ScreenCenterX * 2) TargetX = 0;
        }

        if (x < ScreenCenterX)
        {
            TargetX = x - ScreenCenterX;
            TargetX /= AimSpeed;
            TargetX -= lock;
            if (TargetX + ScreenCenterX < 0) TargetX = 0;
        }
    }

    if (y != 0)
    {
        if (y > ScreenCenterY)
        {
            TargetY = -(ScreenCenterY - y);
            TargetY /= AimSpeed;
            TargetY += lock;
            if (TargetY + ScreenCenterY > ScreenCenterY * 2) TargetY = 0;
        }

        if (y < ScreenCenterY)
        {
            TargetY = y - ScreenCenterY;
            TargetY /= AimSpeed;
            TargetY -= lock;
            if (TargetY + ScreenCenterY < 0) TargetY = 0;
        }
    }

    if (!smooth)
    {
        mouse_move((int)TargetX, (int)(TargetY));
        return;
    }

    TargetX /= 10;
    TargetY /= 10;

    if (abs(TargetX) < 1)
    {
        if (TargetX > 0)
        {
            TargetX = 1;
        }
        if (TargetX < 0)
        {
            TargetX = -1;
        }
    }
    if (abs(TargetY) < 1)
    {
        if (TargetY > 0)
        {
            TargetY = 1;
        }
        if (TargetY < 0)
        {
            TargetY = -1;
        }
    }
    mouse_move((int)TargetX, (int)(TargetY));
    //mouse_event(MOUSEEVENTF_MOVE, (int)TargetX, (int)(TargetY), NULL, NULL);
}

C++:
if (GetAsyncKeyState(VK_RBUTTON)) {
                    float aimspeed = 250.f;
                    float lock = 5.f;
                    float Fov = 100.f;
                    
                    if (CenterDistance(Headpos.x, Headpos.y, ScreenX / 2,ScreenY/ 2) <= Fov) {
                        
                        AimAtPos(ScreenX, ScreenY, Headpos.x, Headpos.y, aimspeed, lock, false);
                    }
                }
 
Участник
Статус
Оффлайн
Регистрация
18 Фев 2020
Сообщения
394
Реакции[?]
153
Поинты[?]
61K
РАЗДЕЛ №4: СГЛАЖИВАНИЕ

Если вы хотите сделать rage aimbot или что-то в этом духе, то вы почти закончили! Однако, если вы хотите реализовать плавное прицеливание, это тоже довольно легко. Этот метод мне нравится называть методом сглаживания "нелинейного коэффициента".

Первое, что нам нужно сделать, это вычесть наши вычисленные углы из текущих углов обзора игрока. Как и вычитание вектора, это даст нам угол относительно наших текущих углов обзора, поэтому вы можете просто добавить этот результирующий угол к текущим углам обзора, чтобы получить тот же эффект.

Чтобы сгладить его, просто добавьте результат, разделенный на некоторую константу, к углам обзора.

Например, чтобы сгладить наводку в 4 раза, вы бы использовали:

cmd->viewangles += angleBetween / 4

Я называю это нелинейным, потому что движение мыши становится нелинейным из-за поведения этой функции.
 
На самом деле я Zodiak
Участник
Статус
Оффлайн
Регистрация
22 Дек 2020
Сообщения
1,020
Реакции[?]
181
Поинты[?]
70K
РАЗДЕЛ №4: СГЛАЖИВАНИЕ

Если вы хотите сделать rage aimbot или что-то в этом духе, то вы почти закончили! Однако, если вы хотите реализовать плавное прицеливание, это тоже довольно легко. Этот метод мне нравится называть методом сглаживания "нелинейного коэффициента".

Первое, что нам нужно сделать, это вычесть наши вычисленные углы из текущих углов обзора игрока. Как и вычитание вектора, это даст нам угол относительно наших текущих углов обзора, поэтому вы можете просто добавить этот результирующий угол к текущим углам обзора, чтобы получить тот же эффект.

Чтобы сгладить его, просто добавьте результат, разделенный на некоторую константу, к углам обзора.

Например, чтобы сгладить наводку в 4 раза, вы бы использовали:

cmd->viewangles += angleBetween / 4

Я называю это нелинейным, потому что движение мыши становится нелинейным из-за поведения этой функции.
Так у меня mouse_event...
 
Участник
Статус
Оффлайн
Регистрация
18 Фев 2020
Сообщения
394
Реакции[?]
153
Поинты[?]
61K
Так у меня mouse_event...
Код:
if (GetAsyncKeyState(VK_RBUTTON)) {
                    float aimspeed = 250.f;
                    float lock = 5.f;
                    float Fov = 100.f;
                    
                    if (CenterDistance(Headpos.x, Headpos.y, ScreenX / 2,ScreenY/ 2) <= Fov) {
                        
                        AimAtPos(ScreenX, ScreenY, Headpos.x, Headpos.y, aimspeed, lock, false);
                    }
                }
Глупый вопрос, а ты пробовал уменьшать "float aimspeed" ? :roflanEbalo:
 
На самом деле я Zodiak
Участник
Статус
Оффлайн
Регистрация
22 Дек 2020
Сообщения
1,020
Реакции[?]
181
Поинты[?]
70K
Код:
if (GetAsyncKeyState(VK_RBUTTON)) {
                    float aimspeed = 250.f;
                    float lock = 5.f;
                    float Fov = 100.f;
                   
                    if (CenterDistance(Headpos.x, Headpos.y, ScreenX / 2,ScreenY/ 2) <= Fov) {
                       
                        AimAtPos(ScreenX, ScreenY, Headpos.x, Headpos.y, aimspeed, lock, false);
                    }
                }
Глупый вопрос, а ты пробовал уменьшать "float aimspeed" ? :roflanEbalo:
Да я всё менял, однако трясёт в любом случае
 
Сверху Снизу