SpecialForce PH D3D Hack

Posts 111 of 11 · Page 1 of 1
SpecialForce PH D3D Hack
SpecialForce DFI D3D Hack Source

Features:
Player Chams // still missing addons & zombies
Weapon Chams
Crosshair
Asus
Naked
FullBright

Hotkey: Numpad 1-Crosshair; 2- Chams; 3- Fullbright; 4-Asus; 5-Naked; 6-Weapon Chams
Code:
//==============================================================================
// CMain.cpp
//==============================================================================

#include "CTools.h"
#include "CMain.h"

#pragma comment(lib, "d3dx9.lib")
#pragma comment(lib, "d3d9.lib")

//==============================================================================

LPDIRECT3DTEXTURE9 Red,Green;
float CenterX = 0.0f;
float CenterY = 0.0f;
BOOL NaKed = TRUE;

BOOL DrawIndexedPrimitive_Check = FALSE;
DWORD DrawIndexedPrimitive_Hook, DrawIndexedPrimitive_Jump;
BOOL DrawIndexedPrimitive_CheckPtr = FALSE;

VOID WINAPI DrawIndexedPrimitive_Breakpoint();
LONG WINAPI DrawIndexedPrimitive_Exception(EXCEPTION_POINTERS* ExceptionInfo);

HRESULT (WINAPI* DrawIndexedPrimitive_Pointer)(LPDIRECT3DDEVICE9,D3DPRIMITIVETYPE,INT,UINT,UINT,UINT,UINT);

//==============================================================================

VOID WINAPI DrawIndexedPrimitive_Main(LPDIRECT3DDEVICE9 pDevice,D3DPRIMITIVETYPE Type,INT BaseVertexIndex,UINT MinIndex,UINT NumVertices,UINT StartIndex,UINT PrimitiveCount)
{
	LPDIRECT3DVERTEXBUFFER9 Stream;
	UINT Stride;
	UINT Offset;

	if ( pDevice->GetStreamSource(0,&Stream,&Offset,&Stride) == D3D_OK )
	{
		Stream->Release();
	}

	DrawIndexedPrimitive_CheckPtr = TRUE;

        if(!Tools.DrawTexture)
        {
		Tools.GenerateTexture(pDevice,&Green,D3DCOLOR_ARGB(255,0,255,0));
		Tools.GenerateTexture(pDevice,&Red,D3DCOLOR_ARGB(255,255,0,0));
		Tools.DrawTexture = true;
	}
	
        if(GetAsyncKeyState(VK_NUMPAD6)&1) Tools.DrawWeap=!Tools.DrawWeap;
        if(GetAsyncKeyState(VK_NUMPAD5)&1) NaKed=!NaKed;
	if(GetAsyncKeyState(VK_NUMPAD4)&1) Tools.Asus=!Tools.Asus;
	if(GetAsyncKeyState(VK_NUMPAD3)&1) Tools.FullBright=!Tools.FullBright;
	if(GetAsyncKeyState(VK_NUMPAD2)&1) Tools.DrawChams=!Tools.DrawChams;
	if(GetAsyncKeyState(VK_NUMPAD1)&1) Tools.DrawCrosshair=!Tools.DrawCrosshair;

	pDevice->GetViewport(&Tools.pViewport);
	CenterX = (float)Tools.pViewport.Width / 2;
	CenterY = (float)Tools.pViewport.Height / 2;

	if(Tools.DrawCrosshair)
        {
		D3DRECT rec1 = {CenterX-8, CenterY, CenterX+ 8+1, CenterY+1};
		D3DRECT rec2 = {CenterX, CenterY-8, CenterX+ 1, CenterY+8+1};  
		pDevice->Clear( 1, &rec1, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255,0,255,255), 0,  0 );
		pDevice->Clear( 1, &rec2, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255,0,255,255), 0,  0 );

		D3DRECT rec3 = {CenterX-2, CenterY, CenterX+ 2+1, CenterY+1};
		D3DRECT rec4 = {CenterX, CenterY-2, CenterX+ 1, CenterY+2+1};  
		pDevice->Clear( 1, &rec3, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255,255,0,0), 0,  0 );
		pDevice->Clear( 1, &rec4, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255,255,0,0), 0,  0 );
	}

	if(Tools.DrawChams)
        {
		if(UcCodez)
		{
			pDevice->SetRenderState(D3DRS_ZENABLE,FALSE);
			if (NaKed)  pDevice->SetTexture( 0, Red );
			DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
			if (NaKed)  pDevice->SetTexture( 0, Green );
			pDevice->SetRenderState(D3DRS_ZENABLE,TRUE);
		}
	}

        if(Tools.DrawWeap)
        {
                if(UcWeapon)
                {
                        pDevice->SetRenderState(D3DRS_ZENABLE,FALSE);
			if (NaKed)  pDevice->SetTexture( 0, Red );
			DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
			if (NaKed)  pDevice->SetTexture( 0, Green );
			pDevice->SetRenderState(D3DRS_ZENABLE,TRUE);
                }
        }

	if(Tools.FullBright)
        {
		if(Stride == 40) pDevice->SetRenderState(D3DRS_LIGHTING, false);
	}

	if(!Tools.FullBright)
        {
		if(Stride == 40) pDevice->SetRenderState(D3DRS_LIGHTING, true);
	}

	if(Tools.Asus)
        {
		if(Stride == 40)
                {
			pDevice->SetRenderState( D3DRS_SRCBLEND, 2 );
			pDevice->SetRenderState( D3DRS_DESTBLEND, 3 );
			pDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, true );
		}
	}

	if(!Tools.Asus)
        {
		if(Stride == 40)
                {
			pDevice->SetRenderState( D3DRS_SRCBLEND, 0 );
			pDevice->SetRenderState( D3DRS_DESTBLEND, 0 );
			pDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, false );
		}
	}

	DrawIndexedPrimitive_CheckPtr = FALSE;
}

//==============================================================================

__declspec(naked)VOID WINAPI DrawIndexedPrimitive_Call()
{
	if ( !DrawIndexedPrimitive_Check )
        {
		DrawIndexedPrimitive_Breakpoint();
		DrawIndexedPrimitive_Check = true;
	}

	if ( Tools.CheckWindowsVersion(6,1,VER_NT_WORKSTATION) || Tools.CheckWindowsVersion(6,0,VER_NT_WORKSTATION) )
        {
		__asm
		{
			MOV EDI,DWORD PTR SS:[EBP+0x8] // --- Vista and 7
			XOR EBX,EBX						
			CMP EDI,EBX
			PUSHFD 
			PUSHAD
			JMP UCFORUM
		}
	}

	if ( Tools.CheckWindowsVersion(5,1,VER_NT_WORKSTATION) || Tools.CheckWindowsVersion(5,2,VER_NT_WORKSTATION) )
        {
		__asm
		{
			PUSH EBX // --- XP
			PUSH ESI
			MOV ESI,dword ptr ss:[ebp+8]
			PUSHFD 
			PUSHAD
			JMP UCFORUM
		}
	}

	__asm
        {
		UCFORUM:
     	        MOV EDX,[DrawIndexedPrimitive_CheckPtr]
		CMP EDX,0x0
		JG Jump
		PUSH [EBP+0x20]
		PUSH [EBP+0x1C]
		PUSH [EBP+0x18]
		PUSH [EBP+0x14]
		PUSH [EBP+0x10]
		PUSH [EBP+0xC]
		PUSH [EBP+0x8]
	        CALL [DrawIndexedPrimitive_Main]
		Jump:
                POPAD
                POPFD
		CMP EDI,EBX
		JMP [DrawIndexedPrimitive_Jump]
         }
}

