[TBC Classic] [2.5.2 - 40045] menu

User Tag List

Results 1 to 3 of 3
  1. #1
    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)

    [TBC Classic] [2.5.2 - 40045]

    Code:
    public class _252_40045
    {
        // Patterns tested on 
        // 2.5.1 -> 39603, 39640 
        // 2.5.2 -> 39926, 40011, 40035
    
        // Last Message         -> 48 8D 0D ? ? ? ? 41 B8 ? ? ? ? 48 8D 95 ? ? ? ? 0F 1F 40
        // Bag(s?) GuID?        -> 48 8D 0D ? ? ? ? 48 03 C0 0F 10 44 C1 ? 0F 11 44 24 ? EB
        // Player Name          -> E8 ? ? ? ? 48 8D 4C 24 ? 48 8B D8 E8 ? ? ? ? 4C 89 74 24 -> Decompile first sub in function
        // Loot Window          -> 0F 10 01 0F 11 05 ?? ?? ?? ?? C3 ?? 4C 89 44 24
        // Player Spellbook     -> 4C 8B 25 ? ? ? ? 44 8B C8
        // Pet Spellbook        -> 8B 15 ? ? ? ? 85 D2 74 ? 4C 8B 05 ? ? ? ? 66 90
        // MouseoverGUID        -> 48 8D 0D ? ? ? ? E8 ? ? ? ? 48 85 C0 74 ? 4C 8B C7 48 8D 0D
        // PlayerGUID           -> 48 8D 0D ? ? ? ? E8 ? ? ? ? 48 83 BC 24 ? ? ? ? ? 7C ? 48 8B 8C 24 ? ? ? ? 48 8D 15 ? ? ? ? 45 33 C9 45 8D 41 ? E8 ? ? ? ? 48 81 C4
        // PetGUID              -> 48 89 05 ? ? ? ? 48 89 05 ? ? ? ? 89 05 ? ? ? ? 89 05 ? ? ? ? 88 05
        // Target GUIDS         -> 48 83 EC ? 48 8D 0D ? ? ? ? E8 ? ? ? ? 0F 10 00
        // CTM Base             -> 48 8B 05 ? ? ? ? 83 78 ? ? 74 ? F6 81 ? ? ? ? ? 75 ? B0
        // Auto Loot Base       -> 48 8B 05 ? ? ? ? 48 8B CE 8B 50
        // Corpse Position      -> 48 8D 0D ? ? ? ? 89 6C 24 ? 0F 11 05
        // ActionBar First      -> 4C 8D 1D ? ? ? ? BB ? ? ? ? 0F 1F 40 ? 41 8B 0B
        // ActionBar Current    -> 3B 1D ?? ?? ?? ?? 74 ?? 89 1D ?? ?? ?? ?? E8 ?? ?? ?? ?? 33 C0
        // AutoRepeat Spell     -> 3B 15 ? ? ? ? 44 89 25
        // Player Name Cache    -> 48 8D 0D ? ? ? ? E8 ? ? ? ? 48 85 C0 74 ? 45 33 C9 48 8D 54 24 ? 41 B8 ? ? ? ? 48 8B C8 E8 ? ? ? ? 48 8B C8 45 33 C0
        // Chat Start           -> 48 8D 15 ? ? ? ? 4C 8D 05 ? ? ? ? 80 BA
        // Chat Buffer Pos      -> 8B 0D ? ? ? ? B8 ? ? ? ? 03 CE F7 E9
        // Num Key Bindings     -> 66 0F 6E 0D ? ? ? ? F3 0F E6 C9 E8 ? ? ? ? B8 ? ? ? ? 48 83 C4 ? C3 ? 40 57 48 83 EC
        // Screen Width         -> F3 0F 59 05 ? ? ? ? F3 0F 11 06 48 85 FF
        // UI Frame Base        -> 48 8B 15 ? ? ? ? 48 89 15 ? ? ? ? 88 0D
        // Object manager Base  -> 4C 8B 05 ? ? ? ? 45 33 F6
        // Camera Base          -> 48 8B 05 ?? ?? ?? ?? 48 8B 88 ?? ?? 00 00 48 8B 43
    
        public class Globals
        {
            public const int EventMessage = 0x30248F0;
            public const int EquippedBagGUID = 0x3075170;
            public const int PlayerName = 0x2D0DCE8;
            public const int MapID = 0x307D45C; // ZoneID? //-> Last Updated 40011
            public const int LootWindow = 0x3062200;
        }
    
        public class Spellbooks
        {
            public const int Spellbook = 0x3059558;
            public const int SpellCount = 0x3059550;
    
            public const int PetSpellbook = 0x3059578;
            public const int PetSpellCount = 0x3059570;
        }
    
        public class GUIDS
        {
            public const int Mouseover = 0x221880;
            public const int Player = 0x2D0DCD0;
            public const int Pet = 0x3062118;
            public const int TargetGUID = 0x2D83950;
        }
    
        public class ClickToMove
        {
            public const int Base = 0x30256D0;
            public const int Offset = 0x5C;
        }
    
        public class AutoLoot
        {
            public const int Base = 0x3025718;
            public const int Offset = 0x5C;
        }
    
        public class CorpsePos
        {
            public const int X = 0x2C11AA0;
            public const int Y = X + 0x4;
            public const int Z = X + 0x8;
        }
    
        public class ActionBar
        {
            public const int FirstSlot = 0x30685F0;
            public const int Bonus = FirstSlot + 0x240;
            public const int Current = 0x3068C44;
        }
    
        public class AutoAttack
        {
            public const int IsAutoRepeatingSpell = 0x2D94740;
            public const int IsInMelee = 0xAF6C;
            public const int IsInMelee1 = 0x18A8;
            public const int AutoAttackFlag = 0xEE8;
            public const int AutoAttackMask = 0xEEC;
            public const int AutoAttackGUID = 0xAF6C;
        }
    
        public class PlayerNames
        {
            public const int PlayerNameCache = 0x29ED8A0;
            public const int NameCacheNext = 0x0;
            public const int NameGUIDOffset = 0x20;
            public const int NameStringOffset = 0x31;
        }
    
        public class Chat
        {
            public const int ChatStart = 0x3025DE0;
            public const int chatBufferPos = 0x3055920;
            public const int OffsetToNextMsg = 0xCB8;
            public const int MsgSenderGuid = 0x00;
            public const int MsgSenderName = 0x34;
            public const int MsgFullMessage = 0xE6;
            public const int MsgChatType = 0xCA0;
            public const int MsgChannelNum = 0xCA4;
            public const int MsgTimeStamp = 0xCB0;
            public const int ChatQueueDepth = 0x3C;
        }
    
        public class KeyBinding
        {
            public const int NumKeyBindings = 0x2D0C4C0;
            public const int First = 0x28;
            public const int Next = 0x18;
            public const int Key = 0x30;
            public const int Command = 0x58;
        }
    
        public class Addon
        {
            public const int Base = 0x30AA780; 
        }
    
        public class UIFrames
        {
            public const int ScreenWidth = 0x29EBE64;
            public const int ScreenHeight = ScreenWidth + 0x4;
            public const int Base = 0x2D7D9B0;
            public const int First = 0xF18;
            public const int Next = 0xF08;
            public const int rText = 0x280;
            public const int rFirst = 0x2A0;
            public const int rNext = 0x290;
        }
    
        public class ObjectManager
        {
            public const int Base = 0x2E31BA8;
            public const int First = 0x18;
            public const int Next = 0x70;
            public const int Type = 0x20;
            public const int Guid = 0x58;
            public const int Storage = 0x10;
        }
    
        public class Combat
        {
            public const int First = 0x188;
            public const int Last = 0x158;
            public const int Mask = 19;
        }
    
        public class ObjectInfo
        {
            public const int ID = 0x0528;
            public const int Guid = 0x58;
            public const int Position = 0x1B0;
            public const int Name_First = 0x478;
            public const int Name_Last = 0xE0;
        }
    
        public class NpcName
        {
            public const int Name_First = 0x1800;
            public const int Name_Last = 0xF8;
            public const int Name_Size = 30;
        }
    
        public class Camera
        {
            public const int Base = 0x31073F8;
            public static int Offset = 0x38E0;
            public static int Fov = 0x40;
            public static int X = 0x10; // y = + 4, z = + 8
            public static int ViewMatrix = 0x1C
        }
    }

    [TBC Classic] [2.5.2 - 40045]
  2. Thanks tayl, Mrasd, Xion1704 (3 members gave Thanks to Razzue for this useful post)
  3. #2
    _chase's Avatar Established Member
    Reputation
    95
    Join Date
    Dec 2019
    Posts
    57
    Thanks G/R
    16/49
    Trade Feedback
    0 (0%)
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Code:
    	inline uintptr_t ObjectManager = 0x2E31BA8;
    
    	// direct reference: [actual address in first opcode] E8 ? ? ? ? 33 F6 89 75 30 
    	inline uintptr_t GetBaseFromToken = 0x1A374E0;
    	
    	// direct reference: [actual address in first opcode] 74 0C 48 8B 0D ? ? ? ? E8 ? ? ? ? 8B 43 04 
    	inline uintptr_t WorldFrame = 0x31073F8;
    
    	// direct reference: [actual address in first opcode] E8 ? ? ? ? F3 0F 10 57 ? 84 C0 
    	inline uintptr_t WorldFrameIntersect = 0x1A58360;
    
    	// direct reference: [actual address in first opcode] E8 ? ? ? ? 80 7B 20 06 
    	inline uintptr_t GetWorld = 0x0210030;
    
    	// direct reference: [actual address in first opcode] E8 ? ? ? ? 39 45 F7 
    	inline uintptr_t GetMapId = 0x13AD390;
    
    	// direct reference: [actual address in first opcode] E8 ? ? ? ? E9 ? ? ? ? E8 ? ? ? ? E9 ? ? ? ? 8B 8B ? ? ? ? 
    	inline uintptr_t SpriteLeftClick = 0x15E29D0;
    
    	// direct reference: [actual address in first opcode] E8 ? ? ? ? 85 C0 79 3E 
    	inline uintptr_t FindSlotBySpellId = 0x1649DF0;
    
    	// 48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 41 56 48 83 EC ? 41 0F B6 F1
    	inline uintptr_t CastSpellBySlot = 0x1647AF0;
    
    	// direct reference: [actual address in first opcode] E8 ? ? ? ? EB 11 48 8B 47 08 
    	inline uintptr_t SpellMinMaxRange = 0x1019A70;
    
    	// direct reference: [actual address in first opcode] E8 ? ? ? ? 84 C0 0F B6 E8 
    	inline uintptr_t HasSpellPower = 0x1020B30;
    
    	// 48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 41 56 41 57 48 81 EC ? ? ? ? 8B D9 
    	inline uintptr_t IsCurrentSpell = 0x1025DC0;
    
    	// 48 83 EC 48 48 8B 81 ? ? ? ? 48 83 B8 ? ? ? ? ? 
    	inline uintptr_t MoveTo = 0x12174C0;
    
    	// 48 83 EC 58 48 8B 81 ? ? ? ? 48 83 B8 ? ? ? ? ?
    	inline uintptr_t FaceTo = 0x1217290;
    
    	// direct reference: [actual address in first opcode] E8 ? ? ? ? 48 8B 5C 24 ? 84 C0 74 40 
    	inline uintptr_t GetBagAndSlot = 0x1806530;
    
    	// direct reference: [actual address in first opcode] E8 ? ? ? ? 48 85 C0 74 B1 
    	inline uintptr_t GetItemPointer = 0x12F8C30;


    CGObject VMT functions
    Code:
    const char* CGObjects::GetName(CGObject* object) 
    {
    	return (*reinterpret_cast<const char*(__fastcall**)(CGObject*)>(object->vmt + (sizeof(uintptr_t) * 15)))(object);
    }
    
    float_t CGObjects::GetHeight(CGObject* object)
    {
    	return (*reinterpret_cast<float_t(__fastcall**)(CGObject*)>(object->vmt + (sizeof(uintptr_t) * 14)))(object);
    }
    
    float_t CGObjects::GetFacing(CGObject* object)
    {
    	return (*reinterpret_cast<float_t(__fastcall**)(CGObject*)>(object->vmt + (sizeof(uintptr_t) * 58)))(object);
    }
    
    CGVector3 CGObjects::GetPosition(CGObject* object)
    {
    	CGVector3 output = { -1, -1, -1 };
    	(*reinterpret_cast<CGVector3*(__fastcall**)(CGObject*, CGVector3*)>(object->vmt + (sizeof(uintptr_t) * 56)))(object, &output);
    	return output;
    }
    Some pet interaction stuff I found too
    Code:
    auto issuePetOrder = reinterpret_cast<void(__fastcall*)(int32_t* orderFlags, CGUnit * target, int32_t unk)>(BaseAddress() + 0x16F3000);
    				
    // Pet Follow
    int flag = 0x7000001;
    int64_t unused = 0;
    issuePetOrder(&flag, (CGUnit*) &unused, 0);
    
    // Pet Attack
    int flag = 0x7000002;
    issuePetOrder(&flag, Core::Target(), 0);
    Last edited by _chase; 09-05-2021 at 08:57 AM.

  4. Thanks Razzue, thateuler (2 members gave Thanks to _chase for this useful post)
  5. #3
    oiramario's Avatar Established Member
    Reputation
    85
    Join Date
    Mar 2021
    Posts
    133
    Thanks G/R
    36/51
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    const uint64_t PetSetAction = 0x16F3000; // int64 (int32* orderFlags, WowGuid* targetGuid, int32 unk_0/*=0*/, int64 unk_1/*=0x2D94560*/)

    this might be right

  6. Thanks Razzue (1 members gave Thanks to oiramario for this useful post)

