Code:
#include <windows.h>
#include "engine_class.h"
void thread()
{
for(;;)
{
if(GetAsyncKeyState(VK_NUMPAD1)&1)
{
pPlayerMgr->Yaw = 90.0f;
}
Sleep(50);
}
}
bool IsGameReadyForHook()
{
if( GetModuleHandleA( "d3d9.dll" ) != NULL
&& GetModuleHandleA( "ClientFX.fxd" ) != NULL
&& GetModuleHandleA( "CShell.dll" ) != NULL )
return true;
return false;
}
DWORD WINAPI StartupThread(LPVOID)
{
while( !IsGameReadyForHook() )
Sleep(100);
thread();
return 0;
}
BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD dwReason, LPVOID lpReserved )
{
if( dwReason == DLL_PROCESS_ATTACH )
{
MessageBoxA(0,"injected", "kibbles201", MB_OK);
CreateThread( NULL, NULL, (LPTHREAD_START_ROUTINE)StartupThread, NULL, NULL, NULL);
}
return TRUE;
}
/////////////////////////engine_class.h///////////////////////////////////////
#define ADR_PlayerMgr 0x3746D532
#define ADR_ClientInfoMgr 0x37832408
#define ADR_GameClientShell 0x37872070
#define getplayerbyindex 0x3715E410
#define SFX_MAX 0x3B
#include <windows.h>
#include <d3dx9.h>
#pragma comment( lib, "d3dx9.lib" )
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>
#include <d3d9.h>
#pragma comment( lib, "d3d9.lib" )
#include <time.h>
#ifndef _ENGINE_CLASS_
#define _ENGINE_CLASS_
class cLTCientShellBase;
class cLTClient;
class cLTDrawPrim;
class cGameClientShell;
class cLTModel;
class cLTCommon;
class cLTMessage;
class cFont;
class cPlayerMgr;
class cWeaponInfo;
class cWeaponMgr;
class cClientWeapon;
class cObjName;
class cBaseFX;
class cCharacterFX;
class c_player;
class cLTMessage;
class cLTBase;
class cClientInfoMgr;
typedef bool (*ObjectFilterFn)(int* hObj, void *pUserData);
struct IntersectQuery
{
D3DXVECTOR3 Start; //0x0000
D3DXVECTOR3 End; //0x000C
char unknown24[12];
unsigned int Flags; //0x0024
ObjectFilterFn FilterFn; //0x0028
void* FilterIntersectParam; //0x002C
ObjectFilterFn FilterIntersectFn; //0x0030
void* FilterParam; //0x0034
void* PolyFilterParam; //0x0038
//PolyFilterFn PolyFilterFn; //0x003C
};
class cSFXList
{
public:
unsigned long unk0;
unsigned long* List;
unsigned long unk1;
int Num;
};
class cSFXMgr
{
public:
cSFXList SFXList [SFX_MAX];
};
struct IntersectInfo
{
D3DXVECTOR3 vImpactPos; //0x0000
char unknown12[16];
int* hObjImpact; //0x001C
DWORD nSomething; //0x0020
DWORD nSomething2; //0x0024
DWORD nSomething3; //0x0028
};
struct Transform
{
D3DXVECTOR3 Pos;
unsigned char Space [0x100];
};
struct Screen
{
int x;
int y;
};
struct VERTS
{
D3DXVECTOR3 pos;
unsigned int rgba;
};
struct SHAPE_RECT
{
VERTS Right[3];
VERTS Left[3];
};
class cLTClientShellBase
{
public:
cLTBase* ILTBase; //0x0000
char unknown4[16];
cLTDrawPrim** ILTDrawPrim; //0x0014
char unknown24[4];
cLTModel** ILTModel; //0x001C
char unknown32[136];
cGameClientShell* ILTGameClientShell; //0x00A8
};
class cLTBase
{
public:
cLTClient* ILTClient; //0x0000
char unknown8[96];
bool( WINAPIV *IntersectSegment )( IntersectQuery& Query, IntersectInfo *pInfo ); //0x0064
char unknown104[28];
unsigned int ( WINAPIV *GetLocalClientID )( unsigned int *pIDOut ); //0x0084
char unknown136[384];
unsigned int( WINAPIV *RunConsoleCommand )( const char* szCommand ); //0x0208
int*( WINAPIV *GetClientObject )(); //0x020C
char unknown528[16];
unsigned int( WINAPIV *GetObjectScale )( int* pObject, float *scale ); //0x0220 0x46D530
unsigned int( WINAPIV *SetObjectScale )( int* pObject, float scale ); //0x0224 0x472990
char unknown552[4];
unsigned int( WINAPIV *GetObjectColor )( int* pObject, float *r, float *g, float *b, float *a ); //0x022C 0x46FAC0
unsigned int( WINAPIV *SetObjectColor )( int* pObject, float r, float g, float b, float a ); //0x0230 0x46FB40
};
class cLTClient
{
public:
char unknown0[156];
unsigned int( WINAPI *GetObjectRot )( int* pObject, D3DXMATRIX *vRot ); //0x009C 0x46D840
unsigned int( WINAPI *GetObjectPos )( int* pObject, D3DXVECTOR3 *vPos ); //0x00A0 0x46D7D0
char unknown164[32];
unsigned int( WINAPI *SetObjectPos )( int* pObject, D3DXVECTOR3 vPos, bool bUnk ); //0x00C4 0x472C60
char unknown200[108];
unsigned int( WINAPIV *GetConsoleVariableFloat )( const char *szCommand, float *ValueOut ); //0x00CC
unsigned int( WINAPIV *GetConsoleVaribleString )( const char *szCommand, char *BufOut, unsigned int StringLength ); //0x00D0
char unknown316[28];
unsigned int( WINAPI *SendToServer )( int Message, unsigned int flags ); //0x0158 0x474160
};
class cGameClientShell
{
public:
virtual void Function0();
virtual void Function1();
virtual void Function2();
virtual void Function3();
virtual void Function4();
virtual void Function5();
virtual void Function6();
virtual void Function7();
virtual void Function8();
virtual void Function9();
virtual void Function10();
virtual void Function11();
virtual void Function12();
virtual void Function13();
virtual void Function14();
virtual void Function15();
virtual void Function16();
virtual void Function17();
virtual void Function18();
virtual void Function19();
virtual void Function20();
virtual void Function21();
virtual void Function22();
virtual void Function23();
virtual void Function24();
virtual void Function25();
virtual void Function26();
virtual void Function27();
virtual void Function28();
virtual void Function29();
virtual void Function30();
virtual void Function31();
virtual void Function32();
virtual void Function33();
virtual void Function34();
virtual void Function35();
virtual void Function36();
virtual void Function37();
virtual void Function38();
virtual void Function39();
virtual void Function40();
virtual void Function41();
virtual void Function42();
virtual void Function43();
virtual DWORD GetClientInfoMgr();
virtual DWORD GetInterfaceManager();
virtual DWORD GetPlayerManager();
virtual void Function47();
virtual void Function48();
virtual void Function49();
virtual void Function50();
virtual void Function51();
virtual void Function52();
virtual void Function53();
virtual void Function54();
virtual cSFXMgr* GetSFXMgr();
};
class cLTModel
{
public:
virtual void Function0();
virtual void Function1();
virtual void Function2();
virtual void Function3();
virtual void Function4();
virtual void Function5();
virtual void Function6();
virtual void Function7();
virtual void Function8();
virtual void Function9();
virtual void Function10();
virtual void Function11();
virtual void Function12();
virtual unsigned int GetBoneNode( int* Obj, char* nodeName, unsigned int &Node );
virtual unsigned int GetNodeName( int* Obj, unsigned int Node, char* name, int maxlen );
virtual unsigned int GetNodeTransform( int* Obj, unsigned int hNode, Transform* trans, char bWorldSpace );
virtual unsigned int GetModelNextNode( int* Obj, unsigned int Node, unsigned int &Next );
virtual void Function17();
virtual void Function18();
virtual void Function19();
virtual void Function20();
virtual unsigned int GetNumNodes( int* Obj, unsigned int &num );
};
class cLTCommon
{
public:
virtual void Function0();
virtual void Function1();
virtual void Function2();
virtual void Function3();
virtual void Function4();
virtual void Function5();
virtual void Function6();
virtual void Function7();
virtual void Function8();
virtual unsigned int CreateMessage( int* pMsg );
virtual void Function10();
virtual void Function11();
virtual void Function12();
virtual void Function13();
virtual void Function14();
virtual void Function15();
virtual void Function16();
virtual void Function17();
virtual unsigned int GetObjectFlags( int* pObject, unsigned int iFlagType, unsigned int *iFlags );
virtual unsigned int SetObjectFlags( int* pObject, unsigned int iFlagType, unsigned int iFlags, unsigned int iMask );
};
class cLTDrawPrim
{
public:
char unknown0[40];
void( WINAPI *SetRenderMode )( int mode ); //0x0028
char unknown44[88];
void( WINAPI *DrawPrimitive )( void* q, unsigned int count ); //0x0084
char unknown136[64];
unsigned int( WINAPI *WorldToScreen )( float x, float y, float z, D3DXVECTOR3* v3Screen, D3DXVECTOR3 *v3Unk ); //0x00C8 0x4913C0
};
class c_player //playerinfo
{
public:
char unknown0[4];
__int32 ClientID;
char unknown1[4];
std::string Name;
int* Object;
__int32 Kills;
__int32 Deaths;
char unknown52[44];
__int32 HeadShots;
char unknown100[12];
__int32 TeamID;
char unknown47[4];
bool isDead;
char unknown4[491];
c_player* Next;
};
class c_object //_object
{
public:
char unknown0[4];
D3DXVECTOR3 MaxRootPosition; //0x0004
D3DXVECTOR3 MinRootPosition; //0x0010
char unknown28[120];
BYTE ObjectColorR; //0x0094
BYTE ObjectColorG; //0x0095
BYTE ObjectColorB; //0x0096
BYTE ObjectColorA; //0x0097
char unknown152[4];
float ObjectScaleX; //0x009C
float ObjectScaleY; //0x00A0
float ObjectScaleZ; //0x00A4
char unknown168[16];
float xPlayerUnit; //0x00B8
float yPlayerUnit; //0x00BC
float zPlayerUnit; //0x00C0
float PlayerUnitWidth; //0x00C4
D3DXVECTOR3 RootPosition; //0x00C8
char unknown212[4];
float Pitch; //0x00D8
float Yaw; //0x00DC
float Roll; //0x00E0
};
class cClientInfoMgr //pointerto
{
public:
DWORD Unk;
c_player* First;
unsigned int LocalIndex; //0x0008
char unknown2[48];
__int32 iAlphaScore;
__int32 iBravoScore;
char unknown5[12];
__int32 iGameMode;
inline c_player* GetClientByID( int id )
{
c_player* ptr = First;
while( ptr )
{
if( ptr->ClientID == id )
return ptr;
ptr = ptr->Next;
}
return NULL;
}
};
class cClientWeaponMgr
{
public:
cClientWeapon** WeaponList; //0000
__int32 MaxWeapons; //0004
__int32 WeapIndex; //0008
cClientWeapon* CurrentWeapon; //000C
BYTE WeaponsEnabled; //0010
BYTE WeaponsVisible; //0011
char unknown16[20];
__int32 nCurrentWeaponID; //0x0024
};
class cPlayerMgr
{
public:
char pad[24];
cClientWeaponMgr* WeaponMgr; //0018
char unknown0[48];
float Pitch; //0048
float Yaw; //004C
float Roll;
char unknown3[220];
int* CameraObject; //012C
__inline cClientWeapon* GetCurrentWeapon()
{
if( WeaponMgr && WeaponMgr->CurrentWeapon )
return WeaponMgr->CurrentWeapon;
return NULL;
}
};
class cObjName
{
public:
char unknown0[4];
char Name[28]; //0004
};
class cBaseFX
{
public:
char unknown0[16];
int* Object; //0010
D3DXVECTOR3 Pos;
char unknown1[28];
cObjName* gotoObjName; //003C
char unknown2[16];
BYTE Unknown3; //0050
BYTE OwnerID; //0051
};
class cCharacterFX
{
public:
char unk1[16];
int* Object; //0x10
char unk2[44];
int IsPlayer; //0x40
char unk3[40];
unsigned char Index; //0x6C
char unknown112[8]; //0x0070
float fStartPitch; //0x0078
float fStartYaw; //0x007C
char unknown128[1224]; //0x0080
BYTE unk1287; //0x0548
bool bIsDead; //0x0549
bool bSpawnSheild; //0x054A
BYTE unk5563; //0x054B
char unknown1356[12]; //0x054C
int* hHitbox; //0x0558
char unknown1372[96]; //0x055C
WORD wUnk; //0x05BC
WORD wHealth; //0x05BE
WORD wArmor; //0x05C0
};
class Something
{
public:
bool bIsAlive; //0000
};
class WepInfo
{
public:
__int32 iBackPackABulletsLeft; //0000
__int32 i2ndaryBulletsLeft; //0004
__int32 Unknown0;
__int32 iGrenadesLeft; //000C
__int32 iBackPackBBulletsLeft; //0010
};
class Info
{
public:
char unknown0[12]; //0x0000
__int32 iHP; //0x000C
__int32 iAP; //0x0010
__int32 iMaxHP; //0x0014
__int32 iMaxAP; //0x0018
WepInfo* gotoWepInfo; //0x001C
Something* goToSomething; //0x0020
char unknown36[352];
float fStamina; //0x0184
__int32 iIsRunning; //0x0188
__int32 iIsJumping; //0x018C
__int32 iWeaponSlotInUse; //0x0190
char unknown404[44]; //0x0194
c_player* goToPlayers; //0x01C0
};
class LocalInfo
{
public:
Info* goToInfoClass; //0000
};
class cLTMessage
{
public:
virtual void Function0();
virtual void DoInit();
virtual void Function2();
virtual void Function3();
virtual void Function4();
virtual void Function5();
virtual void Function6();
virtual int DoSomething();
virtual void Function8();
virtual void WriteBits( int value, int size );
virtual void Function10();
virtual void Function11();
virtual void Function12();
virtual void Function13();
virtual void Function14();
virtual void WriteString( const wchar_t* data );
};
class cFont
{
public:
virtual void Function0();
virtual void Function1();
virtual void SetSomthing( int a, int b, int c, int d );
virtual void Function3();
virtual void Render();
virtual void Function5();
virtual void Function6();
virtual int GetX();
virtual void SetPos( int x, int y );
virtual void GetPos( int* x, int* y );
virtual void Function10();
virtual void Function11();
virtual void Function12();
virtual float GetScaleX();
virtual float GetScaleY();
virtual void Function15();
virtual void Function16();
virtual void Function17();
virtual void Function18();
virtual void Function19();
virtual void Function20();
virtual void Function21();
virtual void Function22();
virtual void Function23();
virtual void Function24();
virtual void Function25();
virtual void Function26();
virtual void Function27();
virtual void Function28();
virtual void Function29();
virtual void Function30();
virtual void Function31();
virtual void Function32();
virtual void Function33();
virtual void Function34();
virtual void Function35();
virtual void Function36();
virtual void Function37();
virtual void Function38();
virtual void Function39();
virtual void Function40();
virtual void Function41();
virtual void Function42();
virtual void Function43();
virtual void SetColor( int c, int c_, int c__, int const_num );
virtual void Function45();
virtual void Function46();
virtual void Function47();
virtual void Function48();
virtual void Function49();
virtual void Function50();
virtual void Function51();
virtual void Function52();
virtual void Function53();
virtual void Function54();
virtual void Function55();
virtual void Function56();
virtual void Function57();
virtual void Function58();
virtual void Function59();
virtual void Function60();
virtual void Function61();
virtual void Function62();
virtual void Function63();
virtual void Function64();
virtual void Function65();
virtual void Function66();
virtual void Function67();
virtual void Function68();
virtual void Function69();
virtual void Function70();
virtual void Function71();
virtual void Function72();
virtual void Function73();
virtual void Function74();
virtual void Function75();
virtual void Function76();
virtual void Function77();
virtual void Function78();
virtual void Function79();
virtual void Function80();
virtual void Function81();
virtual void Function82();
virtual void Function83();
virtual void SetText( unsigned short* text, int cont_num );
};
class cWeaponInfo
{
public:
char unknown0[12]; //0x0000
DWORD dwClientWeaponType; //0x000C
char unknown16[16]; //0x0010
DWORD dwAlt_InstDamage; //0x0020
DWORD dwInstDamage; //0x0024
DWORD UNK; //0x0028
char unknown44[104]; //0x002C
DWORD dwFireSnd; //0x0094
char unknown152[108]; //0x0098
float fFireDelay1; //0x0104
float ffiredelay1; //0x0108
DWORD dwMaxAmmo3; //0x010C
DWORD dwMaxAmmo2; //0x0110
char unknown276[276]; //0x0114
DWORD dwCrossHairA; //0x0228
DWORD dwCrossHairR; //0x022C
DWORD dwCrossHairG; //0x0230
DWORD dwCrossHairB; //0x0234
BYTE TripleShotMode; //0x0238
char unknown569[3]; //0x0239
DWORD dwTripleShotRoundNum; //0x023C
float fDamageRFacter; //0x0240
char unknown580[28]; //0x0244
DWORD dwInfiAmmo2;
DWORD dwInfiniteAmmo; //0x0264
DWORD dwHideWhenEmpty; //0x0268
DWORD dwIsAmmo; //0x026C
char unknown624[4]; //0x0270
DWORD dwShotsPerClip; //0x0274
char unknown632[52]; //0x0278
float fZoomTime; //0x02AC
DWORD dwMinPerturb; //0x02B0
DWORD dwMaxPerturb; //0x02B4
float fDuckPerturb; //0x02B8
float fMoveDuckPerturb; //0x02BC
DWORD dwZoomedMinPerturb; //0x02C0
DWORD dwZoomedMaxPerturb; //0x02C4
DWORD dwRange; //0x02C8
char unknown716[12]; //0x02CC
DWORD VectorsPerRound; //0x02D8
char unknown732[40]; //0x02DC
float fPerturbIncSpeed; //0x0304
float fPerturbDecSpeed; //0x0308
char unknown780[4]; //0x030C
float fZoomedPerturbIncSpeed; //0x0310
float fZoomedPerturbDecSpeed; //0x0314
char unknown792[4]; //0x0318
float fBaseCamRecoilPitch; //0x031C
float fBaseCamRecoilAccelPitch; //0x0320
char unknown804[36]; //0x0324
float fTripleShotMaxCamRecoilPitch; //0x0348
float fTripleShotBaseCamRecoilPitch; //0x034C
char unknown848[8]; //0x0350
DWORD dwTripleShotMinPerturb; //0x0358
DWORD dwTripleShotMaxPerturb; //0x035C
float fTripleShotPerturbIncSpeed; //0x0360
float fTripleShotPerturbDecSpeed; //0x0364
char unknown872[112]; //0x0368
DWORD dwFireRate; //0x03D8
DWORD dwMoveSpeed; //0x03DC
DWORD ID03B39CC0; //0x03E0
char unknown996[32]; //0x03E4
BYTE DisableCrosshair; //0x0404
char unknown1029[27]; //0x0405
float fCameraSwayXFreq; //0x0420
float fCameraSwayYFreq; //0x0424
char unknown1064[12]; //0x0428
DWORD dwTargetCrosshairFlag; //0x0434
DWORD dwEffectRange; //0x0438
char unknown1084[192]; //0x043C
DWORD dwFireDelay; //0x04FC
};
class cWeaponMgr
{
public:
char unknown0[5564];
cWeaponInfo** Weapons; //15BC
__int32 WeaponCount; //15C0
};
cPlayerMgr * pPlayerMgr = (cPlayerMgr*)(ADR_PlayerMgr);
cClientInfoMgr * pClientInfoMgr = (cClientInfoMgr*)(ADR_ClientInfoMgr);
#endif
this is reposted from the help section, from which i get less help then from this section.