Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

[Source Code] FULL ESP Source Code [Call of Duty Modern Warfare 3]

-

Call of Duty

- Читы и хаки для игр серии Call of Duty

Ответ
 
Опции темы
Старый 25.08.2012, 00:09   #1
Заблокирован
 Разведчик
Аватар для ТрюфеJL
 
ТрюфеJL троюродный дядя Чака НоррисаТрюфеJL троюродный дядя Чака НоррисаТрюфеJL троюродный дядя Чака НоррисаТрюфеJL троюродный дядя Чака НоррисаТрюфеJL троюродный дядя Чака НоррисаТрюфеJL троюродный дядя Чака НоррисаТрюфеJL троюродный дядя Чака НоррисаТрюфеJL троюродный дядя Чака НоррисаТрюфеJL троюродный дядя Чака НоррисаТрюфеJL троюродный дядя Чака НоррисаТрюфеJL троюродный дядя Чака Норриса
Регистрация: 23.12.2011
Сообщений: 42
Популярность: 7480
Золото Zhyk.Ru: 7
Сказал(а) спасибо: 117
Поблагодарили 167 раз(а) в 65 сообщениях
Отправить сообщение для ТрюфеJL с помощью ICQ Отправить сообщение для ТрюфеJL с помощью Skype™
 
По умолчанию [Source Code] FULL ESP Source Code [Call of Duty Modern Warfare 3]

Код грязный.
Если Вы не понимаете - не лезьте.

Structs.h
Код:
#include <Windows.h>
#include <iostream>
#include <math.h>

typedef struct
{
	int Valid;                                       //0x0 (0xAD28F8)
	char _0x0004[0x8];                               //0x4
	char Name[16];                                   //0xC (0xAD2904)
	int Team;                                        //0x1C (0xAD2914)
	char _0x0020[0x4];                               //0x20
	int Rank;                                        //0x24 (0xAD291C)
	char _0x0028[0x10];                              //0x28
	int Perk;                                        //0x38 (0xAD2930)
	char _0x003C[0x8];                               //0x3C
	int Score;                                       //0x44 (0xAD293C)
	char _0x0048[0x458];                             //0x48
	int Attacking;                                   //0x4A0 (0xAD2D98)
	char _0x04A4[0x4];                               //0x4A4
	int Zooming;                                     //0x4A8 (0xAD2DA0)
	char _0x04AC[0xB8];                              //0x4AC
}ClientInfo_T; //[Addr: 0xAD28F8] [Size: 0x564]

typedef struct
{
	char _0x0000[0x8];                               //0x0
	int Width;                                       //0x8 (0xA40438)
	int Height;                                      //0xC (0xA4043C)
	int FovX;                                        //0x10 (0xA40440)
	int FovY;                                        //0x14 (0xA40444)
	float Origin[3];                                  //0x18 (0xA40448)
	float ViewAngles[3][3];                              //0x24 (0xA40454)
	char _0x0048[0x24];                              //0x48
	float ZoomProgress;                              //0x6C (0xA4049C)
	char _0x0070[0x4ABC];                            //0x70
	float RefViewAngleY;                             //0x4B2C (0xA44F5C)
	float RefViewAngleX;                             //0x4B30 (0xA44F60)
	char _0x4B34[0x34];                              //0x4B34
	float WeaponViewAngleX;                          //0x4B68 (0xA44F98)
	float WeaponViewAngleY;                          //0x4B6C (0xA44F9C)
}RefDef; //[Addr: 0xA40430] [Size: 0x4B70]

typedef struct
{
	float Recoil[3];                                   //0x0 (0x1139E48)
	float Origin[3];                                   //0xC (0x1139E54)
	char _0x0018[0x80];                              //0x18
	float ViewAngleY;                                //0x98 (0x1139EE0)
	float ViewAngleX;                                //0x9C (0x1139EE4)
}viewmatrix_t; //[Addr: 0x1139E48] [Size: 0xA0]