//==============================================================================

LONG WINAPI DrawIndexedPrimitive_Exception(EXCEPTION_POINTERS* ExceptionInfo)
{
	if ( ExceptionInfo->ExceptionRecord->ExceptionCode == EXCEPTION_SINGLE_STEP && (DWORD)ExceptionInfo->ExceptionRecord->ExceptionAddress == DrawIndexedPrimitive_Hook )
        {
		ExceptionInfo->ContextRecord->Eip = (DWORD)DrawIndexedPrimitive_Call;
		return ( EXCEPTION_CONTINUE_EXECUTION );
	} 
	return ( EXCEPTION_CONTINUE_SEARCH );
}

//==============================================================================

VOID WINAPI DrawIndexedPrimitive_Breakpoint()
{
	AddVectoredExceptionHandler((rand()%0xFFFFFF),DrawIndexedPrimitive_Exception); 
	CONTEXT Context = {CONTEXT_DEBUG_REGISTERS};
	Context.Dr0 = DrawIndexedPrimitive_Hook;
	Context.Dr7 = 0x1;
	SetThreadContext(GetCurrentThread(),&Context);
}

//==============================================================================

VOID WINAPI UcCoder()
{
	PDWORD dwD3DVTable;

	do
	{
		*(DWORD*)&dwD3DVTable = *(DWORD*)Tools.D3D9VTable();
	}
	while ( !dwD3DVTable );

	if ( Tools.CheckWindowsVersion(6,1,VER_NT_WORKSTATION) || Tools.CheckWindowsVersion(6,0,VER_NT_WORKSTATION) )
	{
	        DrawIndexedPrimitive_Hook = ( dwD3DVTable[82] + 0x2D );
	        DrawIndexedPrimitive_Jump = ( DrawIndexedPrimitive_Hook + 0x7 );
	        *(PDWORD)(&DrawIndexedPrimitive_Pointer) = (DWORD)dwD3DVTable[82];
		Tools.DetourCreate((BYTE*)DrawIndexedPrimitive_Hook,(BYTE*)DrawIndexedPrimitive_Call,5);
	}
	else if( Tools.CheckWindowsVersion(5,1,VER_NT_WORKSTATION) || Tools.CheckWindowsVersion(5,2,VER_NT_WORKSTATION) )
	{
		DrawIndexedPrimitive_Hook = ( dwD3DVTable[82] + 0x1D );
	        DrawIndexedPrimitive_Jump = ( DrawIndexedPrimitive_Hook + 0x5 );
	        *(PDWORD)(&DrawIndexedPrimitive_Pointer) = (DWORD)dwD3DVTable[82];
		Tools.DetourCreate((BYTE*)DrawIndexedPrimitive_Hook,(BYTE*)DrawIndexedPrimitive_Call,5);
	}
	else 
	{
		MessageBoxA(GetActiveWindow()," Uc-Codez: Your System IsN't Supported","Error",MB_OK);
		ExitProcess(0);
	}
}

//==============================================================================

BOOL WINAPI DllMain(HMODULE hModule,DWORD dwReason,LPVOID lpReserved)
{
	UNREFERENCED_PARAMETER(lpReserved);
	if ( dwReason == DLL_PROCESS_ATTACH )
	{
		CreateThread(0,0,(LPTHREAD_START_ROUTINE)UcCoder0,0,0);
MessageBoxA(NULL,"Hack Injected","UC-CoderX",MB_OK);
	}
	return ( TRUE );
}

//=============================================================================
Code:
//==============================================================================
// CMain.h
//==============================================================================

#define UcCodez ((SSD1||SSD2||SSD3||SSD4||SSD5||SSD6||SSD7||SSD8||SSD9||PSU1||PSU2||PSU3||PSU4||PSU5||PSU6||PSU7||PSU8||PSU9||Mulan1||Mulan2||Mulan3||Mulan4||Mulan5||Mulan6||Mulan7||Mulan8||Mulan9||ForceRecon1||ForceRecon2||ForceRecon3||ForceRecon4||ForceRecon5||ForceRecon6||ForceRecon7||ForceRecon8||ForceRecon9||SRG1||SRG2||SRG3||SRG4||SRG5||SRG6||SRG7||SRG8||SRG9||KSF1||KSF2||KSF3||KSF4||KSF5||KSF6||KSF7||KSF8||KSF9||SAS1||SAS2||SAS3||SAS4||SAS5||SAS6||SAS7||SAS8||ROKMC1||ROKMC2||ROKMC3||ROKMC4||ROKMC5||ROKMC6||GSG91||GSG92||GSG93||GSG94||GSG95||GSG96||GSG97||GSG98||GSG99||GIGN1||GIGN2||GIGN3||GIGN4||GIGN5||GIGN6||Delta||Spetsnaz1||Spetsnaz2||Spetsnaz3||Spetsnaz4||Spetsnaz5||Spetsnaz6||PASKAL1||PASKAL2||PASKAL3||RISA1||RISA2||RISA3||BlackDevil1||BlackDevil2||BlackDevil3||BlackDevil4||BlackDevil5))

//----- SSD Character
#define SSD1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==130) && (StartIndex==0) && (PrimitiveCount==213))
#define SSD2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==130) && (NumVertices==100) && (StartIndex==639) && (PrimitiveCount==146))
#define SSD3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==230) && (NumVertices==113) && (StartIndex==1077) && (PrimitiveCount==168))
#define SSD4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==343) && (NumVertices==525) && (StartIndex==1581) && (PrimitiveCount==716))
#define SSD5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==868) && (NumVertices==130) && (StartIndex==3729) && (PrimitiveCount==213))
#define SSD6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==998) && (NumVertices==100) && (StartIndex==4368) && (PrimitiveCount==146))
#define SSD7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1098) && (NumVertices==113) && (StartIndex==4806) && (PrimitiveCount==168))
#define SSD8 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1211) && (NumVertices==260) && (StartIndex==5310) && (PrimitiveCount==394))
#define SSD9 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1471) && (NumVertices==591) && (StartIndex==6492) && (PrimitiveCount==948))
//----- End SSD Character

//----- PSU Character
#define PSU1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==87) && (StartIndex==0) && (PrimitiveCount==139))
#define PSU2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==87) && (NumVertices==79) && (StartIndex==417) && (PrimitiveCount==105))
#define PSU3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==166) && (NumVertices==126) && (StartIndex==732) && (PrimitiveCount==172))
#define PSU4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==292) && (NumVertices==555) && (StartIndex==1248) && (PrimitiveCount==740))
#define PSU5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==847) && (NumVertices==87) && (StartIndex==3468) && (PrimitiveCount==139))
#define PSU6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==934) && (NumVertices==79) && (StartIndex==3885) && (PrimitiveCount==105))
#define PSU7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1013) && (NumVertices==126) && (StartIndex==4200) && (PrimitiveCount==172))
#define PSU8 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1139) && (NumVertices==499) && (StartIndex==4716) && (PrimitiveCount==624))
#define PSU9 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1638) && (NumVertices==523) && (StartIndex==6588) && (PrimitiveCount==846))
//----- End PSU Character

