read herb/mining node xyz menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 16
  1. #1
    deadbeef's Avatar Member
    Reputation
    1
    Join Date
    Aug 2008
    Posts
    14
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    read herb/mining node xyz

    I am looking for any information about pointers/offsets to read xyz-positions of mining nodes/herbs in WoW relativ to the objectbaseaddress.

    I managed to read NPC/Player xyz, Health, Level, NPCnames with the TLS method. I think herbs and mining nodes are object type 1 (not sure) but I can find their xyz and name.

    this is what I use atm for 2.4.3:
    static:
    0x00C6E960 targetguid

    objectlist_base
    +0xC0 playerguid
    +0xAC first object

    currentobject_base (objectbase)
    +0x14 objecttype
    +0x30 objectguid
    +0x3C next object
    +0xBF0 x_pos
    +0xBF4 y_pos
    +0xBF8 z_pos
    +0xBFC rot
    [+0x120]+0x40 Health
    [+0x120]+0x70 Level
    [[+0xDB8]+0x40] name (only for type 3)

    read herb/mining node xyz
  2. #2
    Greyman's Avatar Active Member
    Reputation
    61
    Join Date
    Oct 2006
    Posts
    40
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Gameobject X/Y/Z is at 0x258. Finding the name offset will be a valuable exercise in memory scanning techniques. I can only suggest you persist with it, as it's not a complicated relationship.

  3. #3
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1356
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yay for injection and the VMT!

  4. #4
    Greyman's Avatar Active Member
    Reputation
    61
    Join Date
    Oct 2006
    Posts
    40
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Cypher View Post
    Yay for injection and the VMT!
    Amen to that, sister.

  5. #5
    deadbeef's Avatar Member
    Reputation
    1
    Join Date
    Aug 2008
    Posts
    14
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    hmm I could not find any xyz currentobject_base+0x258, is this some offset for a function call when u injected ur code? I don't do injection, just memory reading. Warden makes me piss my panties - I'll avoid injections until I have better understanding of how to hide and protect my code from Warden.

    I was able to find it myself and its objecttype 5: (not type 1 like I thought first)
    [currentobject_base + 0xEC] +0x6C = X
    [currentobject_base + 0xEC] +0x70 = Y
    [currentobject_base + 0xEC] +0x74 = Z

    Yay for injection and the VMT!
    Cypher u 1337haxxor ...VMT? virtual...err... whatever!... u make my trollbrain explode

    *deadbeefs bad english crits u with over 9000!*

  6. #6
    kynox's Avatar Account not activated by Email
    Reputation
    830
    Join Date
    Dec 2006
    Posts
    888
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Warden - WoW.Dev Wiki

    No need to be scared of lolWarden!

  7. #7
    deadbeef's Avatar Member
    Reputation
    1
    Join Date
    Aug 2008
    Posts
    14
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    btw kynox your objectdumper is awsome, I modified it to show me some additional informations like names and other stuff. It helped me to find some addresses.
    But I think I found a little mistake:
    In the dwGetObjManager( DWORD dwPID ) function the snapshot handle is not being closed when the function returns dwObjManager successfull.

  8. #8
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1356
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Greyman View Post
    Amen to that, sister.

    Y halo thar!


    Originally Posted by deadbeef View Post
    hmm I could not find any xyz currentobject_base+0x258, is this some offset for a function call when u injected ur code? I don't do injection, just memory reading. Warden makes me piss my panties - I'll avoid injections until I have better understanding of how to hide and protect my code from Warden.

    I was able to find it myself and its objecttype 5: (not type 1 like I thought first)
    [currentobject_base + 0xEC] +0x6C = X
    [currentobject_base + 0xEC] +0x70 = Y
    [currentobject_base + 0xEC] +0x74 = Z


    Cypher u 1337haxxor ...VMT? virtual...err... whatever!... u make my trollbrain explode

    *deadbeefs bad english crits u with over 9000!*
    Virtual Method Table. Its a feature of most object oriented languages. (eg C++)

    Originally Posted by deadbeef View Post
    btw kynox your objectdumper is awsome, I modified it to show me some additional informations like names and other stuff. It helped me to find some addresses.
    But I think I found a little mistake:
    In the dwGetObjManager( DWORD dwPID ) function the snapshot handle is not being closed when the function returns dwObjManager successfull.

    Not really a big deal because you're not running the app over a long period of time and calling the function multiple times so it generally won't result in a leak. Windows cleans up any mess when the process exits.

    If you're worried about it tho just throw in a CloseHandle.

  9. #9
    argh44z's Avatar Member
    Reputation
    19
    Join Date
    Nov 2007
    Posts
    93
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The name for a gameobjects is at [[objectptr + 0x224]+0x78]. A few other pointers seem to point to the same place, FYI.

    The x,y,z for gameobjects are in the eGameObjectFields, which start at address [ptr+0x8] + 0x18
    . The X coordinate is 0x24 bytes from that address (so [ptr+0x8] + 0x18 + 0x24. FYI, the ptr + 0x8 is a pointer to the start of the eObjectFields, and 0x18 is the length of the eObjectFields (for a game object, the eGameObjectFields starts right after, for other types it is obviously different). All herb/mining nodes are 'chest' game object types (0x3), which can be read in from the gameobject type field at eGameObjectFields+0x3C.
    Last edited by argh44z; 09-03-2008 at 10:23 AM.

  10. #10
    run32.dll's Avatar Contributor
    Reputation
    98
    Join Date
    May 2007
    Posts
    53
    Thanks G/R
    2/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This is a list I created to filter herbs and ore veins for my radar. The user should be able to toggle-> show Copper Veins for example. The filter works simply by comparing the read value of eGameObjFields -> GAMEOBJECT_DISPLAYID with the displayID in the list.

    How did I create this list (using WotLK Beta 8820Build):
    ->Open MyWarcraftStudio -> open \Data\enGB\locale-enGB.mpq -> open "DBFilesClient" Folder -> Open "GameObjectDisplayInfo.dbc".
    ->To find ore veins search for "miningnode".
    ->To find herbs search for "bush", but be carefull, some bushes are other stuff. If you see 'TradeskillNodes' in the path these are real herbs.

    I'm looking for a list of GAMEOBJECT_TYPE_ID too. I only know:
    3 = chests, herbs, mining nodes
    5 = roadsigns
    6 = campfire (6 or 8 can both be used for cooking?)
    7 = chairs
    8 = cozy fire
    9 = books, other signs
    19 = mailbox
    34 = guild vault
    May be this could be found in a mpq file too.

    DisplayIDs of Ore Veins:
    ~~~~~~~~~~~~~~~~~~~~~~~~
    310 Copper
    311 Gold
    312 Iron
    313 Mithril
    314 Truesilver
    315 Tin
    384 Incendecite (??)
    767 Silithid (I think these can be found in Silithus, Miningnodes covered by slime)
    3951 Thorium
    3952 RichThorium
    6650 Obsidian (AQ)
    // TBC
    6798 Adamatium
    6799 FelIron
    6800 Khorium
    7360 AncientGem (spawns after killing Hyjal Bosses)
    // WotLK
    7804 Yoggthorite
    7881 Cobalt

    DisplayIDs of Herbs:
    ~~~~~~~~~~~~~~~~~~~~
    268 Magebloom
    269 Peacebloom
    270 Silverleaf
    271 Thornroot
    272 Switfthistle
    320 Crownroyal
    357 Gravemoss
    358 Bruiseweed
    359 Mushroom03 (??)
    371 Steelbloom
    385 Mushroom02 (??)
    389 Mushroom01 (??) 3 mushrooms wtf I only remember ghostmushrooms!
    390 Snakebloom (??)
    414 Snakeroot (??)
    677 Liferoot
    678 Stardust (??)
    697 Fadeleaf
    698 Goldthorn
    699 wintersbite
    700 Stranglekelp
    701 Khadgarswhisker
    2310 Arthas Tears
    2311 Blindweed
    2312 Firebloom
    2313 Gromsblood
    2314 PurpleLotus
    2315 Sungrass
    4632 Plaguebloom
    4633 MountainSilversage
    4634 Icecap
    4635 Dreamfoil
    4636 BlackLotus
    4652 Sansam
    // TBC
    6777 Bloodthistle (??)
    6807 Spineleaf (??)
    6945 Manathistle
    6946 NightmareVine
    6947 Netherbloom
    6948 Dreamingglory
    6949 Ragveil
    6966 Flamecap
    6967 AncientLichen
    6968 Felweed
    6969 Terrocone
    // WotLK ...
    7844 Goldclover
    7845 Constrictorgrass
    7864 Tigerlily
    7864 TalandrasRose
    8084 EvergreenMoss
    8085 FrozenHerb
    8086 IceThorn
    8087 WhisperVine
    8088 FrostLotus

    I marked some with ?? because I could not remember these... but I never had herbalism as profession ^^
    Last edited by run32.dll; 09-04-2008 at 07:17 AM.

  11. #11
    argh44z's Avatar Member
    Reputation
    19
    Join Date
    Nov 2007
    Posts
    93
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Here's the type list I use (sorry, Python code, should be simple to read though)

    Taken from ISXWoW and MaNgoS.

    I differentiate herbs and mining nodes based on their names instead of their displayids. Though you can do either.

    gameobjecttypes = [
    'door', #0
    'button',
    'questgiver',
    'chest',
    'binder',
    'generic', # 5
    'trap',
    'chair',
    'spellfocus',
    'text',
    'goober', # 10
    'transport',
    'areadamage',
    'camera',
    'worldobj',
    'mapobjtransport', # 15
    'duelarbiter',
    'fishingnode',
    'ritual',
    'mailbox',
    'auctionhouse', # 20
    'guardpost',
    'spellcaster',
    'meetingstone',
    'flagstand',
    'fishinghole', # 25
    'flagdrop',
    'minigame',
    'lottery',
    'capturepoint',
    'auragenerator', # 30
    'dungeondiff',
    'unknown1',
    'building',
    'guildbank']

  12. #12
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1356
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Here's what I use. Credits ISXWoW.

    Code:
    enum eGameObjType
    {
        GOT_Door=0,
        GOT_Button=1,
        GOT_QuestGiver=2,
        GOT_Chest=3,
        GOT_Binder=4,
        GOT_Generic=5,
        GOT_Trap=6,
        GOT_Chair=7,
        GOT_SpellFocus=8,
        GOT_Text=9,
        GOT_Goober=0xa,
        GOT_Transport=0xb,
        GOT_AreaDamage=0xc,
        GOT_Camera=0xd,
        GOT_WorldObj=0xe,
        GOT_MapObjTransport=0xf,
        GOT_DuelArbiter=0x10,
        GOT_FishingNode=0x11,
        GOT_Ritual=0x12,
        GOT_Mailbox=0x13,
        GOT_AuctionHouse=0x14,
        GOT_SpellCaster=0x16,
        GOT_MeetingStone=0x17,
        GOT_FORCEDWORD=0xFFFFFFFF,
    };
    Furthermore, for herbs/mines/etc I use GetModel. Here's my implementations.

    Code:
    bool CGGameObject_C::IsFish()
    {
        if (GetSubType() == GOT_FishingNode)
            return true;
        return false;
    }
    
    bool CGGameObject_C::IsFoodOrWater()
    {
        if (GetModel())
        {
            if (strstr(GetModel(),"BARREL") || strstr(GetModel(),"Barrel") || strstr(GetModel(),"Crate"))
                return true;
        }
        return false;
    }
    
    bool CGGameObject_C::IsTreasure()
    {
        if (GetObjectName() && GetSubType() == GOT_Chest)
        {
            if (IsHerb() || IsMine() || strstr(GetObjectName()," Power Crystal"))
                return false;
            else if (IsFoodOrWater())
                return true;
            else
                return true;
        }
        return false;
    }
    
    bool CGGameObject_C::IsHerb()
    {
        if (GetModel() && strstr(GetModel(),"TradeskillNodes\Bush"))
            return true;
        return false;
    }
    
    bool CGGameObject_C::IsMine()
    {
        if (GetModel() && strstr(GetModel(),"_Miningnode_"))
            return true;
        return false;
    }
    GetModel and GetObjectName are in the CGObject_C VMT.

    Code:
    virtual char * GetModel() = 0;                    // Function16
    virtual const char * GetObjectName() = 0;        // Function42

  13. #13
    run32.dll's Avatar Contributor
    Reputation
    98
    Join Date
    May 2007
    Posts
    53
    Thanks G/R
    2/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks, I'm sure I can use this later to filter some objects...

    I think I'll have to create some kind of GUI for the rader. I searched the mpq-files and extracted the Icons for all kind of ores and herbs. Now I use them as textures. Then I made a filter ... I can now toggle:
    - show copper
    - show gold
    - show tin
    etc...
    but binding everything to a key ... hm...than every key on the whole keyboard would do something lol. Ofc I could just do toggle -> show herbs or show ore but some ppl told me they would like to hide some of these.

    Here is a screenshot I made on some privateserver, the GMs there build alot of strange stuff with objects. The Radar is a scalable, dragable 3DOpenGL window made 'always on top'.



    edit: added some rep
    Last edited by run32.dll; 09-06-2008 at 07:00 AM.

  14. #14
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1356
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by run32.dll View Post
    Thanks, I'm sure I can use this later to filter some objects...

    I think I'll have to create some kind of GUI for the rader. I searched the mpq-files and extracted the Icons for all kind of ores and herbs. Now I use them as textures. Then I made a filter ... I can now toggle:
    - show copper
    - show gold
    - show tin
    etc...
    but binding everything to a key ... hm...than every key on the whole keyboard would do something lol. Ofc I could just do toggle -> show herbs or show ore but some ppl told me they would like to hide some of these.

    Here is a screenshot I made on some privateserver, the GMs there build alot of strange stuff with objects. The Radar is a scalable, dragable 3DOpenGL window made 'always on top'.


    Minimap textures are stored in the MPQs but they're given retarded names, you need to work out how to convert your coords to a usable minimap file then draw that onto your radar.

  15. #15
    mmonewr's Avatar Member
    Reputation
    2
    Join Date
    Aug 2008
    Posts
    27
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    this sounds cool, is it gona be released and made so i can use it :>
    if not thats okay

Page 1 of 2 12 LastLast

Similar Threads

  1. [Question & Request] Mine Nodes & Herbs Model changed to AV flag
    By heosphoros in forum WoW ME Questions and Requests
    Replies: 3
    Last Post: 07-02-2008, 04:53 AM
  2. Mining Nodes
    By Androidmanwren in forum World of Warcraft General
    Replies: 2
    Last Post: 10-23-2007, 06:50 PM
  3. Herbs/Mining Nodes -> Towers
    By MiKE41 in forum World of Warcraft Model Editing
    Replies: 6
    Last Post: 07-04-2007, 10:26 PM
  4. More than one skill-up on a mining node.
    By Shizmaster in forum World of Warcraft Exploits
    Replies: 13
    Last Post: 06-15-2007, 03:51 PM
  5. If you need to see herbs/mines/chests/rare spawns...KAM
    By Yano in forum World of Warcraft Bots and Programs
    Replies: 25
    Last Post: 08-01-2006, 06:54 PM
All times are GMT -5. The time now is 07:47 PM. 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