typedef struct
{
	char _0x0000[0x2];                               //0x0
	short Valid;                                     //0x2 (0xADE82A)
	char _0x0004[0x10];                              //0x4
	float Origin[3];                                   //0x14 (0xADE83C)
	float Angles[3];                                   //0x20 (0xADE848)
	char _0x002C[0x3C];                              //0x2C
	int Flags;                                       //0x68 (0xADE890)
	char _0x006C[0xC];                               //0x6C
	float OldOrigin[3];                                //0x78 (0xADE8A0)
	char _0x0084[0x18];                              //0x84
	float OldAngles[3];                                //0x9C (0xADE8C4)
	char _0x00A8[0x28];                              //0xA8
	int ClientNumber;                                   //0xD0 (0xADE8F8)
	short Type;                                      //0xD4 (0xADE8FC)
	char _0x00D6[0x12];                              //0xD6
	float NewOrigin[3];                                //0xE8 (0xADE910)
	char _0x00F4[0x1C];                              //0xF4
	float NewAngles[3];                                //0x110 (0xADE938)
	char _0x011C[0x7C];                              //0x11C
	byte WeaponID;                                   //0x198 (0xADE9C0)
	char _0x0199[0x37];                              //0x199
	int IsAlive;                                     //0x1D0 (0xADE9F8)
	char _0x01D4[0x24];                              //0x1D4
}Entity_T; //[Addr: 0xADE828] [Size: 0x1F8]

typedef struct
{
	int ServerTime;                                  //0x0 (0x9D5220)
	int PlayerState;                                 //0x4 (0x9D5224)
	int StaminaTimer;                                //0x8 (0x9D5228)
	unsigned short PlayerStance;                     //0xC (0x9D522C)
	char _0x000E[0x2];                               //0xE
	int IsIngame;                                    //0x10 (0x9D5230)
	char _0x0014[0x4];                               //0x14
	int iVelocity;                                   //0x18 (0x9D5238)
	float Origin[3];                                   //0x1C (0x9D523C)
	float Velocity[3];                                 //0x28 (0x9D5248)
	char _0x0034[0x2C];                              //0x34
	float RefViewAngleY;                             //0x60 (0x9D5280)
	float RefViewAngleX;                             //0x64 (0x9D5284)
	char _0x0068[0xE8];                              //0x68
	int ClientNumber;                                   //0x150 (0x9D5370)
	char _0x0154[0x4];                               //0x154
	float ViewAngleY;                                //0x158 (0x9D5378)
	float ViewAngleX;                                //0x15C (0x9D537C)
	char _0x0160[0x3C];                              //0x160
	int Health;                                      //0x19C (0x9D53BC)
	char _0x01A0[0x1C];                              //0x1A0
	int MaxEntities;                                 //0x1BC (0x9D53DC)
	char _0x01C0[0x44];                              //0x1C0
	int AdvancedUAV;                                 //0x204 (0x9D5424)
}CG_T; //[Addr: 0x9D5220] [Size: 0x205608]

typedef struct
{
	char _0x0000[0x8];                               //0x0
	int Width;                                       //0x8 (0x9D0CA8)
	int Height;                                      //0xC (0x9D0CAC)
	char _0x0010[0x14];                              //0x10
	char GameType[4];                                //0x24 (0x9D0CC4)
	char _0x0028[0x1C];                              //0x28
	char HostName[64];                               //0x44 (0x9D0CE4)
	char _0x0084[0xC4];                              //0x84
	int MaxClients;                                  //0x148 (0x9D0DE8)
	char _0x014C[0x4];                               //0x14C
	char MapName[64];                                //0x150 (0x9D0DF0)
	char _0x0190[0x43F0];                            //0x190
}CGS_T; //[Addr: 0x9D0CA0] [Size: 0x45C0]

enum entity_type_t
{
	ET_GENERAL			= 0,
	ET_PLAYER           = 1,
	ET_PLAYER_CORPSE    = 2,
	ET_ITEM             = 3,
	ET_EXPLOSIVE        = 4,
	ET_INVISIBLE        = 5,
	ET_SCRIPTMOVER      = 6,
	ET_SOUND_BLEND      = 7,
	ET_FX               = 8,
	ET_LOOP_FX          = 9,
	ET_PRIMARY_LIGHT    = 10,
	ET_TURRET           = 11,
	ET_HELICOPTER       = 12,
	ET_PLANE            = 13,
	ET_VEHICLE          = 14,
	ET_VEHICLE_COLLMAP  = 15,
	ET_VEHICLE_CORPSE   = 16,
	ET_VEHICLE_SPAWNER  = 17
};  


