Гайд Как сделать DirectX ESP Hack для CS:GO Pt.3

Разработчик
Статус
Оффлайн
Регистрация
31 Мар 2017
Сообщения
79
Реакции[?]
84
Поинты[?]
0
Привет читерам!

Это уже третья часть по созданию нашего хака для CS:GO. Сегодня мы добавим боксы к нашему читу. Но не простые боксы, а с прогресс баром, чтобы видеть здоровье нашего игрока.
Теперь осталось решить одну маленькую проблему, а именно: как отмасштабировать наши боксы. Ведь с удалением противника они должны уменьшаться. Для этого я предлагаю сделать следующее:
  • Получить позицию игрока
  • Получить позицию его головной кости
  • Перевести эти координаты в 2D
  • Рассчитывать высоту бокса как расстояние между позицией головы игрока и просто позицией игрока ( надеюсь вы поняли)
  • Ширину рассчитывать будем по другой формуле
Дальше приступаем к программированию :)

Для начала обозначим метод для получения позиции кости игрока в 3D[/SPOILER]
Код:
private static Vector3 GetBonePos(int pTargetIn, int bone)
{
  int matrix = mem.Read<int>(pTargetIn + Offsets.m_dwBoneMatrix);
   Vector3 bonePos = new Vector3
  {
     X = mem.Read<float>(matrix + 0x30 * bone + 0xC),
     Y = mem.Read<float>(matrix + 0x30 * bone + 0x1C),
     Z = mem.Read<float>(matrix + 0x30 * bone + 0x2C),
   };
  return bonePos;
}


Дальше получим позицию головы нашего игрока и просто позицию игрока и переведем их в 2D
Код:
Vector3 entityPos = mem.Read<Vector3>(entityBase + Offsets.m_vecOrigin);
ScreenVector entity2D = WorldToScreen(entityPos.X, entityPos.Y, entityPos.Z);

Vector3 entityHead = GetBonePos(entityBase, 8);
ScreenVector head2D = WorldToScreen(entityHead.X, entityHead.Y, entityHead.Z);
 if(!entity2D.Result || !head2D.Result)
  continue;


Осталось дело за малым. Получить ширину и высоту бокса, нарисовать их, а потом присобачить к ним прогресс бар)
Код:
int h = (int) (head2D.Y - entity2D.Y);
int w = (int) (18500/Vector3.Distance(localPos, entityPos));
int x = (int) (entity2D.X - w/2);
int y = (int) (entity2D.Y);

window.Graphics.DrawRectangle(x, y, w, h, 2, redBrush);
window.Graphics.DrawBarH(x-3, y, 3, h, entityHp, 1, redBrush, yellowBrush);


А на этом все. Такой вот короткий урок). Если какие-то вопросы, то смотрите видос и ставьте +rep. Удачи

 
Пользователь
Статус
Оффлайн
Регистрация
7 Сен 2014
Сообщения
61
Реакции[?]
86
Поинты[?]
0
              ru p2cs > all                      
Разработчик
Статус
Оффлайн
Регистрация
19 Авг 2016
Сообщения
1,579
Реакции[?]
1,963
Поинты[?]
133K
ебануца, это же не DX. вечный выше правильно все сказал. на DX бы это дело ,по моему, лучше выглядело
 
Разработчик
Статус
Оффлайн
Регистрация
31 Мар 2017
Сообщения
79
Реакции[?]
84
Поинты[?]
0
              ru p2cs > all                      
Разработчик
Статус
Оффлайн
Регистрация
19 Авг 2016
Сообщения
1,579
Реакции[?]
1,963
Поинты[?]
133K
Разработчик
Статус
Оффлайн
Регистрация
31 Мар 2017
Сообщения
79
Реакции[?]
84
Поинты[?]
0
ну вот лучше бы не вводил в заблуждение людей и переименовал
Хм. Я щас посмотрел код. Чувак, ты сначала посмотри сурсы а потом говорpи.
Пожалуйста, авторизуйтесь для просмотра ссылки.

 
Никакого отношения к Direct3D эта отрисовка не имеет. Это GDI.
DirectX Graphics Infrastructure (DXGI)
Хм. Никакого. Отношения. Не. Имеет. Ты код посмотри, дурний.
И да. Это не GDI.
 
              ru p2cs > all                      
Разработчик
Статус
Оффлайн
Регистрация
19 Авг 2016
Сообщения
1,579
Реакции[?]
1,963
Поинты[?]
133K
Хм. Я щас посмотрел код. Чувак, ты сначала посмотри сурсы а потом говорpи.
Пожалуйста, авторизуйтесь для просмотра ссылки.

 

DirectX Graphics Infrastructure (DXGI)
Хм. Никакого. Отношения. Не. Имеет. Ты код посмотри, дурний.
И да. Это не GDI.
Зачем так париться и юзать готовые оверлеи, свой сделать мега изи же
 
Разработчик
Статус
Оффлайн
Регистрация
31 Мар 2017
Сообщения
79
Реакции[?]
84
Поинты[?]
0
Зачем так париться и юзать готовые оверлеи, свой сделать мега изи же
Так тема то не в этом. Я просто показывал как сделать боксы. И где здесь запара? Скомпилить и подключить либы?
 
Сверху Снизу