//----- Mulan Character
#define Mulan1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==90) && (StartIndex==0) && (PrimitiveCount==146))
#define Mulan2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==90) && (NumVertices==118) && (StartIndex==438) && (PrimitiveCount==126))
#define Mulan3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==208) && (NumVertices==121) && (StartIndex==816) && (PrimitiveCount==180))
#define Mulan4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==329) && (NumVertices==299) && (StartIndex==1356) && (PrimitiveCount==452))
#define Mulan5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==628) && (NumVertices==90) && (StartIndex==2712) && (PrimitiveCount==146))
#define Mulan6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==718) && (NumVertices==124) && (StartIndex==3150) && (PrimitiveCount==126))
#define Mulan7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==842) && (NumVertices==121) && (StartIndex==3528) && (PrimitiveCount==180))
#define Mulan8 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==963) && (NumVertices==295) && (StartIndex==4068) && (PrimitiveCount==482))
#define Mulan9 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1258) && (NumVertices==474) && (StartIndex==5514) && (PrimitiveCount==728))
//----- End Mulan Character

//----- ForceRecon Character
#define ForceRecon1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==83) && (StartIndex==0) && (PrimitiveCount==137))
#define ForceRecon2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==83) && (NumVertices==79) && (StartIndex==411) && (PrimitiveCount==105))
#define ForceRecon3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==162) && (NumVertices==142) && (StartIndex==726) && (PrimitiveCount==174))
#define ForceRecon4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==304) && (NumVertices==278) && (StartIndex==1248) && (PrimitiveCount==462))
#define ForceRecon5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==582) && (NumVertices==83) && (StartIndex==2634) && (PrimitiveCount==137))
#define ForceRecon6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==665) && (NumVertices==79) && (StartIndex==3045) && (PrimitiveCount==105))
#define ForceRecon7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==744) && (NumVertices==142) && (StartIndex==3360) && (PrimitiveCount==174))
#define ForceRecon8 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==886) && (NumVertices==263) && (StartIndex==3882) && (PrimitiveCount==290))
#define ForceRecon9 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1149) && (NumVertices==316) && (StartIndex==4752) && (PrimitiveCount==556))
//----- End ForceRecon Character

//----- SRG Character
#define SRG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==159) && (StartIndex==0) && (PrimitiveCount==200))
#define SRG2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==159) && (NumVertices==100) && (StartIndex==600) && (PrimitiveCount==121))
#define SRG3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==259) && (NumVertices==132) && (StartIndex==963) && (PrimitiveCount==180))
#define SRG4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==391) && (NumVertices==338) && (StartIndex==1503) && (PrimitiveCount==534))
#define SRG5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==729) && (NumVertices==105) && (StartIndex==3105) && (PrimitiveCount==168))
#define SRG6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==834) && (NumVertices==100) && (StartIndex==3609) && (PrimitiveCount==121))
#define SRG7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==934) && (NumVertices==132) && (StartIndex==3972) && (PrimitiveCount==180))
#define SRG8 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1066) && (NumVertices==804) && (StartIndex==4512) && (PrimitiveCount==1016))
#define SRG9 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1870) && (NumVertices==448) && (StartIndex==7560) && (PrimitiveCount==776))
//----- End SRG Character

//----- KSF Character
#define KSF1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==75) && (StartIndex==0) && (PrimitiveCount==121))
#define KSF2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==75) && (NumVertices==92) && (StartIndex==363) && (PrimitiveCount==115))
#define KSF3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==167) && (NumVertices==124) && (StartIndex==708) && (PrimitiveCount==168))
#define KSF4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==291) && (NumVertices==301) && (StartIndex==1212) && (PrimitiveCount==522))
#define KSF5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==592) && (NumVertices==75) && (StartIndex==2778) && (PrimitiveCount==121))
#define KSF6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==667) && (NumVertices==92) && (StartIndex==3141) && (PrimitiveCount==115))
#define KSF7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==759) && (NumVertices==124) && (StartIndex==3486) && (PrimitiveCount==168))
#define KSF8 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==883) && (NumVertices==187) && (StartIndex==3990) && (PrimitiveCount==288))
#define KSF9 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1070) && (NumVertices==353) && (StartIndex==4854) && (PrimitiveCount==556))
//----- End KSF Character

//----- SAS Character
#define SAS1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==75) && (NumVertices==85) && (StartIndex==363) && (PrimitiveCount==105))
#define SAS2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==160) && (NumVertices==124) && (StartIndex==678) && (PrimitiveCount==168))
#define SAS3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==284) && (NumVertices==370) && (StartIndex==1182) && (PrimitiveCount==650))
#define SAS4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==654) && (NumVertices==75) && (StartIndex==3132) && (PrimitiveCount==121))
#define SAS5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==729) && (NumVertices==85) && (StartIndex==3495) && (PrimitiveCount==105))
#define SAS6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==814) && (NumVertices==124) && (StartIndex==3810) && (PrimitiveCount==168))
#define SAS7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==938) && (NumVertices==180) && (StartIndex==4314) && (PrimitiveCount==274))
#define SAS8 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1118) && (NumVertices==367) && (StartIndex==5136) && (PrimitiveCount==612))
//----- End SAS Character

//----- ROKMC Character
#define ROKMC1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==284) && (NumVertices==365) && (StartIndex==1182) && (PrimitiveCount==642))
#define ROKMC2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==649) && (NumVertices==75) && (StartIndex==3108) && (PrimitiveCount==121))
#define ROKMC3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==724) && (NumVertices==85) && (StartIndex==3471) && (PrimitiveCount==105))
#define ROKMC4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==809) && (NumVertices==124) && (StartIndex==3786) && (PrimitiveCount==168))
#define ROKMC5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==933) && (NumVertices==194) && (StartIndex==4290) && (PrimitiveCount==260))
#define ROKMC6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1127) && (NumVertices==379) && (StartIndex==5070) && (PrimitiveCount==592))
//----- End ROKMC Character

//----- GSG9 Character
#define GSG91 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==75) && (NumVertices==88) && (StartIndex==363) && (PrimitiveCount==105))
#define GSG92 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==163) && (NumVertices==124) && (StartIndex==678) && (PrimitiveCount==168))
#define GSG93 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==287) && (NumVertices==369) && (StartIndex==1182) && (PrimitiveCount==650))
#define GSG94 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==656) && (NumVertices==75) && (StartIndex==3132) && (PrimitiveCount==121))
#define GSG95 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==731) && (NumVertices==88) && (StartIndex==3495) && (PrimitiveCount==105))
#define GSG96 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==819) && (NumVertices==124) && (StartIndex==3810) && (PrimitiveCount==168))
#define GSG97 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==943) && (NumVertices==196) && (StartIndex==4314) && (PrimitiveCount==314))
#define GSG98 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1139) && (NumVertices==355) && (StartIndex==5256) && (PrimitiveCount==568))
#define GSG99 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1494) && (NumVertices==22) && (StartIndex==6960) && (PrimitiveCount==24))
//----- End GSG9 Character

//----- GIGN Character
#define GIGN1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==284) && (NumVertices==369) && (StartIndex==1182) && (PrimitiveCount==650))
#define GIGN2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==653) && (NumVertices==75) && (StartIndex==3132) && (PrimitiveCount==121))
#define GIGN3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==728) && (NumVertices==85) && (StartIndex==3495) && (PrimitiveCount==105))
#define GIGN4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==813) && (NumVertices==124) && (StartIndex==3810) && (PrimitiveCount==168))
#define GIGN5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==937) && (NumVertices==212) && (StartIndex==4314) && (PrimitiveCount==306))
#define GIGN6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1149) && (NumVertices==362) && (StartIndex==5232) && (PrimitiveCount==604))
//----- End GIGN Character