#define FLAGS_CROUCHED 0x0004
#define FLAGS_PRONE	0x0008
#define FLAGS_FIRING	0x0200 


#define REFDEF 0x00A414B0
#define CG 0x009D62A0
#define CGS 0x009D1D20
#define ENTITY 0x00ADF8C0
#define CLIENTINFO 0x00AD3978
#define VIEWMATRIX 0x0113AE9C
#define ISINGAME 0x009D62B0
#define PLAYERMAX 18
#define ENTITIESMAX 2048

#define NORECOIL_ADDRESS 0x572DC9

#define FONT_SMALL_DEV    "fonts/smallDevFont"
#define FONT_BIG_DEV    "fonts/bigDevFont"
#define FONT_CONSOLE    "fonts/consoleFont"
#define FONT_BIG        "fonts/bigFont"
#define FONT_SMALL        "fonts/smallFont"
#define FONT_BOLD        "fonts/boldFont"
#define FONT_NORMAL        "fonts/normalFont"
#define FONT_EXTRA_BIG    "fonts/extraBigFont"
#define FONT_OBJECTIVE    "fonts/objectiveFont" 

typedef float vec_t;
typedef vec_t vec4_t[4];

class CScreenMatrix
{
public:
	char _0x0000[64];
};

char* Bones[20] = {
/*Head*/          "j_helmet"     , "j_head"            , "j_neck" 
/*Arms*/        , "j_shoulder_le", "j_shoulder_ri"  , "j_elbow_le"     , "j_elbow_ri", "j_wrist_le", "j_wrist_ri", "j_gun"
/*Back*/        , "j_mainroot"   , "j_spineupper"   , "j_spinelower" , "j_spine4" 
/*Legs*/        , "j_hip_ri"     , "j_hip_le"       , "j_knee_le"    , "j_knee_ri" , "j_ankle_ri", "j_ankle_le"};

class w2s_t
{
public:
char unknown[0xDC];
};

class trace_t
{
public:
    float Fraction;
	char _0x0004[0x60];
};

//TYPEDEFS
typedef void* ( * tRegisterFont )( char* szName );
typedef int ( * tDrawEngineText )( char* Text, int NumOfChars, void* Font, float X, float Y, float scaleX, float scaleY, float unk1, float* Color, int unk2 );
typedef void (__cdecl* tUiShowList) (int a1, int a2, int a3, int a4);
typedef int(*R_RegisterShader)(char *ShaderName);
typedef CScreenMatrix* ( __cdecl* tGetScreenMatrix )();
typedef int ( __cdecl* tDrawRotatedPic )( CScreenMatrix* ptr, float x, float y, float w, float h, float angle, float* color, int shader);
typedef void ( __cdecl *CG_Trace_t)( trace_t *tr,float start[3],float NullVec[3],float endpos[3],int Skip, int mask);
typedef int(*R_RegisterTag)(char *szName);
typedef bool (*World2Screen_)(int unknown, w2s_t* w2scalc, float vPoint[3], float Screen[2]);
typedef w2s_t *(*Getw2s_t)();
typedef int(*CG_StrWidth)(char *szText,int a2,void *lpFont,int a4);

vec4_t WHITE = {1.0f, 1.0f, 1.0f, 1.0f};
vec4_t BLACK = {0   , 0   , 0   , 1.0f};
vec4_t RED   = {1.0f, 0   , 0   , 1.0f};
vec4_t GREEN = {0   , 1.0f, 0   , 1.0f};
vec4_t BLUE  = {0   , 0   , 1.0f, 1.0f};
int shader;

