Aprediz_do_hamilton (05-24-2016),Coder.DiasII (12-15-2015)
Allot has changed, both in cPlayerInfo & cPlayerMgr.
Credits:
• M4L1F1C
Enjoy.
Code:class cPlayerInfo { public: __int32 Index; //0x0000 cObject* pObject; //0x0004 unsigned char bIsDead; //0x0008 char pad_0x0009[0x3]; //0x0009 __int32 TeamID; //0x000C char pad_0x0010[0x8]; //0x0010 __int32 ClientID; //0x0018 char pad_0x001C[0xC]; //0x001C char cName[16]; //0x0028 char pad_0x0038[0x8]; //0x0038 __int32 Kills; //0x0040 __int32 Deaths; //0x0044 __int32 KillCombo; //0x0048 --> Not Sure __int32 TotalDeaths; //0x004C __int32 TotalKills; //0x0050 char pad_0x0054[0x4]; //0x0054 __int32 Suicides; //0x0058 __int32 HeadShots; //0x005C char pad_0x0060[0x174]; //0x0060 __int32 ExpReceived; //0x01D4 --> After game ended you get this. __int32 GPReceived; //0x01D8 --> After game ended you get this. char pad_0x01DC[0x178]; //0x01DC cPlayerInfo* pPlayerPrev; //0x0354 cPlayerInfo* pPlayerNext; //0x0358 char pad_0x035C[0x2CE4]; //0x035C };//Size=0x3040 class cObject { public: char pad_0x0000[0x4]; //0x0000 D3DXVECTOR3 FeetPos; //0x0004 D3DXVECTOR3 HeadPos; //0x0010 char pad_0x001C[0xAC]; //0x001C D3DXVECTOR3 RootPos; //0x00C8 char pad_0x00D4[0x330]; //0x00D4 };//Size=0x0404 class cPlayerMgr { public: INT* CameraObject; //0x0000 char pad_0x0004[0x28]; //0x0004 D3DXVECTOR3 CameraPos; //0x002C char pad_0x0038[0x4]; //0x0038 float Pitch; //0x003C float Yaw; //0x0040 float Roll; //0x0044 char pad_0x0048[0x38]; //0x0048 };//Size=0x0080
Aprediz_do_hamilton (05-24-2016),Coder.DiasII (12-15-2015)
M4L1F1C (12-15-2015)
I giggled, same engine?
THE EYE OF AN ADMINISTRATOR IS UPON YOU. ANY WRONG YOU DO IM GONNA SEE, WHEN YOU'RE ON MPGH, LOOK BEHIND YOU, 'CAUSE THATS WHERE IM GONNA BE
"First they ignore you. Then they laugh at you. Then they fight you. Then you lose.” - Dave84311
HAVING VIRTUAL DETOX
It looks like your PlayerMgr is outdated
Code:class cClientWeapon { public: char _0x0000[312]; __int32 FireWeapon; //0x0138 __int32 CurrentAmmo; //0x013C char _0x0140[16]; __int32 WeaponReload; //0x0150 void Fire(bool fire = true) { if(fire) FireWeapon = 1; } };//Size=0x0438 class cClientWeaponMgr { public: cClientWeapon** WeaponList; //0x0000 char _0x0004[12]; cClientWeapon* CurrentWeapon; //0x0010 char _0x0014[44]; };//Size=0x0040 class cPlayerMgr { public: char _0x0000[24]; cClientWeaponMgr *ClientWeaponManager; //0x0018 char _0x001C[56]; float Pitch; //0x0054 float Yaw; //0x0058 float Rool; //0x005C char _0x0060[248]; __int32 *CameraObject; //0x0158 __inline cClientWeapon *GetCurrentWeapon(void) { if(ClientWeaponManager && ClientWeaponManager->CurrentWeapon) return ClientWeaponManager->CurrentWeapon; return NULL; } };//Size=0x015C
Code:#define ADDR_PLAYERMANAGER 0x37ABABA4Code:373BAACA |. 68 F0757E37 PUSH CS.377E75F0 ; ASCII "CPlayerMgr::ResetCamera() fFovX : %f" 373BAACF |. 50 PUSH EAX 373BAAD0 |. 8B42 18 MOV EAX,DWORD PTR DS:[EDX+18] 373BAAD3 |. FFD0 CALL EAX 373BAAD5 |. 83C4 10 ADD ESP,10 373BAAD8 |. 833D 80D5A537 >CMP DWORD PTR DS:[37A5D580],0 373BAADF |. 74 08 JE SHORT CS.373BAAE9 373BAAE1 |. D905 84D5A537 FLD DWORD PTR DS:[37A5D584] 373BAAE7 |. EB 02 JMP SHORT CS.373BAAEB 373BAAE9 |> D9EE FLDZ 373BAAEB |> 833D 5CD5A537 >CMP DWORD PTR DS:[37A5D55C],0 373BAAF2 |. D95C24 0C FSTP DWORD PTR SS:[ESP+C] 373BAAF6 |. 74 08 JE SHORT CS.373BAB00 373BAAF8 |. D905 60D5A537 FLD DWORD PTR DS:[37A5D560] 373BAAFE |. EB 02 JMP SHORT CS.373BAB02 373BAB00 |> D9EE FLDZ 373BAB02 |> 8BB6 58010000 MOV ESI,DWORD PTR DS:[ESI+158] >>>>>>>> CameraObject 373BAB08 |. D95C24 08 FSTP DWORD PTR SS:[ESP+8]
Yeah, I was using this one:
While I was reversing Player Camera it gave me that pointer so I thought I was correct.Code:___:371ACFAC ___:371ACFAC loc_371ACFAC: ; CODE XREF: sub_371ACE90+105j ___:371ACFAC cmp byte ptr [esi+5C8h], 0 ___:371ACFB3 jz short loc_371ACFCA ___:371ACFB5 mov eax, dword_37A7B548 ___:371ACFBA mov ecx, [eax] ___:371ACFBC mov edx, [ecx+18h] ___:371ACFBF push offset aSetfpchasing_0 ; "SetFpChasingINfo FPCHASINGUPDATE_BOMBPL"... ___:371ACFC4 push eax ___:371ACFC5 call edx ___:371ACFC7 add esp, 8 ___:371ACFCA ___:371ACFCA loc_371ACFCA: ; CODE XREF: sub_371ACE90+123j ___:371ACFCA mov ecx, dword_37ABABA4 ___:371ACFD0 call sub_373B7840 ___:371ACFD5 test eax, eax ___:371ACFD7 jz loc_371AD067 ___:371ACFDD mov ecx, dword_37ABABA4 ___:371ACFE3 mov eax, [ecx] ___:371ACFE5 mov edx, [eax+40h] ___:371ACFE8 mov esi, [esi+10h]
Thanks for correcting me.
EDIT:
We're using the same exact pointer...
Last edited by M4L1F1C; 12-19-2015 at 09:19 AM.
I don't know if classes changed for CA Unified.
But they did change ALLOT of functions.
That's why I wanted old dumps: https://www.mpgh.net/forum/showthread.php?t=1099971
So I can update new classes.