1A4 would be used to find the player's HighID.Code:return *(DWORD*)(ZGetGameClient() + 0x1A4) return *(type*)(ZGetGameClient() + pointer)
How do I find ZGetGameClient / ZGAME pointers?
Also, what would be the pointer to find the player's UGradeID?
1A4 would be used to find the player's HighID.Code:return *(DWORD*)(ZGetGameClient() + 0x1A4) return *(type*)(ZGetGameClient() + pointer)
How do I find ZGetGameClient / ZGAME pointers?
Also, what would be the pointer to find the player's UGradeID?
Last edited by Linear88; 26-08-09 at 03:14 PM.
Last edited by ThePhailure772; 26-08-09 at 09:58 PM.
ZApplication::GetGameClient() can be found with the signature
ZGetGameClient() is just a jmp to this static memberCode:8B 00 8B 80 EC 02 00 00
ZApplication::GetGame() can similarly be found with the signature
ZGetGame() is also a jmp to thisCode:8B 00 8B 80 F0 02 00 00
those signatures will work as long as the ZApplication struct doesn't change (it hasn't since JGunz, so that seems pretty unlikely)
i lol'd @ phail's post before the edit
edit: UGradeID can be found in ZMyInfo, but you don't get a handout on that one
Last edited by arenti; 26-08-09 at 10:17 PM.
Is it ZMyInfo::IsAdminGrade ?
EnjoyCode:#define ZMYINFO_GETINSTANCE 0x0044ECE0 bool CApplication::IsAdmin() const { int nUGradeID = 0; DWORD_PTR pInstance = 0; __asm { mov eax, ZMYINFO_GETINSTANCE call eax mov pInstance, eax } if( !pInstance ) return false; nUGradeID = *(DWORD*)( pInstance + 0x154 ); return nUGradeID == 255; }
Thanks very much! :)
Was looking for this today.
Last edited by Linear88; 31-08-09 at 03:51 PM.