tRegisterFont RegisterFont_ = ( tRegisterFont )0x53C340;
tDrawEngineText DrawEngineText_ = ( tDrawEngineText )0x4635C0;
R_RegisterShader RegisterShader_ = ( R_RegisterShader )0x456100;
tGetScreenMatrix GetScreenMatrix = ( tGetScreenMatrix )0x5561C0;
tDrawRotatedPic DrawRotatedPic_ = ( tDrawRotatedPic )0x4E55C0;
CG_Trace_t CG_Trace=(CG_Trace_t)0x4A82D0;
R_RegisterTag GetTagByName = (R_RegisterTag)0x00488EF0;
World2Screen_ w2s = (World2Screen_)0x546D70;
Getw2s_t GetCalc = (Getw2s_t)0x5561C0;
CG_StrWidth tStrWidth = (CG_StrWidth)0x4043F0;


RefDef_T* RefDef;
CG_T* Cg;
ClientInfo_T* Clients[PLAYERMAX];
Entity_T* Entities[ENTITIESMAX];
CGS_T* Cgs;
static bool bInitialize;
int* IsInGame;
void pFont;
int MyTeam;

tUiShowList UiShowList = NULL;

DWORD OFFuiShowList = 0x65E1D0;
DWORD OFFDraw2D = 0x471740;
DWORD OFFSGetTagPos = 0x58B440; 


bool GetTagPos(Entity_T *pEnt,char *szTag,float flOut[3])
{
	WORD wTag = GetTagByName(szTag);
	if(!wTag) 
		return false;

	DWORD dwCall=OFFSGetTagPos;
	__asm
	{
		MOV ESI,pEnt;
		MOVZX EDI,wTag;
		PUSH flOut;
		CALL dwCall;
		ADD ESP,0x4
	}
	return true;
}

bool bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
        for(;*szMask;++szMask,++pData,++bMask)
                if(*szMask=='x' && *pData!=*bMask)
                        return 0;
        return (*szMask) == NULL;
}

DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
{
        for(DWORD i=0; i<dwLen; i++)
                if (bCompare((BYTE*)(dwAddress+i),bMask,szMask))
                        return (DWORD)(dwAddress+i);
        return 0;
}

void MakeJMP( BYTE *pAddress, DWORD dwJumpTo, DWORD dwLen )
{
    DWORD dwOldProtect, dwBkup, dwRelAddr;
    
    VirtualProtect(pAddress, dwLen, PAGE_EXECUTE_READWRITE, &dwOldProtect);
    dwRelAddr = (DWORD) (dwJumpTo - (DWORD) pAddress) - 5;
    *pAddress = 0xE9;
    
    *((DWORD *)(pAddress + 0x1)) = dwRelAddr;
    for(DWORD x = 0x5; x < dwLen; x++) *(pAddress + x) = 0x90;
    VirtualProtect(pAddress, dwLen, dwOldProtect, &dwBkup);
    
    return;
}

void *DetourFunction (BYTE *src, const BYTE *dst, const int len)
{
        BYTE *jmp = (BYTE*)malloc(len+5);
        DWORD dwBack;

        VirtualProtect(src, len, PAGE_EXECUTE_READWRITE, &dwBack);
        memcpy(jmp, src, len);
        jmp += len;
        jmp[0] = 0xE9;
        *(DWORD*)(jmp+1) = (DWORD)(src+len - jmp) - 5;
        src[0] = 0xE9;
        *(DWORD*)(src+1) = (DWORD)(dst - src) - 5;
        for (int i=5; i<len; i++)  
			src[i]=0x90;
        VirtualProtect(src, len, dwBack, &dwBack);
        return (jmp-len);
}
DllMain.cpp
Код:
{
	char szBuf[300] = "";
	va_list valist;

	va_start(valist,szString);
	_vsnprintf_s(szBuf,sizeof(szBuf),szString,valist);
	va_end(valist);

	return tStrWidth(szBuf,0,pFont,0);
}
void DrawText(bool center, float x, float y, void* pFont, float* color, const char *Text, ... )
{
	char buf[300] = "";
	va_list va_alist;
	va_start( va_alist, Text );
	vsnprintf( buf, sizeof( buf ), Text, va_alist );
	va_end( va_alist );
	if(!center)
		DrawEngineText_( buf, 0x7FFFFFFF, pFont, x, y, 1.0f, 1.0f, 0.0f, color, 0 );
	else
		DrawEngineText_( buf, 0x7FFFFFFF, pFont, x - StrWidth(buf)/2, y, 1.0f, 1.0f, 0.0f, color, 0 );
}