//----- Delta Character
#define Delta ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1118) && (NumVertices==349) && (StartIndex==5136) && (PrimitiveCount==580))
//----- End Delta Character

//----- Spetsnaz Character
#define Spetsnaz1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==284) && (NumVertices==380) && (StartIndex==1182) && (PrimitiveCount==658))
#define Spetsnaz2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==664) && (NumVertices==75) && (StartIndex==3156) && (PrimitiveCount==121))
#define Spetsnaz3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==739) && (NumVertices==85) && (StartIndex==3519) && (PrimitiveCount==105))
#define Spetsnaz4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==824) && (NumVertices==124) && (StartIndex==3834) && (PrimitiveCount==168))
#define Spetsnaz5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==948) && (NumVertices==183) && (StartIndex==4338) && (PrimitiveCount==268))
#define Spetsnaz6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1131) && (NumVertices==361) && (StartIndex==5142) && (PrimitiveCount==604))
//----- End Spetsnaz Character

//----- New Character Defines
#define PASKAL1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1441) && (StartIndex==0) && (PrimitiveCount==1776))
#define PASKAL2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1441) && (NumVertices==1631) && (StartIndex==5328) && (PrimitiveCount==1577))
#define PASKAL3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==3072) && (NumVertices==122) && (StartIndex==10059) && (PrimitiveCount==128))

#define RISA1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1516) && (StartIndex==0) && (PrimitiveCount==2122))
#define RISA2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1516) && (NumVertices==713) && (StartIndex==6366) && (PrimitiveCount==962))
#define RISA3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==2229) && (NumVertices==214) && (StartIndex==9252) && (PrimitiveCount==130))

#define BlackDevil1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1322) && (StartIndex==0) && (PrimitiveCount==1674))
#define BlackDevil2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1322) && (NumVertices==1091) && (StartIndex==5022) && (PrimitiveCount==1702))
#define BlackDevil3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==2413) && (NumVertices==8) && (StartIndex==10128) && (PrimitiveCount==6))
#define BlackDevil4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==2421) && (NumVertices==8) && (StartIndex==10146) && (PrimitiveCount==6))
#define BlackDevil5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==2429) && (NumVertices==10) && (StartIndex==10164) && (PrimitiveCount==8))
//----- End New Character Defines

//----- Weapons Defines----------------------------------------------------------------------------------------------------------------------------------------- 

#define UcWeapon ((DcafeP90||FNFAL||PhoenixM4A1Sight1||PhoenixM4A1Sight2||HorrorTAR21||M4A1||HK416||M16A2GL1||M16A2GL2||TigerGalil||AK74||Type97||EVLAN941||EVLAN942||EVLM16A2||M4A12||HotRodMP7A1||PPSH41||Uzi||EVLGalil1||EVLGalil2||SAMRM16A21||SAMRM16A22||MarineUzi||K7||Type89||TAR21||UMP45||ScarH1||ScarH2||AN94||DevilUzi||MAC10||AUGA3||MP7A1||GoldAK47s||G3A3||FAMAS||GALIL||SIG551||M16A2||G36C||P90||EVLK21||EVLK22||EVLK23||K11||K12||K13||K14||K15||K21||K22||K23||K24||MP51||MP52||MP53||MP54||MP55||SteyrAUG1||SteyrAUG2||SteyrAUG3||SteyrAUG4||SteyrAUG5||SteyrAUG6||DcafeM14EBR||EngravingPSG1||PSG1||PSG2||GOLDPSG1||DragonPSG1||MSG90DMR||DragonWA2000||KAR98K||DSR1||GoldDragunov||WA2000||GoldTango51||CheytacM200||Tango51||BlackM110||FRF2||AWP||M110SAS||Dragunov||DEGTYAREV||EVLM249||GattlingGun1||GattlingGun2||MG36||M249||LUGER||BerettaM92F1||BerettaM92F2||BerettaM92F3||BerettaM92F4||BerettaM92F5||M945ExtendedS1||M945ExtendedS2||M629||SPAS12||DesertEagle||DoubleMK23||Desperado||CompactM945||MR73||RemingtonM870||BenelliM1||Colt45||Glock23||MarkIIGrenade||VXGrenade||RGD5||ANM8Smoke||FlashBang||M67Grenade||SilverKnife||Shovel||SharkKnife||Hatchet))

//----- Rifles Defines 
#define DcafeP90 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==282) && (StartIndex==0) && (PrimitiveCount==168)) 
#define FNFAL ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==615) && (StartIndex==0) && (PrimitiveCount==481)) 

#define PhoenixM4A1Sight1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==712) && (StartIndex==0) && (PrimitiveCount==467)) 
#define PhoenixM4A1Sight2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==712) && (NumVertices==255) && (StartIndex==1401) && (PrimitiveCount==220)) 

#define HorrorTAR21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==486) && (StartIndex==0) && (PrimitiveCount==260)) 
#define M4A1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==812) && (StartIndex==0) && (PrimitiveCount==523)) 
#define HK416 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==860) && (StartIndex==0) && (PrimitiveCount==534)) 

#define M16A2GL1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==561) && (StartIndex==0) && (PrimitiveCount==408)) 
#define M16A2GL2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==561) && (NumVertices==166) && (StartIndex==1224) && (PrimitiveCount==118)) 

#define TigerGalil ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==805) && (StartIndex==0) && (PrimitiveCount==427)) 
#define AK74 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==331) && (StartIndex==0) && (PrimitiveCount==237)) 
#define Type97 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1126) && (StartIndex==0) && (PrimitiveCount==743)) 

#define EVLAN941 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==648) && (StartIndex==0) && (PrimitiveCount==394)) 
#define EVLAN942 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==648) && (NumVertices==202) && (StartIndex==1182) && (PrimitiveCount==139)) 

#define EVLM16A2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==537) && (StartIndex==0) && (PrimitiveCount==419)) 
#define M4A12 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==587) && (StartIndex==0) && (PrimitiveCount==457)) 
#define HotRodMP7A1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==280) && (StartIndex==0) && (PrimitiveCount==201)) 
#define PPSH41 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==401) && (StartIndex==0) && (PrimitiveCount==267)) 
#define Uzi ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==784) && (StartIndex==0) && (PrimitiveCount==463)) 

#define EVLGalil1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1868) && (StartIndex==0) && (PrimitiveCount==968)) 
#define EVLGalil2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1868) && (NumVertices==498) && (StartIndex==2904) && (PrimitiveCount==338)) 

#define SAMRM16A21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==509) && (StartIndex==0) && (PrimitiveCount==385)) 
#define SAMRM16A22 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==509) && (NumVertices==407) && (StartIndex==1155) && (PrimitiveCount==292)) 

#define MarineUzi ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==620) && (StartIndex==0) && (PrimitiveCount==416)) 
#define K7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==664) && (StartIndex==0) && (PrimitiveCount==495)) 
#define Type89 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1014) && (StartIndex==0) && (PrimitiveCount==754)) 
#define TAR21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==454) && (StartIndex==0) && (PrimitiveCount==240)) 
#define UMP45 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==459) && (StartIndex==0) && (PrimitiveCount==271)) 

#define ScarH1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==582) && (StartIndex==0) && (PrimitiveCount==345)) 
#define ScarH2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==582) && (NumVertices==84) && (StartIndex==1035) && (PrimitiveCount==44)) 

