Гайд Простейший аим ассист для любителей External (осторожно говнокод)

Карликовая свинья
Пользователь
Статус
Оффлайн
Регистрация
5 Ноя 2018
Сообщения
125
Реакции[?]
34
Поинты[?]
0
Простейший аим ассист, без сотен строк кода, экстернал, вдруг кому интересно. Кости, а не хитбоксы. Сорян, если уже было.

Всё, что нам нужно знать - позицию костей и позицию игрока. Нужно получить относительный угол игрока к кости.

Алгоритм такой:
  1. Получить список игроков
  2. Получить позицию костей игроков (в нашем случае это только голова)
  3. Отсортировать углы
  4. Навестись на того игрока, угол к которому меньше всего

Вот весь говнокод:

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.



Функция для получения позиции игрока (вызывается в RotatePlayerToEntity):

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.


0 - вроде как всегда (или часто) id нашей камеры. лучше так не делать и найти игрока через оффсеты. y_correct здесь нужен для корректирования позиции нашей головы (камеры) по Z и равен он 64.

*client_dll - это client_panorama.dll, *engine - engine.dll.

Чтобы получить id игрока, нужно выполнить следующее:
C++:
DWORD player_id = me.ReadDWORD(*client_dll + dwLocalPlayer);
Код в принципе готов, чтобы спастить его в свой чит, но:
  1. Нужно изменить некоторые его куски под себя
  2. Я мог жоска проебаться, и что-то забыть или написать с ошибкой, т.к. это кусочек письки моего чита, то там всё завязано на его переменных
В общем, это по сути своей всего лишь заготовка. Но вдруг кому такое будет полезным.
 
Последнее редактирование:
НАЧНИ ПРОГРАММИРОВАТЬ ПРЯМО СЕЙЧАС
Участник
Статус
Оффлайн
Регистрация
19 Июн 2017
Сообщения
608
Реакции[?]
924
Поинты[?]
4K
vector<float> src1 = GetBodyPosition(0, 64); //от позиции игрока и будем плясать
Не совсем, лучше m_vecOrigin + m_vecViewOffset

Код:
DT_BasePlayer 
    localdata                                     : 0x00000000
        m_vecViewOffset[0]                        : 0x00000108
        m_vecViewOffset[1]                        : 0x0000010C
        m_vecViewOffset[2]                        : 0x00000110
DT_BaseEntity
  m_vecOrigin                                   : 0x00000138

//костыль: if (angles1[0] > 89.9f && angles1[0] <= 179.9f) angles1[0] = 89.9f; if (angles1[0] > 179.9f) angles1[0] -= 359.9f; if (angles1[0] < -89.9f) angles1[0] = -89.9f; if (angles1[1] > 179.9f) angles1[1] -= 359.9f; if (angles1[1] < -179.9f) angles1[1] += 359.9f; angles1[2] = 0.0f;
Юзай это
Пожалуйста, авторизуйтесь для просмотра ссылки.

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


//вычисляем углы: float angles1[3]; float delta1[3] = { (src1[0] - dst1[0]), (src1[1] - dst1[1]), (src1[2] - dst1[2]) }; float hyp1 = sqrt(delta1[0] * delta1[0] + delta1[1] * delta1[1]); angles1[0] = atan(delta1[2] / hyp1) * 180.0 /3.1415926535f; angles1[1] = (atanf(delta1[1] / delta1[0]) * 57.295779513082f); angles1[2] = 0.0f; if (delta1[0] >= 0.0) angles1[1] += 180.0f;
Юзай это
Пожалуйста, авторизуйтесь для просмотра ссылки.


0 - вроде как всегда (или часто) id нашей камеры. y_correct здесь нужен для корректирования позиции нашей головы (камеры) по Z и равен он 64.
0 - это id мира, чаще всего локальный игрок имеет индекс 1, а лучше не хардкодить и найти игрока по оффсетам. Насчет корректирования, см ответ про m_vecViewOffset
 
Последнее редактирование:
Карликовая свинья
Пользователь
Статус
Оффлайн
Регистрация
5 Ноя 2018
Сообщения
125
Реакции[?]
34
Поинты[?]
0
Не совсем, лучше m_vecOrigin + m_vecViewOffset

Код:
DT_BasePlayer
    localdata                                     : 0x00000000
        m_vecViewOffset[0]                        : 0x00000108
        m_vecViewOffset[1]                        : 0x0000010C
        m_vecViewOffset[2]                        : 0x00000110
DT_BaseEntity
  m_vecOrigin                                   : 0x00000138


Юзай это
Пожалуйста, авторизуйтесь для просмотра ссылки.

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



Юзай это
Пожалуйста, авторизуйтесь для просмотра ссылки.



0 - это id мира, чаще всего локальный игрок имеет индекс 1, а лучше не хардкодить и найти игрока по оффсетам. Насчет корректирования, см ответ про m_vecViewOffset
Спс, принял к сведению
 
Карликовая свинья
Пользователь
Статус
Оффлайн
Регистрация
5 Ноя 2018
Сообщения
125
Реакции[?]
34
Поинты[?]
0
Чутка пофиксил кусочек кода, чуть позже пофикшу остальное, спасибо Soufiw
 
Карликовая свинья
Пользователь
Статус
Оффлайн
Регистрация
5 Ноя 2018
Сообщения
125
Реакции[?]
34
Поинты[?]
0
Сверху Снизу