Character selection info menu

User Tag List

Results 1 to 4 of 4
  1. #1
    DarthTon's Avatar Contributor
    Reputation
    171
    Join Date
    Apr 2010
    Posts
    108
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Character selection info

    Maybe somebody will find this useful.

    These are some structures used in character selection screen that hold info about player characters.
    PHP Code:
    // sizeof = 0xD0
    class CCharInfo
    {
    public:
        
    DWORD unk_000[7];           // 0x000
        
    char *pBNetTag;             // 0x01C
        
    DWORD unk_020[4];           // 0x020
        
    int charID;                 // 0x030
        
    DWORD unk_034[2];           // 0x034
        
    char *pName;                // 0x03C
        
    DWORD unk_040[3];           // 0x040
        
    int class_idx;              // 0x04C
        
    DWORD unk_050;              // 0x050
        
    int level;                  // 0x054
        
    DWORD unk_058;              // 0x058
        
    int paragon;                // 0x05C
        
    DWORD unk_060[23];          // 0x060
        
    int played;                 // 0x0BC
        
    __int64 created_on;         // 0x0C0
        
    DWORD unk_0C4[2];           // 0x0C8
    };

    // sizeof = 0x158
    class CCharContainer
    {
    public:
        
    DWORD unk[34];              // 0x000
        
    CCharInfo chr;              // 0x088
    };

    // sizeof = 0x120
    class CCharMgr
    {
    public:
        
    void** vtable;              // 0x000
        
    DWORD unk_004[2];           // 0x004
        
    int selected_idx;           // 0x00C
        
    DWORD unk_010[28];          // 0x010
        
    CCharContainerpCharList;  // 0x080
        
    DWORD unk_084;              // 0x084
        
    int count;                  // 0x088
        
    DWORD unk2[37];             // 0x08C
    }; 
    Usage (build 1.0.8.16603):
    PHP Code:
    CCharMgrpMgr = *(CCharMgr**)0x183E900;
    if(
    pMgr)
    {
        for(
    int i 0pMgr->count; ++i)
        {
            
    int level pMgr->pCharList[i].chr.level;
        }


    Character selection info
  2. #2
    KillerJohn's Avatar TurboHUD HUDmaster CoreCoins Purchaser Authenticator enabled
    Reputation
    3693
    Join Date
    Jul 2012
    Posts
    2,532
    Thanks G/R
    46/3335
    Trade Feedback
    0 (0%)
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)
    WOW that was fast! Thank you!

    But I have a small problem:
    int CharacterManagerPtr = MR.ReadInt(0x183E900);
    this is always zero...
    Do not send me private messages unless it is absolutely necessary or the content is sensitive or when I ask you to do that...

  3. #3
    DarthTon's Avatar Contributor
    Reputation
    171
    Join Date
    Apr 2010
    Posts
    108
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Its zero anywhere except character selection screen itself.

  4. #4
    KillerJohn's Avatar TurboHUD HUDmaster CoreCoins Purchaser Authenticator enabled
    Reputation
    3693
    Join Date
    Jul 2012
    Posts
    2,532
    Thanks G/R
    46/3335
    Trade Feedback
    0 (0%)
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by DarthTon View Post
    Its zero anywhere except character selection screen itself.
    ooooooh

    This code works everywhere, even in-game or menu, or AH - everywhere.
    The problem with this code is that I can't find any "selected_index" there to get the current character...
    (this is the way I read the character data in TurboHUD)

    Code:
                int extra_ofs = 0x88;
                int A = MR.ReadInt(0x1833EC4);
                int B = MR.ReadInt(A + 0x10);
                int C = MR.ReadInt(B + 0x9C);
    
                int ListPtr = MR.ReadInt(C + 0xAC);
                int ListArrayStart = MR.ReadInt(ListPtr + 0x004);
                int itemSize = MR.ReadInt(ListPtr + 0x010);
                int itemCount = MR.ReadInt(ListPtr + 0x014);
    
                    for (int i = 0; i < itemCount; i++)
                    {
                        int charAddr = ListArrayStart + 0x18 + i * itemSize;
                        uint charID = MR.ReadUInt(charAddr + extra_ofs + 0x30);
                        
                    }
    It seems the character structures are similar but the location in memory is different...
    your character structure's size with container is 0x158 while mine is 0x170 so it is clearly a different purpose list - the question is why the f*ck they need 2 lists for the same thing...
    Last edited by KillerJohn; 08-25-2013 at 12:34 PM.
    Do not send me private messages unless it is absolutely necessary or the content is sensitive or when I ask you to do that...

Similar Threads

  1. Character Selection Screen
    By amrod_dp in forum WoW ME Questions and Requests
    Replies: 2
    Last Post: 09-06-2011, 11:09 AM
  2. [DBC Edit] Character Selection
    By Oradon in forum WoW ME Questions and Requests
    Replies: 1
    Last Post: 10-23-2008, 06:23 PM
  3. Unable to get to character select
    By Jezee in forum WoW EMU Questions & Requests
    Replies: 5
    Last Post: 08-29-2008, 11:29 PM
  4. Possible to Prevent a Race or Class from Character Selection Screen?
    By kevinno in forum World of Warcraft Emulator Servers
    Replies: 6
    Last Post: 07-22-2008, 12:48 AM
  5. Black Character Selection Screen
    By Kahark in forum WoW ME Questions and Requests
    Replies: 1
    Last Post: 05-06-2007, 03:26 PM
All times are GMT -5. The time now is 04:05 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search