int DrawLine1(int x1, int y1, int x2, int y2, float* color, int shader){
	CScreenMatrix* ptr = GetScreenMatrix();

	float x,y,angle,l1,l2,h1;
    h1=y2-y1;
    l1=x2-x1;
    l2=sqrt(l1 * l1 + h1 * h1);
    x=x1+((l1-l2)/2);
    y=y1+(h1/2);
    angle=atan(h1/l1)* (180 / 3.14159265358979323846) ;
    return DrawRotatedPic_(ptr,x,y,l2,1.5,angle,color, shader);
}

int DrawLine2(int x1, int y1, int x2, int y2, float* color, int shader){
	CScreenMatrix* ptr = GetScreenMatrix();

	float x,y,angle,l1,l2,h1;
    h1=y2-y1;
    l1=x2-x1;
    l2=sqrt(l1 * l1 + h1 * h1);
    x=x1+((l1-l2)/2);
    y=y1+(h1/2);
    angle=atan(h1/l1)* (180 / 3.14159265358979323846) ;
    return DrawRotatedPic_(ptr,x,y,l2,1,angle,color, shader);
}


void MakeESPLine(float center[3], float x1, float y1, float z1, float x2, float y2, float z2, vec4_t color)
{
	float pointPos1[3] = {center[0] + x1, center[1] + y1, center[2] + z1};
	float pointPos2[3] = {center[0] + x2, center[1] + y2, center[2] + z2};
	float xy1[2], xy2[2];
	w2s_t * calc;
	calc = GetCalc();
	if (w2s(0, calc,pointPos1, xy1) && w2s(0,calc,pointPos2, xy2))
		DrawLine2(xy1[0], xy1[1], xy2[0], xy2[1], color, shader);
}

void Make3DBox(float center[3], float w, float h, vec4_t color)
{
	//bottom
	MakeESPLine(center, -w, -w, 0, w, -w, 0, color);
	MakeESPLine(center, -w, -w, 0, -w, w, 0, color);
	MakeESPLine(center, w, w, 0, w, -w, 0, color);
	MakeESPLine(center, w, w, 0, -w, w, 0, color);

	//middle
	MakeESPLine(center, -w, -w, 0, -w, -w, h, color);
	MakeESPLine(center, -w, w, 0, -w, w, h, color);
	MakeESPLine(center, w, -w, 0, w, -w, h, color);
	MakeESPLine(center, w, w, 0, w, w, h, color);

	//top
	MakeESPLine(center, -w, -w, h, w, -w, h, color);
	MakeESPLine(center, -w, -w, h, -w, w, h, color);
	MakeESPLine(center, w, w, h, w, -w, h, color);
	MakeESPLine(center, w, w, h, -w, w, h, color);
}

void ReadGame(){
	IsInGame = (int*)ISINGAME;
	RefDef = (RefDef_T*)REFDEF;
	Cg = (CG_T*)CG;
	Cgs = (CGS_T*)CGS;
	for(int i = 0; i < ENTITIESMAX; i++)
		Entities[i] = (Entity_T*)(ENTITY + ((int)0x1F8 * i));
	for(int i = 0; i < PLAYERMAX; i++)
		Clients[i] = (ClientInfo_T*)(CLIENTINFO + ((int)0x564 * i));

	for(int i = 0; i < PLAYERMAX; i++)
		{
			if (Cg->ClientNumber == Entities[i]->ClientNumber) {
				MyTeam = Clients[i]->Team;
				break;
			}
		}
}