Similar Threads

  1. [Buying] Buying WOW WotLK Classic Gold All US + Eu Servers 24/7 Online
    By legalperson1 in forum WoW Classic Buy Sell Trade
    Replies: 23
    Last Post: 10-09-2023, 07:27 PM
  2. [Selling Gold] WoW Wotlk/SoD/SoM/Classic GOLD - All Regions - All Realms - CHEAP - FAST DELIVERY
    By NerdBooster in forum WoW Classic Buy Sell Trade
    Replies: 4
    Last Post: 09-17-2022, 04:22 PM
  3. [Buying] Tired of playing? Let me buy your WoW SoD & ERA accounts! Instant payment!
    By MMOprovider in forum WoW Classic Buy Sell Trade
    Replies: 24
    Last Post: 12-16-2021, 10:41 AM
  4. [Selling] Selling tbc classic leveling eu & na! Cheap , fast & secure!
    By Goldstash in forum WoW Classic Buy Sell Trade
    Replies: 1
    Last Post: 10-20-2019, 06:26 AM
  5. [Boosting] [EU/US] 💥WOW TBC Classic PowerLeveling 3-7deys💥58-70💥60-70💥Best price💥
    By HawkNagibator in forum WoW Classic Buy Sell Trade
    Replies: 1
    Last Post: 10-07-2019, 04:57 PM
All times are GMT -5. The time now is 09:15 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