#define AN94 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==650) && (StartIndex==0) && (PrimitiveCount==394)) 
#define DevilUzi ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==876) && (StartIndex==0) && (PrimitiveCount==515)) 
#define MAC10 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==526) && (StartIndex==0) && (PrimitiveCount==417)) 
#define AUGA3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==512) && (StartIndex==0) && (PrimitiveCount==302)) 
#define MP7A1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==287) && (StartIndex==0) && (PrimitiveCount==124)) 
#define GoldAK47s ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==872) && (StartIndex==0) && (PrimitiveCount==500)) 
#define G3A3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1493) && (StartIndex==0) && (PrimitiveCount==1099)) 
#define FAMAS ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1615) && (StartIndex==0) && (PrimitiveCount==751)) 
#define GALIL ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1872) && (StartIndex==0) && (PrimitiveCount==968)) 
#define SIG551 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==2325) && (StartIndex==0) && (PrimitiveCount==1431)) 
#define M16A2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==565) && (StartIndex==0) && (PrimitiveCount==423)) 
#define G36C ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1459) && (StartIndex==0) && (PrimitiveCount==805)) 
#define P90 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==317) && (StartIndex==0) && (PrimitiveCount==230)) 

#define EVLK21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==490) && (StartIndex==0) && (PrimitiveCount==352)) 
#define EVLK22 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==490) && (NumVertices==798) && (StartIndex==1056) && (PrimitiveCount==559)) 
#define EVLK23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1288) && (NumVertices==98) && (StartIndex==2733) && (PrimitiveCount==66)) 

#define K11 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==422) && (StartIndex==0) && (PrimitiveCount==339)) 
#define K12 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==422) && (NumVertices==234) && (StartIndex==1017) && (PrimitiveCount==116)) 
#define K13 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==656) && (NumVertices==175) && (StartIndex==1365) && (PrimitiveCount==73)) 
#define K14 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==831) && (NumVertices==32) && (StartIndex==1584) && (PrimitiveCount==12)) 
#define K15 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==863) && (NumVertices==23) && (StartIndex==1620) && (PrimitiveCount==12)) 

#define K21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==405) && (StartIndex==0) && (PrimitiveCount==383)) 
#define K22 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==405) && (NumVertices==158) && (StartIndex==1149) && (PrimitiveCount==89)) 
#define K23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==563) && (NumVertices==22) && (StartIndex==1416) && (PrimitiveCount==12)) 
#define K24 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==585) && (NumVertices==70) && (StartIndex==1452) && (PrimitiveCount==34)) 

#define MP51 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==719) && (StartIndex==0) && (PrimitiveCount==459)) 
#define MP52 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==719) && (NumVertices==18) && (StartIndex==1377) && (PrimitiveCount==8)) 
#define MP53 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==737) && (NumVertices==203) && (StartIndex==1401) && (PrimitiveCount==84)) 
#define MP54 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==940) && (NumVertices==167) && (StartIndex==1653) && (PrimitiveCount==83)) 
#define MP55 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1107) && (NumVertices==676) && (StartIndex==1902) && (PrimitiveCount==452)) 

#define SteyrAUG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==462) && (StartIndex==0) && (PrimitiveCount==348)) 
#define SteyrAUG2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==462) && (NumVertices==270) && (StartIndex==1044) && (PrimitiveCount==133)) 
#define SteyrAUG3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==732) && (NumVertices==41) && (StartIndex==1443) && (PrimitiveCount==25)) 
#define SteyrAUG4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==773) && (NumVertices==12) && (StartIndex==1518) && (PrimitiveCount==6)) 
#define SteyrAUG5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==785) && (NumVertices==4) && (StartIndex==1536) && (PrimitiveCount==2)) 
#define SteyrAUG6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==789) && (NumVertices==18) && (StartIndex==1542) && (PrimitiveCount==8)) 
//----- End Rifle Defines 

//----- Sniper Defines 
#define DcafeM14EBR ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==801) && (StartIndex==0) && (PrimitiveCount==544)) 

#define EngravingPSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==961) && (StartIndex==0) && (PrimitiveCount==588)) 
#define PSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==652) && (StartIndex==0) && (PrimitiveCount==444)) 
#define PSG2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1258) && (NumVertices==474) && (StartIndex==5514) && (PrimitiveCount==728)) 
#define GOLDPSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==963) && (StartIndex==0) && (PrimitiveCount==588)) 
#define DragonPSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==659) && (StartIndex==0) && (PrimitiveCount==444)) 

#define MSG90DMR ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==673) && (StartIndex==0) && (PrimitiveCount==368)) 
#define DragonWA2000 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==726) && (StartIndex==0) && (PrimitiveCount==474)) 
#define KAR98K ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==391) && (StartIndex==0) && (PrimitiveCount==267)) 
#define DSR1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==663) && (StartIndex==0) && (PrimitiveCount==527)) 
#define GoldDragunov ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1832) && (StartIndex==0) && (PrimitiveCount==865)) 
#define WA2000 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==717) && (StartIndex==0) && (PrimitiveCount==464)) 
#define GoldTango51 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==617) && (StartIndex==0) && (PrimitiveCount==509)) 
#define CheytacM200 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==717) && (StartIndex==0) && (PrimitiveCount==422)) 
#define Tango51 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==285) && (StartIndex==0) && (PrimitiveCount==135)) 
#define BlackM110 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==763) && (StartIndex==0) && (PrimitiveCount==433)) 
#define FRF2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==537) && (StartIndex==0) && (PrimitiveCount==373)) 
#define AWP ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1152) && (StartIndex==0) && (PrimitiveCount==840)) 
#define M110SAS ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==760) && (StartIndex==0) && (PrimitiveCount==431)) 
#define Dragunov ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==2390) && (StartIndex==0) && (PrimitiveCount==1276)) 
//----- End Sniper Defines 

//----- Machine Gun Defines 
#define DEGTYAREV ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==526) && (StartIndex==0) && (PrimitiveCount==315)) 
#define EVLM249 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1692) && (StartIndex==0) && (PrimitiveCount==1052)) 

#define GattlingGun1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==553) && (StartIndex==0) && (PrimitiveCount==380)) 
#define GattlingGun2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==54) && (StartIndex==0) && (PrimitiveCount==34)) 

#define MG36 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==582) && (StartIndex==0) && (PrimitiveCount==322)) 
#define M249 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1937) && (StartIndex==0) && (PrimitiveCount==1304)) 
#define LUGER ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==319) && (StartIndex==0) && (PrimitiveCount==171)) 
//----- End Machine Gun Defines 

//----- Secondary Defines 
#define BerettaM92F1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==715) && (StartIndex==0) && (PrimitiveCount==449)) 
#define BerettaM92F2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==715) && (NumVertices==110) && (StartIndex==1347) && (PrimitiveCount==44)) 
#define BerettaM92F3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==825) && (NumVertices==165) && (StartIndex==1479) && (PrimitiveCount==75)) 
#define BerettaM92F4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==990) && (NumVertices==44) && (StartIndex==1704) && (PrimitiveCount==20)) 
#define BerettaM92F5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1034) && (NumVertices==28) && (StartIndex==1764) && (PrimitiveCount==14)) 

#define M945ExtendedS1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==256) && (StartIndex==0) && (PrimitiveCount==192)) 
#define M945ExtendedS2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==256) && (NumVertices==400) && (StartIndex==576) && (PrimitiveCount==246)) 