#define MenuItems 5
int MenuSelectedIndex = 0;
bool Toogles[MenuItems] = { true, true, true, true, true};
char* Labels[MenuItems] = {"Bones", "Names", "Distance","3D Boxes", "No-Recoil"};
bool IsMenuOn = true;
int MenuOffset[2] = {30,125};
void Toggles(){
	if((GetAsyncKeyState(VK_INSERT) & 0x1))
		IsMenuOn = !IsMenuOn;
	if(IsMenuOn){
		if((GetAsyncKeyState(VK_DOWN) & 0x1) && MenuSelectedIndex < MenuItems-1)
			MenuSelectedIndex++;
		if((GetAsyncKeyState(VK_UP) & 0x1) && MenuSelectedIndex > 0)
			MenuSelectedIndex--;
		if((GetAsyncKeyState(VK_RIGHT) & 0x1) || (GetAsyncKeyState(VK_LEFT) & 0x1))
			Toogles[MenuSelectedIndex] = !Toogles[MenuSelectedIndex];
	}
}

float BackColor[4] = {0,0,0,0.6f};
void DrawMenu(){
	if(IsMenuOn){
		CScreenMatrix* ptr = GetScreenMatrix();
		DrawRotatedPic_(ptr, MenuOffset[0]-25, MenuOffset[1]-30, 165, MenuItems * 20, 0, BackColor, shader);
		DrawText(false,(float)MenuOffset[0] - 20, (float)MenuOffset[1] -15, pFont, RED, "Press INSERT to Close");
		for(int i = 0; i< MenuItems; i++){
			if(i == MenuSelectedIndex){
				DrawText(false,(float)MenuOffset[0], (float)MenuOffset[1] + i*15, pFont, GREEN, "%s", Labels[i]);
				DrawText(false,(float)MenuOffset[0] + 100, (float)MenuOffset[1] + i*15, pFont, GREEN, "%d", Toogles[i]);
			}
			else{
				DrawText(false,(float)MenuOffset[0], (float)MenuOffset[1] + i*15, pFont, WHITE, "%s", Labels[i]);
				DrawText(false,(float)MenuOffset[0] + 100, (float)MenuOffset[1] + i*15, pFont, WHITE, "%d", Toogles[i]);
			}
			
		}
	}
}

bool CanBeKilled(float Point[3])
{
	trace_t trace;
	float nullvec[3] = {0.f, 0.f, 0.f};
	CG_Trace(&trace,RefDef->Origin, Point, nullvec,Cg->ClientNumber, 0x803003);
	return (trace.Fraction>=1.0f);
}

float PegarDistancia( float A[3], float B[3] )
{
	float dx = A[0] - B[0];
	float dy = A[1] - B[1];
	float dz = A[2] - B[2];

	return (float)sqrt( ( dx * dx ) + ( dy * dy ) + ( dz * dz ) ) * 0.03048f;
}
float GetBoxWidth(Entity_T *ent){
	if(ent->Flags & FLAGS_PRONE)
		return 60;
	else return 17;
}
float GetBoxHeight(Entity_T *ent){
	if(ent->Flags & FLAGS_PRONE)
		return 17;
	else if(ent->Flags & FLAGS_CROUCHED)
		return 40;
	else return 60;
}

float BonePos[20][3];
float BonePos2[20][3];
void ESP(){
	float Screen[2];
	float Origin[3];
	char* cor = "^1";
	w2s_t * calc;
	for(int i = 0; i < ENTITIESMAX; i++)
	{
		if (Entities[i]->Type != ET_PLAYER)
			continue;
		if ((i < PLAYERMAX) && (Entities[i]->Type == ET_PLAYER) && Entities[i]->Valid && (Entities[i]->IsAlive & 1) && !(Cg->ClientNumber == Entities[i]->ClientNumber))
		{
			calc = GetCalc();
			cor = "^1";
			for(int j = 0;j < 20;j++){
				GetTagPos(Entities[i], Bones[j], BonePos[j]);	
				if (w2s(0, calc, BonePos[j], Screen))
				{
					if(j==0 && CanBeKilled(Entities[i]->Origin)){
						cor = "^3";
					}
					if (((Clients[i]->Team == 1) || (Clients[i]->Team == 2)) && (Clients[i]->Team == MyTeam)){
						if(Toogles[0])DrawText(false,Screen[0], Screen[1],pFont, RED, "^2.");
						if(j == 0){
							if(Toogles[1])
								DrawText(true,Screen[0], Screen[1]-10,pFont, WHITE, "^7[^2%s^7]", Clients[i]->Name);
							if(Toogles[2])
								DrawText(true,Screen[0], Screen[1]-20,pFont, RED, "^7[^2%.2f^7]", PegarDistancia(RefDef->Origin, Entities[i]->Origin));
						}
					}
					else{
						if(Toogles[0])DrawText(false,Screen[0], Screen[1],pFont, RED, "%s.", cor);
						if(j == 0){
							if(Toogles[1])
								DrawText(true,Screen[0], Screen[1]-10,pFont, WHITE, "^7[%s%s^7]",cor, Clients[i]->Name);
							if(Toogles[2])
								DrawText(true,Screen[0], Screen[1]-20,pFont, RED, "^7[^2%.2f^7]", PegarDistancia(RefDef->Origin, Entities[i]->Origin));
							if(Toogles[3])
								 Make3DBox(BonePos[j], GetBoxWidth(Entities[i]), -GetBoxHeight(Entities[i]), RED);
						}
					}
				}
			}
		}	
	}
}

