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?
Printable View
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?
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
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.