[HELP] Finding ZGetGameClient pointers

Results 1 to 7 of 7
  1. #1

    [HELP] Finding ZGetGameClient pointers

    Code:
    return *(DWORD*)(ZGetGameClient() + 0x1A4)
    return *(type*)(ZGetGameClient() + pointer)
    1A4 would be used to find the player's HighID.

    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.


  2. #2
    Mako is insane. ThePhailure772 is offline
    MemberRank
    Sep 2007 Join Date
    1,115Posts

    Re: [HELP] Finding ZGetGameClient pointers

    Quote Originally Posted by Linear88 View Post
    Code:
    return *(DWORD*)(ZGetGameClient() + 0x1A4)
    return *(type*)(ZGetGameClient() + pointer)
    1A4 would be used to find the player's HighID.

    How do I find ZGetGameClient / ZGAME pointers?

    Also, what would be the pointer to find the player's UGradeID?
    You have to reverse engineer them. Maybe you should look into mapping out the ZGameClient structure, but before you can do that you need to learn about reverse engineering and programming with pointers.
    Last edited by ThePhailure772; 26-08-09 at 09:58 PM.

  3. #3
    Enthusiast arenti is offline
    MemberRank
    Dec 2008 Join Date
    25Posts

    Re: [HELP] Finding ZGetGameClient pointers

    ZApplication::GetGameClient() can be found with the signature

    Code:
    8B 00 8B 80 EC 02 00 00
    ZGetGameClient() is just a jmp to this static member

    ZApplication::GetGame() can similarly be found with the signature

    Code:
    8B 00 8B 80 F0 02 00 00
    ZGetGame() is also a jmp to this

    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.

  4. #4

    Re: [HELP] Finding ZGetGameClient pointers

    Is it ZMyInfo::IsAdminGrade ?

  5. #5
    Proficient Member -Lambda- is offline
    MemberRank
    Jan 2007 Join Date
    SpainLocation
    157Posts

    Re: [HELP] Finding ZGetGameClient pointers

    Code:
    #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;
    }
    Enjoy

  6. #6
    Account Upgraded | Title Enabled! Tman151 is offline
    MemberRank
    May 2009 Join Date
    CaliforniaLocation
    306Posts

    Re: [HELP] Finding ZGetGameClient pointers

    Thanks very much! :)
    Was looking for this today.

  7. #7

    Re: [HELP] Finding ZGetGameClient pointers

    Quote Originally Posted by -Lambda- View Post
    Code:
    #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;
    }
    Enjoy
    Thanks a lot!

    Original code I wrote:
    Code:
    int GetUGradeID()
    {
        int UGradeID = 0;
        __asm
        {
            mov eax, dword ptr [ZMyInfo() + 0x154]
            call eax
            mov UGradeID, eax
        }
    
        return (int)UGradeID;
    }
    I had thought that it was called that way.
    Last edited by Linear88; 31-08-09 at 03:51 PM.



Advertisement