void Crosshair(){
	DrawLine1(RefDef->Width/2 - 20, RefDef->Height/2, RefDef->Width/2 - 10, RefDef->Height/2, RED, shader);
	DrawLine1(RefDef->Width/2 + 20, RefDef->Height/2, RefDef->Width/2 + 10, RefDef->Height/2, RED, shader);
	DrawLine1(RefDef->Width/2, RefDef->Height/2 - 20, RefDef->Width/2, RefDef->Height/2 - 10, RED, shader);
	DrawLine1(RefDef->Width/2, RefDef->Height/2 + 20, RefDef->Width/2, RefDef->Height/2 + 10, RED, shader);
}

void NoRecoilOn(){
	unsigned long *fireRecoil = (unsigned long*)NORECOIL_ADDRESS;
	unsigned char patch[5] = {0x90,0x90,0x90,0x90,0x90};
	unsigned long orig1;
	VirtualProtect((void*)fireRecoil, sizeof(patch), PAGE_EXECUTE_READWRITE, &orig1);
		memcpy((void*)fireRecoil, &patch, sizeof(patch));
	VirtualProtect((void*)fireRecoil, sizeof(patch), orig1, &orig1);	
}

void NoRecoilOff(){
	unsigned long *fireRecoil = (unsigned long*)NORECOIL_ADDRESS;
	unsigned char patch[5] = {0xE8, 0xE2, 0x61, 0xF2, 0xFF};
	unsigned long orig1;
	VirtualProtect((void*)fireRecoil, sizeof(patch), PAGE_EXECUTE_READWRITE, &orig1);
		memcpy((void*)fireRecoil, &patch, sizeof(patch));
	VirtualProtect((void*)fireRecoil, sizeof(patch), orig1, &orig1);	
}

void Func()
{
	if( !bInitialize )
    {
        pFont = RegisterFont_( FONT_SMALL_DEV );
		shader = RegisterShader_("white");
        bInitialize = true;
    }
	ReadGame();
	Toggles();
	DrawMenu();
	if(*IsInGame != 0){
		if(Toogles[0] || Toogles[1] || Toogles[2] || Toogles[3])ESP();
		Crosshair();
		if(Toogles[4])NoRecoilOn();
		else NoRecoilOff();
	}
}

void UI_ShowList(int a1, int a2, int a3, int a4)
{
	__asm PUSHAD;
	Func();
	__asm POPAD;
	UiShowList(a1, a2,a3,a4);
}

BOOL WINAPI DllMain( HMODULE hMod, DWORD dwReason, LPVOID lpReserved )
{
    if( dwReason == DLL_PROCESS_ATTACH )
    {
        UiShowList = (tUiShowList) DetourFunction( (PBYTE)OFFuiShowList, (PBYTE)&UI_ShowList ,5);
    }

    else if( dwReason == DLL_PROCESS_DETACH )
    {
       //Nothing to do here?
    }

    return TRUE;
}
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Продам] Steam Acc with Call of Duty: Black Ops,Call of Duty: Modern Warfare 2, Left 4 Dead 2 dlmok Steam, Origin, Uplay и другие системы 1 11.02.2011 22:39

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 18:18.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net