#define M629 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==281) && (StartIndex==0) && (PrimitiveCount==215)) 
#define SPAS12 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==418) && (StartIndex==0) && (PrimitiveCount==249)) 
#define DesertEagle ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==362) && (StartIndex==0) && (PrimitiveCount==209)) 
#define DoubleMK23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==328) && (StartIndex==0) && (PrimitiveCount==174)) 
#define Desperado ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==197) && (StartIndex==0) && (PrimitiveCount==127)) 
#define CompactM945 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==247) && (StartIndex==0) && (PrimitiveCount==178)) 
#define MR73 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==289) && (StartIndex==0) && (PrimitiveCount==223)) 
#define RemingtonM870 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==701) && (StartIndex==0) && (PrimitiveCount==618)) 
#define BenelliM1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==721) && (StartIndex==0) && (PrimitiveCount==457)) 
#define Colt45 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==920) && (StartIndex==0) && (PrimitiveCount==543)) 
#define Glock23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==165) && (StartIndex==0) && (PrimitiveCount==122)) 
//----- End Secondary Defines 

//----- Knives Defines 
#define SilverKnife ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==167) && (StartIndex==0) && (PrimitiveCount==189)) 
#define Shovel ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==126) && (StartIndex==0) && (PrimitiveCount==102)) 
#define SharkKnife ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==260) && (StartIndex==0) && (PrimitiveCount==205)) 
#define Hatchet ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==106) && (StartIndex==0) && (PrimitiveCount==114)) 
//----- End Knives Defines 

//----- Nades Defines 
#define MarkIIGrenade ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==174) && (StartIndex==0) && (PrimitiveCount==152)) 
#define VXGrenade ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==271) && (StartIndex==0) && (PrimitiveCount==257)) 
#define RGD5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==338) && (StartIndex==0) && (PrimitiveCount==339)) 
#define ANM8Smoke ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==171) && (StartIndex==0) && (PrimitiveCount==143)) 
#define FlashBang ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==158) && (StartIndex==0) && (PrimitiveCount==131)) 
#define M67Grenade ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==213) && (StartIndex==0) && (PrimitiveCount==174)) 
//----- End Nades Defines 
//----- End Weapon Defines-------------------------------------------------------------------------------------------------------------------------------------
Code:
//==============================================================================
// CTools.cpp
//==============================================================================

#include "CTools.h"

CTools Tools;

//==============================================================================

DWORD CTools::D3D9VTable()
{
    DWORD dwObjBase = (DWORD)LoadLibraryA("D3D9.DLL");
    while ( dwObjBase++ < dwObjBase + 0x127850 )
    {
        if ( (*(WORD*)(dwObjBase + 0x00)) == 0x06C7 && (*(WORD*)(dwObjBase + 0x06)) == 0x8689 && (*(WORD*)(dwObjBase + 0x0C)) == 0x8689 ) 
		{ 
			dwObjBase += 2; 
			break; 
		}
    }
    return ( dwObjBase );
}

//==============================================================================

BOOL CTools::CheckWindowsVersion(DWORD dwMajorVersion,DWORD dwMinorVersion,DWORD dwProductType)
{
    OSVERSIONINFOEX VersionInfo;
    ZeroMemory(&VersionInfo,sizeof(OSVERSIONINFOEX));
    VersionInfo.dwOSVersionInfoSize = sizeof(VersionInfo);
    GetVersionEx((OSVERSIONINFO*)&VersionInfo);
	if ( VersionInfo.dwMajorVersion	== dwMajorVersion )
	{
		if ( VersionInfo.dwMinorVersion == dwMinorVersion )
		{
			if ( VersionInfo.wProductType == dwProductType )
			{
				return ( TRUE );
			}
		}
	}
	return ( FALSE );
}

//==============================================================================

void *CTools::DetourCreate(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);
}

//==============================================================================

HRESULT CTools::GenerateTexture( IDirect3DDevice9 *pD3Ddev, IDirect3DTexture9 **ppD3Dtex, DWORD colour32 )
{
    if( FAILED(pD3Ddev->CreateTexture(8, 8, 1, 0, D3DFMT_A4R4G4B4, D3DPOOL_MANAGED, ppD3Dtex, NULL)) )
    return E_FAIL;
     
    WORD colour16 = ((WORD)((colour32>>28)&0xF)<<12)
    |(WORD)(((colour32>>20)&0xF)<<8)
    |(WORD)(((colour32>>12)&0xF)<<4)
    |(WORD)(((colour32>>4)&0xF)<<0);
    D3DLOCKED_RECT d3dlr;
    (*ppD3Dtex)->LockRect(0, &d3dlr, 0, 0);
    WORD *pDst16 = (WORD*)d3dlr.pBits;
    for(int xy=0; xy < 8*8; xy++)
    *pDst16++ = colour16;
    (*ppD3Dtex)->UnlockRect(0);
    return S_OK;
}

//===========================================================================
Code:
//==============================================================================
// CTools.h
//==============================================================================

#include <windows.h>
#include <d3d9.h>
#include <d3dx9.h>

//==============================================================================

class CTools
{
public:
	D3DVIEWPORT9  pViewport;
	BOOL	DrawTexture;
	BOOL	DrawCrosshair;
	BOOL	DrawChams;
        BOOL	DrawWeap;
	BOOL	FullBright;
	BOOL	Asus;
	DWORD	D3D9VTable();
	BOOL	CheckWindowsVersion(DWORD dwMajorVersion,DWORD dwMinorVersion,DWORD dwProductType);
	void    *DetourCreate( BYTE *src, const BYTE *dst, const int len );
	HRESULT GenerateTexture( IDirect3DDevice9 *pD3Ddev, IDirect3DTexture9 **ppD3Dtex, DWORD colour32 );
};
extern CTools Tools;

//=========================================================================


---------- Post added at 09:38 PM ---------- Previous post was at 09:35 PM ----------

Added All Weapons Define
Code:
//----- Weapons Defines----------------------------------------------------------------------------------------------------------------------------------------- 
//----- Rifles Defines 
#define DcafeP90 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==282) && (StartIndex==0) && (PrimitiveCount==168)) 
#define FNFAL ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==615) && (StartIndex==0) && (PrimitiveCount==481)) 

#define PhoenixM4A1Sight1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==712) && (StartIndex==0) && (PrimitiveCount==467)) 
#define PhoenixM4A1Sight2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==712) && (NumVertices==255) && (StartIndex==1401) && (PrimitiveCount==220)) 

#define HorrorTAR21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==486) && (StartIndex==0) && (PrimitiveCount==260)) 
#define M4A1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==812) && (StartIndex==0) && (PrimitiveCount==523)) 
#define HK416 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==860) && (StartIndex==0) && (PrimitiveCount==534)) 

#define M16A2GL1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==561) && (StartIndex==0) && (PrimitiveCount==408)) 
#define M16A2GL2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==561) && (NumVertices==166) && (StartIndex==1224) && (PrimitiveCount==118)) 

#define TigerGalil ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==805) && (StartIndex==0) && (PrimitiveCount==427)) 
#define AK74 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==331) && (StartIndex==0) && (PrimitiveCount==237)) 
#define Type97 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1126) && (StartIndex==0) && (PrimitiveCount==743)) 

#define EVLAN941 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==648) && (StartIndex==0) && (PrimitiveCount==394)) 
#define EVLAN942 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==648) && (NumVertices==202) && (StartIndex==1182) && (PrimitiveCount==139)) 

#define EVLM16A2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==537) && (StartIndex==0) && (PrimitiveCount==419)) 
#define M4A12 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==587) && (StartIndex==0) && (PrimitiveCount==457)) 
#define HotRodMP7A1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==280) && (StartIndex==0) && (PrimitiveCount==201)) 
#define PPSH41 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==401) && (StartIndex==0) && (PrimitiveCount==267)) 
#define Uzi ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==784) && (StartIndex==0) && (PrimitiveCount==463)) 

