[3.4.3.51666] [WoTLK] - Offsets / Fields menu

User Tag List

Page 1 of 3 123 LastLast
Results 1 to 15 of 31
  1. #1
    wardrive's Avatar Active Member
    Reputation
    20
    Join Date
    Jul 2023
    Posts
    43
    Thanks G/R
    23/8
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [3.4.3.51666] [WoTLK] - Offsets / Fields

    Just posting what I've found so far with the latest patch, will update as I confirm others:

    Offsets
    playername_offset = 0x2FEA648
    playerguid_offset = 0x2FEA630
    objectmanager_offset = 0x30A1140
    objectmanager_names = 0x2D8B060
    spell_cooldown_offset = 0x303A940
    pet_guid_offset = 0x3102410 // 0F 11 05 ?? ?? ?? ?? 4C 8B 49

    gettime_offset = 0x2DB0174
    gamestatus_offset = 0x3100AF0
    target_guid_offset = 0x2DB0658
    focus_guid_offset = 0x2DB0698
    mouseover_guid_offset = 0x3100AF8


    Unit Fields
    health = 0xD668
    healthmax = 0xD670
    energy = 0xD9B0
    energymax = 0xD9D8
    mountid = 0xD7B8
    target = 0xD728
    moving = 0x170
    castingspellid = 0x6C0
    factiontemplate = 0xD78C
    Last edited by wardrive; 10-21-2023 at 04:43 AM.

    [3.4.3.51666] [WoTLK] - Offsets / Fields
  2. Thanks Razzue, maikel233 (2 members gave Thanks to wardrive for this useful post)
  3. #2
    Razzue's Avatar Contributor Avid Ailurophile

    CoreCoins Purchaser Authenticator enabled
    Reputation
    378
    Join Date
    Jun 2017
    Posts
    588
    Thanks G/R
    184/267
    Trade Feedback
    2 (100%)
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)
    Appears object fields are the same:
    Code:
    public class Object // 3.4.2
    {
        // 48 8B 81 ? ? ? ? 48 85 C0 74 ? 48 8B 80 ? ? ? ? C3 48 8D 05 ? ? ? ?
        public const int Info = 0x148;
        public const int Name = 0xE0;
    
    
        // 8B 8B ? ? ? ? 48 8B F0 C1 E9 ? F6 C1 ?
        public const int Flags = 0xA0;
    
    
        // Assuming they stayed the same as the above did.
        public const int Creator = 0x210;
        public const int ObjectID = 0xD0;
        public const int Location = 0x108;
    }
    Quick offset dump (some already posted):
    Code:
    --- --- --- ---  Camera  --- --- --- ---
    Offset              -> 0x3930
    Address             -> 0x2FC6130
    --- --- --- ---  Guid's  --- --- --- ---
    FPS                 -> 0x0
    Pet                 -> 0x0
    Player              -> 0x2BE55B8
    Target              -> 0x2DB0658
    Mouseover           -> 0x3100AF8
    --- --- --- --- Globals  --- --- --- ---
    Combat Log          -> 0x2C34B60
    Game Status         -> 0x3100AF0
    Loot Window         -> 0x31025A8
    Last Message        -> 0x30FFDB0
    --- --- --- --- Managers --- --- --- ---
    Macros              -> 0x2C448F8
    Key Binds           -> 0x2FE9808
    Cooldowns           -> 0x303A940
    Name Cache          -> 0x2D46550
    Spell Book          -> 0x3100F70
    Object Manager      -> 0x30A1140
    "May all your bacon burn"

  4. Thanks wardrive (1 members gave Thanks to Razzue for this useful post)
  5. #3
    Razzue's Avatar Contributor Avid Ailurophile

    CoreCoins Purchaser Authenticator enabled
    Reputation
    378
    Join Date
    Jun 2017
    Posts
    588
    Thanks G/R
    184/267
    Trade Feedback
    2 (100%)
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)
    Updated local player fields:
    Code:
    public class LocalPlayer
    {
        // unchanged
        public const int Quests = 0xDEB8;
    
    
        // 48 8D 88 ? ? ? ? 8B D3 E8 ? ? ? ? 48 8B F0 48 85 C0 0F 84 ? ? ? ? 0F B6 48 ?
        public const int Inventory = 0x12A08;
    
    
        // 40 57 48 83 EC ? 48 8B F9 E8 ? ? ? ? 0F 57 C9 48 85 C0 74 ? 48 8B 90 ? ? ? ?
        public const int Money = 0xE658;
        
        // 66 0F 6E 88 ? ? ? ? F3 0F E6 C9 EB ? 0F 57 C9 48 8B CB E8 ? ? ? ? 4C 8B 44 24 ? 0F 1F 44 00 ? 90 F8
        public const int Experience = 0xE660;
        public const int NextLevelXP = 0xE664; 
    }
    Item fields remained the same:
    Code:
    public class Item{
        public const int ID = 0x150;
        public const int Flag = 0x1C0;
        public const int Owner = 0x178;
        public const int Container = 0x188;
        public const int StackCount = 0x1B8;
        
        public const int Enchant_ID = 0x2F4;
        public const int Enchant_Expire = 0x2F8;
    
    
        public const int Durability = 0x1CC;
        public const int MaxDurability = 0x1D0;
        public const int ContainerCount = 0x470;
        public const int ContainerItems = 0x478;
    }
    Aura stuff updated (struct unchanged):
    Code:
    public class Aura{
        // 85 C9 78 ? 48 89 5C 24 ?
        public const int Size = 0xB0;
        public const int Table1 = 0x820;
        public const int Table2 = 0x828;
    }
    Last edited by Razzue; 10-11-2023 at 07:14 AM.
    "May all your bacon burn"

  6. Thanks wardrive (1 members gave Thanks to Razzue for this useful post)
  7. #4
    Razzue's Avatar Contributor Avid Ailurophile

    CoreCoins Purchaser Authenticator enabled
    Reputation
    378
    Join Date
    Jun 2017
    Posts
    588
    Thanks G/R
    184/267
    Trade Feedback
    2 (100%)
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)
    And last but not least:
    Code:
    public class Unit{
        // 8B 8B ? ? ? ? 48 8B D7 E8 ? ? ? ? EB ?
        public const int Faction = 0xD78C;
        public const int NpcFlag = 0xD6A0;
        public const int DisplayId = 0x508;
    
    
        public const int CastID = 0x6E8;
        public const int ChanID = 0x718;
    
    
        public const int CastEnd = 0x714;
        public const int ChanEnd = 0x724;
    
    
        public const int CastStart = 0x710;
        public const int ChanStart = 0x720;
    
    
        public const int Summoner = 0xD6B8;
        public const int Creator = Summoner + 0x10;
        public const int Master = Creator + 0x10; // Master and charmer may need to be switched.
        public const int Charmer = Master + 0x10; 
        public const int Level = 0xD768;
        public const int Target = 0xD728;
        public const int MountID = 0xD7B8;
    
    
                #region  MyRegion
    
    
        // 48 89 5C 24 ? 48 89 7C 24 ? 41 56 48 83 EC ? 4D 8B F1
        public const int Info = 0x500;
        public const int Type = 0x30;
        public const int Family = 0x34;
        public const int Rank = 0x38;
        public const int GatherType = 0xE8;
        public const int Name = 0xF8;
    
    
    
    
        // 8B 81 ? ? ? ? 85 C0 74 ? F6 81 ? ? ? ? ? 74 ? 0F B6 81 ? ? ? ? C3
        public const int Race = 0xD75C;
        public const int Class = Race + 0x1;
        public const int Sex  = Class + 0x2;
    
    
        // 48 89 5C 24 ? 57 48 83 EC ? 48 8B 05 ? ? ? ? 48 8B DA 48 C1 E8 ?
        public const int DynamicFlag = 0xDC; // Assuming it stayed the same.
        public const int UnitFlag1 = 0xD790;
        public const int UnitFlag2 = UnitFlag1 + 0x4;
        public const int UnitFlag3 = UnitFlag2 + 0x4;
    
    
        // 48 8B 05 ? ? ? ? 83 78 ? ? 74 ? 48 8B 81 ? ? ? ? C3
        public const int Health = 0xD668;
        public const int MaxHealth = 0xD670;
    
    
        // It appears these offsets did not change
        public const int Movement = 0xF0;
        public const int Location = 0x20;
        public const int RotationD = 0x2C;
        public const int RotationF = 0x30;
        public const int Pitch = 0x34;
        public const int MoveFlag = 0x108;
    
    
        // 48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC ? 0F 29 74 24 ? 0F B6 F2
        public const int MaxPower1 = 0xD9B0;
    
    
        // 48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC ? 0F 29 74 24 ? 0F B6 F2
        public const int Power1 = 0xD9D8;
    
    
        // F6 81 ? ? ? ? ? 74 ? 33 C0
        public const int ShapeShiftForm1 = 0x5C4;
        public const int ShapeShiftForm2 = 0xD80F;
    
    
        public const int CollisionWidth = 0x37C;
        public const int CollisionHeight = 0x380;
        public const int CollisionUnknown = 0x384;
                #endregion 
    }
    And more "in depth" offsets, any that have "0x30096" have broken patterns :
    Code:
    [4:17 AM] --- Guids ---
    [4:17 AM] Mouseover Guid  -> 0x3100AF8
    [4:17 AM] Pet Guid  -> 0x30096
    [4:17 AM] Player Guid  -> 0x2BE55B8 --> Is Wrong
    [4:17 AM] Target Guid  -> 0x2DB0658
    [4:17 AM] Last Target Guid  -> 0x2DB0668
    [4:17 AM] Last Enemy Guid  -> 0x2DB0678
    [4:17 AM] Last Friendly Guid  -> 0x2DB0688
    [4:17 AM] Focus Guid  -> 0x2DB0698
    [4:17 AM] DialogWindowOwner Guid  -> 0x2DB06A8
    [4:17 AM] Bag Guid  -> 0x30096
    [4:17 AM] --- Global Data ---
    [4:17 AM] In Game Status  -> 0x3100AF0
    [4:17 AM] Player Name  -> 0x2FEA648
    [4:17 AM] Corpse Position  -> 0x2C3A720
    [4:17 AM] Last Message  -> 0x30FFDB0
    [4:17 AM] Loot Window  -> 0x31025A8
    [4:17 AM] --- Quests ---
    [4:17 AM] Base  -> 0x30096
    [4:17 AM] NumQuests  -> 0x300905F
    [4:17 AM] CurrentQuest  -> 0x31318D4
    [4:17 AM] QuestTitle  -> 0x313CA20
    [4:17 AM] GossipQuests  -> 0x30096
    [4:17 AM] NumQuestChoices  -> 0x3140ED0
    [4:17 AM] QuestReward  -> 0x3140ED8
    [4:17 AM] --- Auto Loot ---
    [4:17 AM] Base  -> 0x3101960
    [4:17 AM] Offset  -> 0x14
    [4:17 AM] --- Click To Move ---
    [4:17 AM] Base  -> 0x3101918
    [4:17 AM] Offset  -> 0x14
    [4:17 AM] --- Chat ---
    [4:17 AM] Open  -> 0x317E6EC
    [4:17 AM] Start  -> 0x30A29A0
    [4:17 AM] Offset  -> 0x1878
    [4:17 AM] Message  -> 0xE6
    [4:17 AM] --- Key Bindings ---
    [4:17 AM] Base  -> 0x2FE9808
    [4:17 AM] --- Add On ---
    [4:17 AM] Count  -> 0x3155848
    [4:17 AM] List  -> 0x3155D90
    [4:17 AM] --- Spellbooks ---
    [4:17 AM] Count  -> 0x3100F70
    [4:17 AM] Base  -> 0x3100F78
    [4:17 AM] PetBase  -> 0x3100FA0
    [4:17 AM] PetCount  -> 0x3100F98
    [4:17 AM] --- Object Manager ---
    [4:17 AM] Zone ID  -> 0x31009B8
    [4:17 AM] Names  -> 0x2D46550
    [4:17 AM] Base  -> 0x30A1140
    [4:17 AM] Cooldown  -> 0x303A940
    [4:17 AM] --- Battlegrounds ---
    [4:17 AM] Finished  -> 0x3009060
    [4:17 AM] Winner  -> 0x31044A8
    [4:17 AM] Info  -> 0x2C42A00
    [4:17 AM] --- Camera ---
    [4:17 AM] Base  -> 0x2FC6130
    [4:17 AM] Offset  -> 0x3930
    [4:17 AM] --- Misc Junk ---
    [4:17 AM] Frame Base  -> 0x2DAD958
    [4:17 AM] Macro Manager  -> 0x2C448F8
    [4:17 AM] Addon Count  -> 0x3155848
    [4:17 AM] CombatLogEvents  -> 0x2C34B60
    Last edited by Razzue; 10-11-2023 at 07:14 AM.
    "May all your bacon burn"

  8. Thanks tomer121233, swnt (2 members gave Thanks to Razzue for this useful post)
  9. #5
    swnt's Avatar Member
    Reputation
    7
    Join Date
    Jan 2022
    Posts
    11
    Thanks G/R
    2/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Seems to work fine apart from auras, I'm reading mostly zeros starting from either [addr + table1] or [addr + table2]. Will investigate whats up with that later.

  10. #6
    Razzue's Avatar Contributor Avid Ailurophile

    CoreCoins Purchaser Authenticator enabled
    Reputation
    378
    Join Date
    Jun 2017
    Posts
    588
    Thanks G/R
    184/267
    Trade Feedback
    2 (100%)
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by swnt View Post
    Seems to work fine apart from auras, I'm reading mostly zeros starting from either [addr + table1] or [addr + table2]. Will investigate whats up with that later.
    If (index >= Unit.Base + 0x820 ) Aura = null
    else Aura = *(Unit.Base + 0x828 + (index * 0xB0));

    Works just fine (spell ID will be at "aura + 0x88")
    "May all your bacon burn"

  11. #7
    swnt's Avatar Member
    Reputation
    7
    Join Date
    Jan 2022
    Posts
    11
    Thanks G/R
    2/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Indeed it does, for some reason my code was previously reading spell ID from aura + 0x0, which seemed to work in the previous builds.

    Well thanks for clearing that up, all good now.

  12. #8
    wardrive's Avatar Active Member
    Reputation
    20
    Join Date
    Jul 2023
    Posts
    43
    Thanks G/R
    23/8
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Is there a field with unit / player stats like resilience?

  13. #9
    Razzue's Avatar Contributor Avid Ailurophile

    CoreCoins Purchaser Authenticator enabled
    Reputation
    378
    Join Date
    Jun 2017
    Posts
    588
    Thanks G/R
    184/267
    Trade Feedback
    2 (100%)
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by wardrive View Post
    Is there a field with unit / player stats like resilience?
    Stats "should" be right around the level offset, might find resil in there, has been a hot minute since I've looked

    Originally Posted by swnt View Post
    ~~
    Is quite possible you were using offset from GetAuraSpellID scrupt, the one I posted is from GetAuraFromIndex script
    Last edited by Razzue; 10-11-2023 at 02:43 PM.
    "May all your bacon burn"

  14. Thanks wardrive (1 members gave Thanks to Razzue for this useful post)
  15. #10
    thateuler's Avatar Member
    Reputation
    8
    Join Date
    May 2019
    Posts
    29
    Thanks G/R
    22/7
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    OnTerrainClick seems to have changed from the previous binary. My previous sig wasn't working anymore. I believe that I found it in this binary, its at base+18802D0.

  16. #11
    wardrive's Avatar Active Member
    Reputation
    20
    Join Date
    Jul 2023
    Posts
    43
    Thanks G/R
    23/8
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Razzue View Post
    Stats "should" be right around the level offset, might find resil in there, has been a hot minute since I've looked
    I checked quite the range of bytes on either side of the level offset. Did a scan for value and found resilience at two addresses that don't seem to fall within the range of any offset within the base unit struct so I'm thinking there may be pointers involved. I'll keep looking, but thank you!

  17. #12
    Razzue's Avatar Contributor Avid Ailurophile

    CoreCoins Purchaser Authenticator enabled
    Reputation
    378
    Join Date
    Jun 2017
    Posts
    588
    Thanks G/R
    184/267
    Trade Feedback
    2 (100%)
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by wardrive View Post
    I checked quite the range of bytes on either side of the level offset. Did a scan for value and found resilience at two addresses that don't seem to fall within the range of any offset within the base unit struct so I'm thinking there may be pointers involved. I'll keep looking, but thank you!
    Lemme know if it works
    Code:
    [StructLayout(LayoutKind.Explicit, Pack = 1)]
    public struct UnitStats
    {
        [FieldOffset(0xDA40)]
        public int MainHandSpeed;
        public float MH_Speed 
            => ((MainHandSpeed * 1f) / 1000f);
    
    
        [FieldOffset(0xDA44)]
        public int OffHandSpeed;
        public float OHSpeed 
            => ((OffHandSpeed * 1f) / 1000f);
    
    
        [FieldOffset(0xDA48)]
        public int Strength;
    
    
        [FieldOffset(0xDA4C)]
        public int Agility;
    
    
        [FieldOffset(0xDA50)]
        public int Stamina;
    
    
        [FieldOffset(0xDA54)]
        public int Intellect;
    
    
        [FieldOffset(0xDA58)]
        public int Spirit;
    
    
        [FieldOffset(0xDA84)]
        public int Armor;
    
    
        [FieldOffset(0xDA8C)]
        public int FireResist;
    
    
        [FieldOffset(0xDA90)]
        public int NatureResist;
    
    
        [FieldOffset(0xDA94)]
        public int FrostResist;
    
    
        [FieldOffset(0xDA98)]
        public int ShadowResist;
    
    
        [FieldOffset(0xDA9C)]
        public int ArcaneResist;
    
    
        [FieldOffset(0x10B1C)]
        public int DefenseRating;
    
    
        [FieldOffset(0x10B24)]
        public int Unk_1;
    
    
        [FieldOffset(0x10B2C)]
        public int MeleeHit;
    
    
        [FieldOffset(0x10B30)]
        public int RangeHit;
    
    
        [FieldOffset(0x10B34)]
        public int SpellHit;
    
    
        [FieldOffset(0x10B38)]
        public int MeleeCrit;
    
    
        [FieldOffset(0x10B3C)]
        public int RangeCrit;
    
    
        [FieldOffset(0x10B40)]
        public int SpellCrit;
    
    
        [FieldOffset(0x10B50)]
        public int ResilDefense;
    
    
        [FieldOffset(0x10B54)]
        public int ResilOffense;
    
    
        [FieldOffset(0x10B5C)]
        public int MeleeHaste;
    
    
        [FieldOffset(0x10B60)]
        public int RangeHaste;
    
    
        [FieldOffset(0x10B64)]
        public int SpellHaste;
    }
    "May all your bacon burn"

  18. Thanks wardrive (1 members gave Thanks to Razzue for this useful post)
  19. #13
    Razzue's Avatar Contributor Avid Ailurophile

    CoreCoins Purchaser Authenticator enabled
    Reputation
    378
    Join Date
    Jun 2017
    Posts
    588
    Thanks G/R
    184/267
    Trade Feedback
    2 (100%)
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)
    Oh, and these one's too
    Code:
    [StructLayout(LayoutKind.Explicit, Pack = 1)]
    public struct UnitStats
    {
        [FieldOffset(0xF484)]
        public int Expertise;
    
    
        [FieldOffset(0xF488)]
        public float BlockChance;
    
    
        [FieldOffset(0xF494)]
        public float ParryChance;
    
    
        [FieldOffset(0xF49C)]
        public float M_CritChance;
    
    
        [FieldOffset(0xF4A0)]
        public float R_CritChance;
    
    
        [FieldOffset(0xF4A4)]
        public float S_CritChance;
    
    
        [FieldOffset(0xF4A8)]
        public int Unk_1;
    }
    "May all your bacon burn"

  20. Thanks wardrive (1 members gave Thanks to Razzue for this useful post)
  21. #14
    wardrive's Avatar Active Member
    Reputation
    20
    Join Date
    Jul 2023
    Posts
    43
    Thanks G/R
    23/8
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    May all of your bacon be delicious, good Sir.

  22. Thanks Razzue (1 members gave Thanks to wardrive for this useful post)
  23. #15
    semiprotech's Avatar Member
    Reputation
    1
    Join Date
    Oct 2023
    Posts
    9
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    i haven't looked latest wow but a few versions ago still all stats in descriptor struct but i read my descriptors as a struct pointer so i don't have to get them each patch im lazy ill post pointer / struct i read them in a lil just got home from vegas

Page 1 of 3 123 LastLast

Similar Threads

  1. "I'm seeking Wotlk 3.4.1.48503 offsets."
    By zeroAgain in forum WoW Memory Editing
    Replies: 8
    Last Post: 03-20-2023, 08:23 PM
  2. Wotlk Help with offsets for 3.4.1.48120
    By Hrap in forum WoW Memory Editing
    Replies: 5
    Last Post: 02-21-2023, 12:24 PM
  3. How do you find memory offsets in the game?
    By koalaz2004 in forum World of Warcraft General
    Replies: 0
    Last Post: 08-18-2006, 09:40 PM
  4. Field Duty Tips
    By impulse102 in forum World of Warcraft Exploits
    Replies: 1
    Last Post: 05-21-2006, 02:29 AM
  5. Complete Silithus "Field Duty" quest twice
    By Matt in forum World of Warcraft Exploits
    Replies: 0
    Last Post: 03-27-2006, 12:19 PM
All times are GMT -5. The time now is 05:59 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