Object manager problems menu

Shout-Out

User Tag List

Results 1 to 4 of 4
  1. #1
    halcynthis's Avatar Member
    Reputation
    1
    Join Date
    Feb 2012
    Posts
    6
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Object manager problems

    Hello, I'm working on my first bot for WoW and I'm having a huge problem creating the object manager. Im trying to, at this point, simply get the Guid and type of each object. Im not sure if the Guid is right, but im positive the type is wrong. Heres my code.

    Code:
    using System;
    using System.Runtime.InteropServices;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Threading;
    using System.Diagnostics;
    using Magic;
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
    
            [DllImport("user32.dll")]
            public static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
            public static BlackMagic wow;
            IntPtr WowBase;
            IntPtr WowData;
            uint PlayerBase;
            uint MovementData;
            float CharPosX;
            float CharPosY;
            float CharPosZ;
            float CharRotation;
            //uint WM_KEYDOWN = 0x0100;
    
            public class WowObject
            {
                uint GuidOffset = 0x30;
                uint TypeOffset = 0x4;
    
                protected uint BaseAddress;
                public WowObject(uint BaseAddress)
                {
                    this.BaseAddress = BaseAddress;
                }
                public long Type
                {
                    get { return wow.ReadUInt(BaseAddress + TypeOffset); }
                }
                public uint Guid
                {
                    get { return wow.ReadUInt(BaseAddress + GuidOffset); }
                }
            }
    
            internal enum ClickToMove : uint
            {
                Angle = 0x9D43E4,
                Base = 0x9D43D0,
                DestinationX = Base+0x8C,
                DestinationY = Base+0x90,
                DestinationZ = Base+0x94,
                Push = Base+0x1C,
                StopDistance = 0x9D43DC,
                TurnScale = 0x9D43D4
            }
    
    
            internal enum ObjectManager : uint
            {
                CurMgrPointer = 0x9BC9F8,
                CurMgrOffset = 0x463C,
                NextObject = 0x3C,
                FirstObject = 0xC0,
                LocalGUID = 0xC8
            }
    
            public Form1()
            {
                InitializeComponent();
            }
    
            public void DoObjectManager()
            {
    
                ObjectList.Items.Clear();
                uint ObjBase = wow.ReadUInt(wow.ReadUInt((uint)WowBase+(uint)ObjectManager.CurMgrPointer)+(uint)ObjectManager.CurMgrOffset);
                uint CurObj = wow.ReadUInt(ObjBase + (uint)ObjectManager.FirstObject);
                uint NextObj = CurObj;
                while (CurObj != 0 & CurObj % 2 == 0)
                {
                    WowObject Object = new WowObject(wow.ReadUInt(CurObj));
                    ObjectList.Items.Add("Guid: " + Object.Guid);
                    ObjectList.Items.Add("Type: " + Object.Type);
                    ObjectList.Items.Add("\n");
                    NextObj = wow.ReadUInt(CurObj+(uint)ObjectManager.NextObject);
                    if (NextObj == CurObj)
                    {
                        break;
                    }
                    else
                    {
                        CurObj = NextObj;
                    }
                }
            }
    
            public void newWowObject()
            {
                Process[] list = Process.GetProcesses();
                foreach (Process p in list)
                {
                    if (p.MainWindowTitle == "World of Warcraft")
                    {
                        PosX.Text = p.MainWindowHandle.ToString();
                        WowData = p.MainWindowHandle;
                    }
                }
                wow = new BlackMagic();
                wow.OpenProcessAndThread(SProcess.GetProcessFromWindowTitle("World of Warcraft"));
                WowBase = wow.MainModule.BaseAddress;
                PlayerBase = wow.ReadUInt(wow.ReadUInt(wow.ReadUInt((uint)WowBase + 0x00A6EE68) + 0x38) + 0x24);
                MovementData = wow.ReadUInt(PlayerBase + 0x100);
            }
            private void UpdatePlayerPos()
            {
                CharPosX = wow.ReadFloat(MovementData + 0x10);
                CharPosY = wow.ReadFloat(MovementData + 0x14);
                CharPosZ = wow.ReadFloat(MovementData + 0x18);
                CharRotation = wow.ReadFloat(MovementData + 0x20);
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                newWowObject();
            }
    
            public void MoveTo(float x, float y, float z)
            {
                wow.WriteFloat((uint)WowBase + (uint)ClickToMove.DestinationX, x);
                wow.WriteFloat((uint)WowBase + (uint)ClickToMove.DestinationY, y);
                wow.WriteFloat((uint)WowBase + (uint)ClickToMove.DestinationZ, z);
                wow.WriteUInt((uint)WowBase + (uint)ClickToMove.Push, 4);
                //PostMessage(WowData, WM_KEYDOWN, (IntPtr)Keys.D, IntPtr.Zero);
            }
    
            private void Button_Click(object sender, EventArgs e)
            {
                UpdatePlayerPos();
                PosX.Text = "X: " + CharPosX;
                PosY.Text = "Y: " + CharPosY;
                PosZ.Text = "Z: " + CharPosZ;
                ObjectList.Items.Add("Pos: " + CharPosX + " " + CharPosY + " " + CharPosZ);
                Rotation.Text = "Rotation: " + CharRotation;
                //MoveTo(0, 0, 0);
                DoObjectManager();
            }
        }
    }
    The Guid is coming out with a ton of duplicates, and the type is coming out as a large number.

    Object manager problems
  2. #2
    abuckau907's Avatar Active Member
    Reputation
    49
    Join Date
    May 2009
    Posts
    225
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    1. has it ever worked before?
    2. windows version? (32 bit?) - maybe don't add wowbase ?

  3. #3
    Bananenbrot's Avatar Contributor
    Reputation
    153
    Join Date
    Nov 2009
    Posts
    384
    Thanks G/R
    1/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    As you said your type Offset is wrong. Iirc it was 0x14 but never 0x4.
    Sent from my LG-E900 using Board Express

  4. #4
    Creepwalker's Avatar Active Member
    Reputation
    39
    Join Date
    Oct 2008
    Posts
    202
    Thanks G/R
    19/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Did you find what was causing it?

Similar Threads

  1. Object manager problems?
    By natt_ in forum WoW Memory Editing
    Replies: 4
    Last Post: 09-22-2014, 03:20 AM
  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. [Two Questions] How do I make game objects + Repack problem
    By dude891 in forum World of Warcraft Emulator Servers
    Replies: 7
    Last Post: 04-01-2008, 08:51 AM
  5. 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 12:53 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search