#define EVLGalil1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1868) && (StartIndex==0) && (PrimitiveCount==968)) 
#define EVLGalil2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1868) && (NumVertices==498) && (StartIndex==2904) && (PrimitiveCount==338)) 

#define SAMRM16A21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==509) && (StartIndex==0) && (PrimitiveCount==385)) 
#define SAMRM16A22 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==509) && (NumVertices==407) && (StartIndex==1155) && (PrimitiveCount==292)) 

#define MarineUzi ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==620) && (StartIndex==0) && (PrimitiveCount==416)) 
#define K7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==664) && (StartIndex==0) && (PrimitiveCount==495)) 
#define Type89 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1014) && (StartIndex==0) && (PrimitiveCount==754)) 
#define TAR21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==454) && (StartIndex==0) && (PrimitiveCount==240)) 
#define UMP45 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==459) && (StartIndex==0) && (PrimitiveCount==271)) 

#define ScarH1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==582) && (StartIndex==0) && (PrimitiveCount==345)) 
#define ScarH2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==582) && (NumVertices==84) && (StartIndex==1035) && (PrimitiveCount==44)) 

#define AN94 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==650) && (StartIndex==0) && (PrimitiveCount==394)) 
#define DevilUzi ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==876) && (StartIndex==0) && (PrimitiveCount==515)) 
#define MAC10 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==526) && (StartIndex==0) && (PrimitiveCount==417)) 
#define AUGA3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==512) && (StartIndex==0) && (PrimitiveCount==302)) 
#define MP7A1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==287) && (StartIndex==0) && (PrimitiveCount==124)) 
#define GoldAK47s ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==872) && (StartIndex==0) && (PrimitiveCount==500)) 
#define G3A3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1493) && (StartIndex==0) && (PrimitiveCount==1099)) 
#define FAMAS ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1615) && (StartIndex==0) && (PrimitiveCount==751)) 
#define GALIL ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1872) && (StartIndex==0) && (PrimitiveCount==968)) 
#define SIG551 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==2325) && (StartIndex==0) && (PrimitiveCount==1431)) 
#define M16A2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==565) && (StartIndex==0) && (PrimitiveCount==423)) 
#define G36C ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1459) && (StartIndex==0) && (PrimitiveCount==805)) 
#define P90 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==317) && (StartIndex==0) && (PrimitiveCount==230)) 

#define EVLK21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==490) && (StartIndex==0) && (PrimitiveCount==352)) 
#define EVLK22 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==490) && (NumVertices==798) && (StartIndex==1056) && (PrimitiveCount==559)) 
#define EVLK23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1288) && (NumVertices==98) && (StartIndex==2733) && (PrimitiveCount==66)) 

#define K11 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==422) && (StartIndex==0) && (PrimitiveCount==339)) 
#define K12 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==422) && (NumVertices==234) && (StartIndex==1017) && (PrimitiveCount==116)) 
#define K13 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==656) && (NumVertices==175) && (StartIndex==1365) && (PrimitiveCount==73)) 
#define K14 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==831) && (NumVertices==32) && (StartIndex==1584) && (PrimitiveCount==12)) 
#define K15 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==863) && (NumVertices==23) && (StartIndex==1620) && (PrimitiveCount==12)) 

#define K21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==405) && (StartIndex==0) && (PrimitiveCount==383)) 
#define K22 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==405) && (NumVertices==158) && (StartIndex==1149) && (PrimitiveCount==89)) 
#define K23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==563) && (NumVertices==22) && (StartIndex==1416) && (PrimitiveCount==12)) 
#define K24 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==585) && (NumVertices==70) && (StartIndex==1452) && (PrimitiveCount==34)) 

#define MP51 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==719) && (StartIndex==0) && (PrimitiveCount==459)) 
#define MP52 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==719) && (NumVertices==18) && (StartIndex==1377) && (PrimitiveCount==8)) 
#define MP53 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==737) && (NumVertices==203) && (StartIndex==1401) && (PrimitiveCount==84)) 
#define MP54 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==940) && (NumVertices==167) && (StartIndex==1653) && (PrimitiveCount==83)) 
#define MP55 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1107) && (NumVertices==676) && (StartIndex==1902) && (PrimitiveCount==452)) 

#define SteyrAUG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==462) && (StartIndex==0) && (PrimitiveCount==348)) 
#define SteyrAUG2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==462) && (NumVertices==270) && (StartIndex==1044) && (PrimitiveCount==133)) 
#define SteyrAUG3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==732) && (NumVertices==41) && (StartIndex==1443) && (PrimitiveCount==25)) 
#define SteyrAUG4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==773) && (NumVertices==12) && (StartIndex==1518) && (PrimitiveCount==6)) 
#define SteyrAUG5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==785) && (NumVertices==4) && (StartIndex==1536) && (PrimitiveCount==2)) 
#define SteyrAUG6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==789) && (NumVertices==18) && (StartIndex==1542) && (PrimitiveCount==8)) 
//----- End Rifle Defines 

//----- Sniper Defines 
#define DcafeM14EBR ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==801) && (StartIndex==0) && (PrimitiveCount==544)) 

#define EngravingPSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==961) && (StartIndex==0) && (PrimitiveCount==588)) 
#define PSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==652) && (StartIndex==0) && (PrimitiveCount==444)) 
#define PSG2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1258) && (NumVertices==474) && (StartIndex==5514) && (PrimitiveCount==728)) 
#define GOLDPSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==963) && (StartIndex==0) && (PrimitiveCount==588)) 
#define DragonPSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==659) && (StartIndex==0) && (PrimitiveCount==444)) 

#define MSG90DMR ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==673) && (StartIndex==0) && (PrimitiveCount==368)) 
#define DragonWA2000 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==726) && (StartIndex==0) && (PrimitiveCount==474)) 
#define KAR98K ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==391) && (StartIndex==0) && (PrimitiveCount==267)) 
#define DSR1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==663) && (StartIndex==0) && (PrimitiveCount==527)) 
#define GoldDragunov ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1832) && (StartIndex==0) && (PrimitiveCount==865)) 
#define WA2000 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==717) && (StartIndex==0) && (PrimitiveCount==464)) 
#define GoldTango51 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==617) && (StartIndex==0) && (PrimitiveCount==509)) 
#define CheytacM200 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==717) && (StartIndex==0) && (PrimitiveCount==422)) 
#define Tango51 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==285) && (StartIndex==0) && (PrimitiveCount==135)) 
#define BlackM110 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==763) && (StartIndex==0) && (PrimitiveCount==433)) 
#define FRF2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==537) && (StartIndex==0) && (PrimitiveCount==373)) 
#define AWP ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1152) && (StartIndex==0) && (PrimitiveCount==840)) 
#define M110SAS ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==760) && (StartIndex==0) && (PrimitiveCount==431)) 
#define Dragunov ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==2390) && (StartIndex==0) && (PrimitiveCount==1276)) 
//----- End Sniper Defines 

//----- Machine Gun Defines 
#define DEGTYAREV ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==526) && (StartIndex==0) && (PrimitiveCount==315)) 
#define EVLM249 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1692) && (StartIndex==0) && (PrimitiveCount==1052)) 

#define GattlingGun1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==553) && (StartIndex==0) && (PrimitiveCount==380)) 
#define GattlingGun2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==54) && (StartIndex==0) && (PrimitiveCount==34)) 

