8.2.0.31478 Object Manager menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 16
  1. #1
    ChrisIsMe's Avatar Contributor
    Reputation
    164
    Join Date
    Apr 2017
    Posts
    210
    Thanks G/R
    67/100
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    8.2.0.31478 Object Manager

    I couldn't find much that was shared

    0x26bb860: ObjMgr
    ObjMgr + 0x18: FirstObj
    FirstObj + 0x30: NextObj
    FirstObj + 0x70: EntityList in some cases, depends on if first object is a unit/player/active player
    Obj + 148: Object Name Cache (not unit names)
    (CurObj + ObjNameCache) + 0xE0: Current Object Name
    CurObj + 0x10: Object Type
    CurObj + 0x48: Object GUID
    CurObj + 0x190: X
    CurObj + 0x194: Y
    CurObj + 0x198: Z
    CurObj + 0x19C: R (Or facing, there's a few different things that link to the object position, under those is the object rotation in radians)

    (CurObj + 0x120) + 0x1A0: Appears to be the Current Object Creator GUID

    (CurObj + 0x120) + 0x24: Appears to be fish on a bobber (byte) or maybe an isanimated flag

    0x120 could just be all the flags, I’m unsure as I haven’t looked into it further because I just needed this to make my fishing bot

    But I did notice there was a byte that changed based on movement direction from 0 to 8ish, taking into account strafing, which makes me think there’s more in there.

    Wow.exe+0x25D0830: Lua Tainted
    Wow.exe+0x27849D0: Minimap (Zone) Text
    Wow.exe+0x27851A8: Real Zone

    Wow.exe+0x2754470: AFK Chat State (byte 0-2?)

    (CurObj + 0x120) + 0x408: (Channeling spell id)
    (CurObj+0x120) +0x414: (Channeling finish time)
    (CurObj+0x120) +0x410: (Channel start time)

    (CurObj+0x120) + 0x3B0: Unit Casting Spell ID
    (CurObj+0x120) + 0x400: Unit Cast Start time
    (CurObj+0x120) + 0x404: Unit Cast End time

    CurObj+0x158C: Unit Race

    Wow.exe+0x24FF3F0:Targetting pointer
    Targeting + 0x30: Current target GUID
    Targeting + 0x40: Previous target GUID
    Last edited by ChrisIsMe; 09-22-2019 at 12:27 PM.

    8.2.0.31478 Object Manager
  2. #2
    ChrisIsMe's Avatar Contributor
    Reputation
    164
    Join Date
    Apr 2017
    Posts
    210
    Thanks G/R
    67/100
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    //Saving incase
    Last edited by ChrisIsMe; 09-22-2019 at 12:13 AM.

  3. #3
    SailorMars's Avatar Member
    Reputation
    7
    Join Date
    Oct 2015
    Posts
    49
    Thanks G/R
    0/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ChrisIsMe View Post
    I couldn't find much that was shared

    0x26bb860: ObjMgr
    ObjMgr + 0x18: FirstObj
    FirstObj + 0x30: NextObj
    FirstObj + 0x70: EntityList in some cases, depends on if first object is a unit/player/active player
    Obj + 148: Object Name Cache (not unit names)
    (CurObj + ObjNameCache) + 0xE0: Current Object Name
    CurObj + 0x10: Object Type
    CurObj + 0x48: Object GUID
    CurObj + 0x190: X
    CurObj + 0x194: Y
    CurObj + 0x198: Z
    CurObj + 0x19C: R (Or facing, there's a few different things that link to the object position, under those is the object rotation in radians)

    I haven't found the descriptors or animation flags yet, but getting close
    i got these values for X,Y,Z,R by assuming that they are float type:
    x: -10639.7, y: 1186.18, z: 34.1422, r: 5.99799
    The value of R changes according to my rotation from 0-6.28.. which seems correct. North is 0, and the value increases when i turn counter-clockwise until a complete circle where it reaches 6.28 and is reset to 0.
    The value of X,Y,Z changes when i move the player but the values seem illogical as indicated in my e.x. above. How should we interpret the X,Y,Z ?

  4. #4
    ChrisIsMe's Avatar Contributor
    Reputation
    164
    Join Date
    Apr 2017
    Posts
    210
    Thanks G/R
    67/100
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by SailorMars View Post
    i got these values for X,Y,Z,R by assuming that they are float type:
    x: -10639.7, y: 1186.18, z: 34.1422, r: 5.99799
    The value of R changes according to my rotation from 0-6.28.. which seems correct. North is 0, and the value increases when i turn counter-clockwise until a complete circle where it reaches 6.28 and is reset to 0.
    The value of X,Y,Z changes when i move the player but the values seem illogical as indicated in my e.x. above. How should we interpret the X,Y,Z ?
    Those seem like normal XYZ values.

    You can also look at

    Object+0x150 which is also the objects coordinates.

  5. #5
    SailorMars's Avatar Member
    Reputation
    7
    Join Date
    Oct 2015
    Posts
    49
    Thanks G/R
    0/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ChrisIsMe View Post
    Those seem like normal XYZ values.

    You can also look at

    Object+0x150 which is also the objects coordinates.
    How should we interpret these X,Y,Z values? I'm using tomtom to display the coordinate in the current zone which is different from them. Obviously, these values are relative to something else. How do we convert these values to the coordinate displayed by tomtom for the current zone.

  6. #6
    ChrisIsMe's Avatar Contributor
    Reputation
    164
    Join Date
    Apr 2017
    Posts
    210
    Thanks G/R
    67/100
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by SailorMars View Post
    How should we interpret these X,Y,Z values? I'm using tomtom to display the coordinate in the current zone which is different from them. Obviously, these values are relative to something else. How do we convert these values to the coordinate displayed by tomtom for the current zone.
    Those coordinates are from the minimap afaik. I’m not sure you can convert world to those, but it’s maybe possible. Have fun with math (: or look at the lua in ida, or question why you’d choose those coordinates over the exact world coordinates.

  7. #7
    xalcon's Avatar Contributor ふたなり
    Authenticator enabled
    Reputation
    198
    Join Date
    Oct 2008
    Posts
    291
    Thanks G/R
    20/58
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    TomTom (and other addons) use the C_Map.GetPlayerMapPosition API and multiply the coordinates by 100. WoW provides an API to convert map coordinates + map id to world coordinates, see C_Map.GetWorldPosFromMapPos.
    Keep in mind, those APIs only work outsides instances. They return 0,0 otherwise.
    "Threads should always commit suicide - they should never be murdered" - DirectX SDK

  8. #8
    SailorMars's Avatar Member
    Reputation
    7
    Join Date
    Oct 2015
    Posts
    49
    Thanks G/R
    0/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Any idea where is the descriptor . In this example, wowobjectdescriptorfields=0 is used, but i doubt if it is correct.

    https://www.ownedcore.com/forums/wor...ml#post4060495 (Cheat Engine - Object Manager Script (For Newbies))

  9. #9
    ndrax's Avatar Active Member CoreCoins Purchaser
    Reputation
    16
    Join Date
    Jan 2010
    Posts
    6
    Thanks G/R
    3/7
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You are looking at a commented out line in the script you linked to. Look later in that script and you will see wowObjectDescriptorFields=16, i.e. 0x10. I'm not sure about 8.2.0.31478, but in 1.13.2.31882 it is still 0x10.

    Even if it weren't, you can easily find it yourself many ways. One example: locate the memory address of your local player's health using Cheat Engine. Assuming you know the base address of your local player, you can then use the Structure spider tool to find the right offset for unit fields:
    1. Set "Base region" to your player base
    2. Check "Pointer must be in range," and put the address of your unit's health as the begin and end of the range.
    3. We know we're expecting just a single offset, so set max level to 1
    4. Scan

    I tried it with player base=0x267609E96E0, player health=0x26760A08304, and here is what it looks like:


    So the player health is *(*(PlayerBase + 0x10) + 0xDC), and offset for unit fields is of course 0x10.
    Attached Thumbnails Attached Thumbnails 8.2.0.31478 Object Manager-structurespider-jpg  

  10. #10
    SailorMars's Avatar Member
    Reputation
    7
    Join Date
    Oct 2015
    Posts
    49
    Thanks G/R
    0/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It seems to me that in 8.2.0.31478, the hp is directly a field of the unit object. My test result:
    1. scan for hp yields 2 addresses close to each other, i cannot tell which is the real one

    0x19a7face488
    0x19a7face698

    2. player base is

    0x19a7facd100


    So , the hp is at either 1 of these offsets of the player object directly, no more descriptor structure:
    19a7face488-19a7facd100= 1388
    19a7face698-19a7facd100= 1598

    As suggested here
    https://www.ownedcore.com/forums/wor...ml#post4053770 ([WoW] 8.2.0.31229)

    I remember i did come across a post saying classic is based off 8.0.x source code which is still using the descriptor to hold the health value.
    Last edited by SailorMars; 09-23-2019 at 09:12 AM.

  11. #11
    ChrisIsMe's Avatar Contributor
    Reputation
    164
    Join Date
    Apr 2017
    Posts
    210
    Thanks G/R
    67/100
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by SailorMars View Post
    It seems to me that in 8.2.0.31478, the hp is directly a field of the unit object. My test result:
    1. scan for hp yields 2 addresses close to each other, i cannot tell which is the real one

    0x19a7face488
    0x19a7face698

    2. player base is

    0x19a7facd100


    So , the hp is at either 1 of these offsets of the player object directly, no more descriptor structure:
    19a7face488-19a7facd100= 1388
    19a7face698-19a7facd100= 1598

    As suggested here
    https://www.ownedcore.com/forums/wor...ml#post4053770 ([WoW] 8.2.0.31229)

    I remember i did come across a post saying classic is based off 8.0.x source code which is still using the descriptor to hold the health value.
    Unit+0x1598 Health
    Unit+0x15A0 Max Health
    Unit+0x120 + 0x1488 //Level
    Unit+0x158C: Unit Race

    You can also fnid the health and such inside of 0x120
    Last edited by ChrisIsMe; 09-23-2019 at 11:19 AM.

  12. #12
    counted's Avatar Contributor Authenticator enabled
    Reputation
    203
    Join Date
    Mar 2008
    Posts
    183
    Thanks G/R
    11/108
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Descriptor fields use to be in separate memory chunks hence the need for the descriptor offset which was the pointer to the chunk(s), there were actually a couple of pointers but the main one was the descriptor pointer.

    Now all descriptor fields are contiguous with the main object, so one memory chunk, and no need for pointer. There might be offset pointers to section within in the ONE memory chunk, not really sure. I just use base object address plus an offset. Looking through lua routines they all seem to use this address method.
    Last edited by counted; 09-23-2019 at 03:10 PM.

  13. #13
    ChrisIsMe's Avatar Contributor
    Reputation
    164
    Join Date
    Apr 2017
    Posts
    210
    Thanks G/R
    67/100
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by counted View Post
    Descriptor fields use to be in separate memory chunks hence the need for the descriptor offset which was the pointer to the chunk(s), there were actually a couple of pointers but the main one was the descriptor pointer.

    Now all descriptor fields are contiguous with the main object, so one memory chunk, and no need for pointer. There might be offset pointers to section within in the ONE memory chunk, not really sure. I just use base object address plus an offset. Looking through lua routines they all seem to use this address method.
    Ya, I've found that 0x120 seems to contain a few things that I haven't been able to find in the main object structure, and then most other things are just in the main object structure it's self.
    Last edited by ChrisIsMe; 09-23-2019 at 06:52 PM.

  14. #14
    jmanji's Avatar Member
    Reputation
    1
    Join Date
    Nov 2020
    Posts
    2
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    can u describe what method did u use to find object manager on Wow 8.2.0 because i playing in a private server and obj adress not the same ?

  15. #15
    maikel233's Avatar Contributor
    Reputation
    137
    Join Date
    Sep 2010
    Posts
    109
    Thanks G/R
    38/64
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by jmanji View Post
    can u describe what method did u use to find object manager on Wow 8.2.0 because i playing in a private server and obj adress not the same ?
    use the search function
    https://www.ownedcore.com/forums/wor...ctmanager.html ([HELP] Find 64bit objectmanager)

  16. Thanks ChrisIsMe (1 members gave Thanks to maikel233 for this useful post)
Page 1 of 2 12 LastLast

Similar Threads

  1. [APP] - Malu05's Ingame Object Manager.
    By UnknOwned in forum WoW ME Tools & Guides
    Replies: 16
    Last Post: 05-30-2009, 01:42 PM
  2. Mobs missing from object manager.
    By RawrSnarl in forum WoW Memory Editing
    Replies: 23
    Last Post: 12-31-2008, 01:31 PM
  3. Object Manager
    By Shamun in forum WoW Memory Editing
    Replies: 11
    Last Post: 11-28-2008, 02:06 PM
  4. WoW Object Manager ?
    By discorly in forum WoW ME Questions and Requests
    Replies: 4
    Last Post: 07-28-2007, 06:34 PM
All times are GMT -5. The time now is 03:08 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