Створюємо чит для cod4esp

Даний урок зроблений для більш досвідчених користувачів. Чим той який я елал для CS.
Всім привіт, в цьому уроці я розповім вам як зробити ESP для CoD'a.

Наступні 2 функції ідеально підходять для знаходження правильного відстані між вами і будь-яким об'єктом:

float VectorLength (const vec3_t v)
<
return (float) sqrt (v # 91; 0 # 93; * v # 91; 0 # 93; + v # 91; 1 # 93; * v # 91; 1 # 93; + v # 91; 2 # 93; * v # 91; 2 # 93; );
>

float GetDistance (const vec3_t p1. const vec3_t p2)
<
vec3_t v;
VectorSubtract (p2. P1. V);
return VectorLength (v);
>

Далі нам необхідні функції WorldToScreen, ну якщо ви звичайно не хочете щоб ваші ESP виглядали як лайно.

bool CEngineClass. WorldToScreen (vec3_t vWorldLocation. Float * fScreenX. Float * fScreenY)
<
float fXZ. fYZ;
int iCenterX. iCenterY;
vec3_t vLocal. vTransForm. vForward. vRight. vUpward;

iCenterX = m_pRefDef -> iWidth / 2;
iCenterY = m_pRefDef -> iHeight / 2;

AngleToVector (m_pRefDef -> vRotation. VForward. VRight. VUpward);
VectorSubtract (vWorldLocation. M_pRefDef -> vOrigin. VLocal);

vTransForm # 91; 0 # 93; = DotProduct (vLocal. VRight);
vTransForm # 91; 1 # 93; = DotProduct (vLocal. VUpward);
vTransForm # 91; 2 # 93; = DotProduct (vLocal. VForward);

if (vTransForm # 91; 2 # 93; <0.01 )
<
return 0;
>

fXZ = iCenterX / vTransForm # 91; 2 # 93; * (90 / (m_pRefDef -> fFOV_X * 100.0f));
fYZ = iCenterY / vTransForm # 91; 2 # 93; * (90 / (m_pRefDef -> fFOV_Y * 100.0f));

* FScreenX = iCenterX + fXZ * vTransForm # 91; 0 # 93 ;;
* FScreenY = iCenterY - fYZ * vTransForm # 91; 1 # 93 ;;

А ось фактичні функції для відображення відстані і ім'я гравця. Ти повинен розділити значення GetDistance на 48, щоб отримати абсолютно точне вимірювання.

void CEngineClass. DrawESP (void)
<
for (unsigned int i = 0; i <
CEntity * pEntity = GetEntityIndex (i);
CClientInfo * pClientInfo = GetClientInfoIndex (i);

if (. IsValidEntity (pEntity))
continue;

float ScreenX. ScreenY. fDistance;
if (WorldToScreen (pEntity -> vOrigin. ScreenX. ScreenY))
<
if (m_pVarClass. bNameTags)
<
if (GetLocalPlayer () -> iTeam! = pClientInfo -> iTeam)
<
m_pVarClass. DeviceClass -> DrawString (m_pFont2. ScreenX + 25. ScreenY - 40. D3DCOLOR_ARGB (255. 255. 255. 0), pClientInfo -> cPlayerName);
>
else
<
m_pVarClass. DeviceClass -> DrawString (m_pFont2. ScreenX + 25. ScreenY - 40. D3DCOLOR_ARGB (255. 50. 205. 50), pClientInfo -> cPlayerName);
>
>
if (m_pVarClass. bDistTags)
<
char cBuf # 91; 1027 # 93 ;;
fDistance = GetDistance (pEntity -> vOrigin. m_pRefDef -> vOrigin) / 48;
sprintf (cBuf. "Dist:% .1f". fDistance);
m_pVarClass. DeviceClass -> DrawString (m_pFont2. ScreenX + 25. ScreenY - 60. ColorWhite. CBuf);
>
>
>
>

MAX_PLAYERS не повинно перевищувати або бути меншою за 64

int CEngineClass. IsValidEntity (CEntity * pEntity)
<
return ((pEntity! = NULL) (PEntity -> iIsAlive) (PEntity -> iIsValidEnt) (M_pCG -> iLocalClient! = PEntity -> iClientNum));
>

Ось і все! Якщо все зроблено правильно ви отримаєте чит з функцією name і distanse ESP
Успіхів!

Повідомлення від FIDANzza [Ви повинні бути зареєстрованим і не заблокованим користувачем для того щоб переглядати посилання зареєструватися можна за цим посиланням]

ЄСП на основі чамсов. вже не тягне з вами бесіду вести)
Коротше, не вийде у тебе ЄСП зробити на поінт Бленк, за допомогою цього коду. Я тобі ще раз кажу, що він на класах гри.

Я після цього написав нижче

Повідомлення від CheatAkdll [Ви повинні бути зареєстрованим і не заблокованим користувачем для того щоб переглядати посилання зареєструватися можна за цим посиланням]

P.S. я сам не понел що написав

І я поки в програмуванні новачок.

Схожі статті