How to begin with offsets 3.2.2 in C# ? menu

User Tag List

Results 1 to 11 of 11
  1. #1
    Raphy's Avatar Member
    Reputation
    1
    Join Date
    Sep 2009
    Posts
    17
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    How to begin with offsets 3.2.2 in C# ?

    Hi everybody,

    I'm French and I'm not very good but I try as I can.

    I began recently to program my WoW Bot... But I don't understand how work offsets... (I find offsets for character name, realm name, last message sent, xyz coords).

    I want to find health, healthmax, mana, mana max, combo points, energy, character level, mob health, mob name etc.
    So I would like to learn more about structs offsets (WoW Info Dump Thread). To what are of use these data and how to use these data ?

    I use MemoryReader.dll and C# (I love C# )

    I know that English is very important but as I manage not very well, can spell in easy English plz !

    P.S : I prefer that somebody learn me on MSN (I send him my MSN adress by PM)

    Thank you in advance

    How to begin with offsets 3.2.2 in C# ?
  2. #2
    Robske's Avatar Contributor
    Reputation
    305
    Join Date
    May 2007
    Posts
    1,062
    Thanks G/R
    3/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Ka...me...ha...meee
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
    "I cried a little earlier when I had to poop" - Sku

  3. #3
    grosfilsdepute's Avatar Member
    Reputation
    1
    Join Date
    Mar 2008
    Posts
    26
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Every objects in wow are managed by the Object Manager. In the last WoW bump (3.2.2), read the client connection pointer and from that the object manager pointer .

    After that, search how to work with this object manager. How to iterate through the objects.

    Hope this helps
    Last edited by grosfilsdepute; 09-23-2009 at 05:57 PM.

  4. #4
    luciferc's Avatar Contributor
    Reputation
    90
    Join Date
    Jul 2008
    Posts
    373
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Charmander I choose you!

  5. #5
    drognir's Avatar Active Member
    Reputation
    28
    Join Date
    Sep 2007
    Posts
    50
    Thanks G/R
    1/0
    Trade Feedback
    3 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Robske View Post
    Ka...me...ha...meee
    ...uh!

    (filler)

  6. #6
    xzidez's Avatar Member
    Reputation
    12
    Join Date
    Dec 2007
    Posts
    136
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by luciferc View Post
    Charmander I choose you!
    ROFL.. this really made my day : )..
    Now we have high expectations when he wakes up : P

  7. #7
    Robske's Avatar Contributor
    Reputation
    305
    Join Date
    May 2007
    Posts
    1,062
    Thanks G/R
    3/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by xzidez View Post
    ROFL.. this really made my day : )..
    Now we have high expectations when he wakes up : P
    Mmowned is most likely insta-closed the moment he saw the most recent thread titles...
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
    "I cried a little earlier when I had to poop" - Sku

  8. #8
    Raphy's Avatar Member
    Reputation
    1
    Join Date
    Sep 2009
    Posts
    17
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    lol

    I've just finish a little program who use Clik To Move system for move the character with X,Y,Z positions.

    Somebody tell me if I want get current health, health max etc. I have to use a Object Manager.. How work it ? I read the tutorial ([Guide-kind of] How I handle objects.) but I don't understand how work it...

    Thanks

  9. #9
    grosfilsdepute's Avatar Member
    Reputation
    1
    Join Date
    Mar 2008
    Posts
    26
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    If my memory is good (I don't know if it's correct in English ), Kynox released old sources of his fishbot (in C++). It helped me to determine how the object manager was working.

    Originally Posted by xzidez View Post
    ROFL.. this really made my day : )..
    Now we have high expectations when he wakes up : P
    Yeah... It's funny ROFLFLFLFLL OLO LO L L CYPHER 1373873737
    Last edited by grosfilsdepute; 09-24-2009 at 11:46 AM.

  10. #10
    Raphy's Avatar Member
    Reputation
    1
    Join Date
    Sep 2009
    Posts
    17
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I like your nickname ;p

    I didn't find the program ... A link perhaps ?

  11. #11
    grosfilsdepute's Avatar Member
    Reputation
    1
    Join Date
    Mar 2008
    Posts
    26
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Here how I handle objects (it's a crappy code but I'm not good at C#)

    Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Coloa
    {
        class ObjectManager
        {
            private List<WoWNPC> m_Objects;
            private WoWNPC m_TargetObject;
            private WoWNPC m_Player;
    
            private UInt32 m_pObjMgr;
            private UInt64 m_TargetGUID, m_LocalGUID;
    
            public ObjectManager()
            {
                UInt32 pClientConnection = Memory.Instance.MemoryReader.Read<UInt32>(
                    new IntPtr(Offsets.P_CLIENT_CONNECTION));
    
                m_pObjMgr = Memory.Instance.MemoryReader.Read<UInt32>(new IntPtr(pClientConnection
                    + Offsets.P_OBJMGR));
    
                m_LocalGUID = Memory.Instance.MemoryReader.Read<UInt64>(new IntPtr(m_pObjMgr
                    + Offsets.OBJMGR_LOCALGUID));
    
                m_Objects = new List<WoWNPC>();
            }
    
            public UInt64 LocalGUID
            {
                get { return m_LocalGUID; }
            }
    
            public void Flush()
            {
                m_Objects.Clear();
            }
    
            public List<WoWNPC> GetObjects()
            {
                return m_Objects;
            }
    
            public void Update()
            {
                Int32 dwFirstObject, dwCurObject;
    
                m_TargetGUID = Memory.Instance.MemoryReader.Read<UInt64>(new IntPtr(Offsets.P_TARGET_GUID));
    
                dwFirstObject = Memory.Instance.MemoryReader.Read<Int32>(new IntPtr(m_pObjMgr
                    + Offsets.OBJMGR_FIRSTOBJ));
    
                dwCurObject = dwFirstObject;
    
                while (dwCurObject != 0 && (dwCurObject & 1) == 0)
                {
                    UInt64 ObjGUID;
                    bool ObjectExists = false;
    
                    ObjGUID = Memory.Instance.MemoryReader.Read<UInt64>(new IntPtr(dwCurObject
                        + Offsets.OBJMGR_OBJGUID));
    
                    if (m_Objects.Count == 0)
                    {
                        int typeid = Memory.Instance.MemoryReader.Read<int>(new IntPtr(
                            dwCurObject + Offsets.GAME_OBJECT_CREATEDBY));
    
                        if (typeid == 3)
                        {
                            m_Objects.Add(new WoWNPC(dwCurObject));
                        }
                    }
    
                    else
                    {
                        for (int i = 0; i < m_Objects.Count; i++)
                        {
                            if (m_Objects[i].GetGUID() == ObjGUID)
                            {
                                ObjectExists = true;
                            }
                        }
    
                        if (ObjectExists == false)
                        {
                            int typeid = Memory.Instance.MemoryReader.Read<int>(new IntPtr(
                                dwCurObject + Offsets.GAME_OBJECT_CREATEDBY));
    
                            if (typeid == 3)
                            {
                                m_Objects.Add(new WoWNPC(dwCurObject));
                            }
                        }
                    }
    
                    // If the target is the current object
                    if (ObjGUID == m_TargetGUID)
                    {
                        m_TargetObject = new WoWNPC(dwCurObject);
                    }
    
                    // If the target is the current object
                    if (ObjGUID == m_LocalGUID)
                    {
                        m_Player = new WoWNPC(dwCurObject);
                    } 
    
                    dwFirstObject = dwCurObject;
    
                    dwCurObject = Memory.Instance.MemoryReader.Read<Int32>(new IntPtr(dwFirstObject
                        + Offsets.OBJMGR_NEXTOBJ));
    
                    if (dwCurObject == dwFirstObject)
                    {
                        break;
                    }
                }
            }
    
            public int GetObjectByGUID(UInt64 GUID)
            {
                for (int i = 0; i < m_Objects.Count; i++)
                {
                    if (m_Objects[i].GetGUID() == GUID)
                    {
                        return m_Objects[i].Object;
                    }
                }
    
                return 0;
            }
    
            public WoWNPC GetWoWObjectByGUID(UInt64 GUID)
            {
                for (int i = 0; i < m_Objects.Count; i++)
                {
                    if (m_Objects[i].GetGUID() == GUID)
                    {
                        return m_Objects[i];
                    }
                }
    
                return null;
            }
    
            public WoWNPC TargetObject
            {
                get { return m_TargetObject; }
                set { m_TargetObject = value; }
            }
    
            public WoWNPC Player
            {
                get { return m_Player; }
                set { m_Player = value; }
            }
        }
    }
    Credits: Apoc, kynox, and the guy who wrote the memory reader lib.

    Feel free to comment.

Similar Threads

  1. How to begin with Modelediting ??
    By tobiasahlmo in forum WoW ME Questions and Requests
    Replies: 23
    Last Post: 05-13-2008, 05:45 PM
  2. how can i buypass offsets of glider?
    By taboocrime in forum World of Warcraft General
    Replies: 2
    Last Post: 06-04-2007, 09:06 PM
  3. + rep 4 some1 how helps me with ce prob
    By kirby12 in forum World of Warcraft General
    Replies: 2
    Last Post: 06-01-2007, 06:04 PM
  4. How to level with CE 5.2?
    By STRES in forum World of Warcraft General
    Replies: 2
    Last Post: 02-20-2007, 03:45 PM
  5. How I grind with two accounts simultanously (Mac, btw)
    By wowpew in forum World of Warcraft Bots and Programs
    Replies: 11
    Last Post: 08-27-2006, 06:34 AM
All times are GMT -5. The time now is 07:59 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