#define MG36 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==582) && (StartIndex==0) && (PrimitiveCount==322)) 
#define M249 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1937) && (StartIndex==0) && (PrimitiveCount==1304)) 
#define LUGER ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==319) && (StartIndex==0) && (PrimitiveCount==171)) 
//----- End Machine Gun Defines 

//----- Secondary Defines 
#define BerettaM92F1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==715) && (StartIndex==0) && (PrimitiveCount==449)) 
#define BerettaM92F2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==715) && (NumVertices==110) && (StartIndex==1347) && (PrimitiveCount==44)) 
#define BerettaM92F3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==825) && (NumVertices==165) && (StartIndex==1479) && (PrimitiveCount==75)) 
#define BerettaM92F4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==990) && (NumVertices==44) && (StartIndex==1704) && (PrimitiveCount==20)) 
#define BerettaM92F5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1034) && (NumVertices==28) && (StartIndex==1764) && (PrimitiveCount==14)) 

#define M945ExtendedS1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==256) && (StartIndex==0) && (PrimitiveCount==192)) 
#define M945ExtendedS2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==256) && (NumVertices==400) && (StartIndex==576) && (PrimitiveCount==246)) 

#define M629 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==281) && (StartIndex==0) && (PrimitiveCount==215)) 
#define SPAS12 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==418) && (StartIndex==0) && (PrimitiveCount==249)) 
#define DesertEagle ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==362) && (StartIndex==0) && (PrimitiveCount==209)) 
#define DoubleMK23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==328) && (StartIndex==0) && (PrimitiveCount==174)) 
#define Desperado ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==197) && (StartIndex==0) && (PrimitiveCount==127)) 
#define CompactM945 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==247) && (StartIndex==0) && (PrimitiveCount==178)) 
#define MR73 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==289) && (StartIndex==0) && (PrimitiveCount==223)) 
#define RemingtonM870 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==701) && (StartIndex==0) && (PrimitiveCount==618)) 
#define BenelliM1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==721) && (StartIndex==0) && (PrimitiveCount==457)) 
#define Colt45 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==920) && (StartIndex==0) && (PrimitiveCount==543)) 
#define Glock23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==165) && (StartIndex==0) && (PrimitiveCount==122)) 
//----- End Secondary Defines 

//----- Knives Defines 
#define SilverKnife ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==167) && (StartIndex==0) && (PrimitiveCount==189)) 
#define Shovel ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==126) && (StartIndex==0) && (PrimitiveCount==102)) 
#define SharkKnife ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==260) && (StartIndex==0) && (PrimitiveCount==205)) 
#define Hatchet ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==106) && (StartIndex==0) && (PrimitiveCount==114)) 
//----- End Knives Defines 

//----- Nades Defines 
#define MarkIIGrenade ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==174) && (StartIndex==0) && (PrimitiveCount==152)) 
#define VXGrenade ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==271) && (StartIndex==0) && (PrimitiveCount==257)) 
#define RGD5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==338) && (StartIndex==0) && (PrimitiveCount==339)) 
#define ANM8Smoke ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==171) && (StartIndex==0) && (PrimitiveCount==143)) 
#define FlashBang ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==158) && (StartIndex==0) && (PrimitiveCount==131)) 
#define M67Grenade ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==213) && (StartIndex==0) && (PrimitiveCount==174)) 
//----- End Nades Defines 
//----- End Weapon Defines---------------------------------------
Usage:
In DIP
Code:
if(Tools.DrawChams)
{
		// Rifles
				if(DcafeP90||FNFAL||PhoenixM4A1Sight1||PhoenixM4A1Sight2||HorrorTAR21||M4A1||HK416||M16A2GL1||M16A2GL2||TigerGalil||AK74||Type97||EVLAN941||EVLAN942||EVLM16A2||M4A12||HotRodMP7A1||PPSH41||Uzi||EVLGalil1||EVLGalil2||SAMRM16A21||SAMRM16A22||MarineUzi||K7||Type89||TAR21||UMP45||ScarH1||ScarH2||AN94||DevilUzi||MAC10||AUGA3||MP7A1||GoldAK47s||G3A3||FAMAS||GALIL||SIG551||M16A2||G36C||P90||EVLK21||EVLK22||EVLK23||K11||K12||K13||K14||K15||K21||K22||K23||K24||MP51||MP52||MP53||MP54||MP55||SteyrAUG1||SteyrAUG2||SteyrAUG3||SteyrAUG4||SteyrAUG5||SteyrAUG6)
				{
					pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
					pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
					pDevice->SetTexture( 0, Red );
						DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
					pDevice->SetTexture( 0, Lime );
					pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
					pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
				}
		// Snipers
				if(DcafeM14EBR||EngravingPSG1||PSG1||PSG2||GOLDPSG1||DragonPSG1||MSG90DMR||DragonWA2000||KAR98K||DSR1||GoldDragunov||WA2000||GoldTango51||CheytacM200||Tango51||BlackM110||FRF2||AWP||M110SAS||Dragunov)
				{
					pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
					pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
					pDevice->SetTexture( 0, Red );
						DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
					pDevice->SetTexture( 0, Lime );
					pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
					pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
				}
		// Machine Guns
				if(DEGTYAREV||EVLM249||GattlingGun1||GattlingGun2||MG36||M249||LUGER)
				{
					pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
					pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
					pDevice->SetTexture( 0, Red );
						DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
					pDevice->SetTexture( 0, Lime );
					pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
					pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
				}
		// Secondary Weapons
				if(BerettaM92F1||BerettaM92F2||BerettaM92F3||BerettaM92F4||BerettaM92F5||M945ExtendedS1||M945ExtendedS2||M629||SPAS12||DesertEagle||DoubleMK23||Desperado||CompactM945||MR73||RemingtonM870||BenelliM1||Colt45||Glock23)
				{
					pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
					pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
					pDevice->SetTexture( 0, Red );
						DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
					pDevice->SetTexture( 0, Lime );
					pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
					pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
				}
		// Nades
				if(MarkIIGrenade||VXGrenade||RGD5||ANM8Smoke||FlashBang||M67Grenade)
				{
					pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
					pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
					pDevice->SetTexture( 0, Red );
						DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
					pDevice->SetTexture( 0, Lime );
					pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
					pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
				}
				// Knives
				if(SilverKnife||Shovel||SharkKnife||Hatchet)
				{
					pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
					pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
					pDevice->SetTexture( 0, Red );
						DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
					pDevice->SetTexture( 0, Lime );
					pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
					pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
				}
}

Note:Do Not Copy Paste ,, Write It
Lol, Proper Credits and I think you Posted it in a Wrong Section Bro,
How are you ever gonna write this down without copying? That's insane. O.o
Don't copy??
LoL, You mad?
I ain't even mad.
Wow, if you really typed this: THANKS
Quote Originally Posted by unionbanklouie View Post
is this source not detected?
Try it out for yourself.
Source Error help me plase
documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(58) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(58) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(58) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(58) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(59) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(59) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(59) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(59) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(63) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(63) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(63) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(63) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(64) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(64) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(64) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(64) : warning C4244: 'initializing' : conversion from 'float' to 'LONG', possible loss of data
1>documents\visual studio 2008\projects\specialforce d3d hack\specialforce d3d hack\cmain.cpp(247) : error C2065: 'UcCoder0' : undeclared identifier
Quote Originally Posted by blackgaming View Post
Learning C++ will help a lot
That's an understatement.
Posts 111 of 11 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?