Objects menu

User Tag List

Thread: Objects

Results 1 to 9 of 9
  1. #1
    lut4's Avatar Private
    Reputation
    1
    Join Date
    Mar 2011
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Objects

    I know there have been many object/object manager threads before, but i have read them all and my question has not been answered. I can get my code to give me a list of nearby objects but if the objectGUID is Uint64, they get very long and does not coropsond to wowheads ids. This is made in autoit and i know that you guys hate it.
    I get my objectmanager:
    Code:
    $currMgr_pre = _MemoryRead("0x" & Hex($WowBase + $ClientConnection), $hWow , "dword")
    $currMgr = _MemoryRead("0x" & Hex($currMgr_pre + $CurMgrOffset), $hWow , "dword"
    Then to get the objects in a list, i have done a while loop:

    Code:
    Func GetObjects()
    
    	$NextObject = _MemoryRead("0x" & Hex($currMgr + $FirstObjectOffset), $hWow , "dword")
    			
    	
    	$ObjType = _MemoryRead("0x" & Hex($NextObject + $GameObjTypeOffset), $hWow , "dword")
    	
    	
    	while (($ObjType <=7) And ($ObjType > 0))
    		
    		
    		$NextObject1 = $NextObject
    		$NextObject1 = _MemoryRead("0x" & Hex($NextObject + $ObjectGUIDOffset), $hWow, "UINT64")
    		
    		
    		
    		
    		$counter = FileReadLine($file);read file contents
    		$counter += 1
    		
    		FileWriteLine($file, $NextObject1)
    		
    		
    		$NextObject = _MemoryRead("0x" & Hex($NextObject + $NextObjectOffset), $hWow , "dword")
    
     		
    		$ObjType = _MemoryRead("0x" & Hex($NextObject + $GameObjTypeOffset), $hWow , "dword")
    	Wend
    	
    Return 0;
    
    EndFunc
    I am very uncertain if i am getting the objects correctly, because when i am standing close to many players and only want my object list to look for them, i get like one GUID.
    The output i get from this function is this:
    Code:
    2376071118993290480
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    2334097649150001592
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    7291112726236561848
    11082288
    11082288
    2314861469883761080
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    2338277996653773240
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    3403706932927201720
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    11082288
    7291112764891267512
    11082288
    11082288
    11082288
    11082288
    8026097822332420536
    2334393379123167672
    7310575258869236152
    7294740818255479224
    11082288
    4120847681153728952
    2233079185124426168
    -5389719726338795472
    -4990627521198751576
    11072752
    6486707682893439800
    11072752
    11072752
    11072752
    11072752
    11072752
    -5445752247639533520
    11072752
    3075885655615150128
    -6635292725016455120
    6505367413124044848
    651626712968796208
    6403228439375583280
    -725732392204429264
    6532961036107585584
    5325043153880291376
    -7220497352129701840
    -9014082992088734920
    8874278529566057272
    2821425688188887864
    5882380903600694072
    11084600
    6510041574492676920
    -596445509998533832
    -6293029882164600008
    3323929440117391528
    6015690963277119656
    -8995759888509885640
    6339634512186120240
    11072752
    11072752
    5900949460265542456
    11072752
    11081776
    1004472454022240304
    -72340220054792144
    7630640280511256624
    -4209785699233621968
    -6133646566387804112
    11072752
    8599621289451791160
    -6597837552178620368
    -5390010276581402576
    -9014055899435034576
    -94950894995954888
    -6644581403542871240
    -2891315380282121416
    281470692827960
    11084600
    -4283882696
    3255303370330153784
    362266150532883256
    11084600
    7117511947723547448
    2466313011857007416
    -7165036856048281552
    -4773889079007176656
    -4209513162083854288
    6257396247928841016
    -7221014650875731144
    -6542413640628624584
    -8346105592038218952
    -6151814089071320264
    3586772651129512760
    8681508195319489336
    11084600
    11072752
    2078728815104294648
    11072752
    11072752
    2158382660100620024
    406216151440883448
    281470692827960
    2440450892053937912
    I hope that you guys can help me.

    -lut4

    Objects
  2. #2
    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)
    A guid (-like type in wow) is a 64-bit number which is uniquely associated for each wow object in game.
    There actually must be a server side algorithm to at least set some speciofic bits (hence some smaller values and some bigger), but you can treat them as random unique "names" for an object.

    There is no correspondance between a guid (which identifies a particular instantiation) and an item/type id like the one used by wowhead (which identifies a particular "class", e.g. the NPC with id 4900: Alchemist Narett - NPC - World of Warcraft).
    iirc if you kill Alchemist Narett, you cannot expect him to have the same guid after he respawned.

    I'm too lazy too look for it, but i bet you can get the item/npc/whatever id from the WoWObjects's descriptor fields.

    After all, your output seems to be correct, but I actually don't know why there are that many duplicate guid's in the list.

  3. #3
    lut4's Avatar Private
    Reputation
    1
    Join Date
    Mar 2011
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You do not se any wrong in my code? But if i use a descriptor to get the name, the even if the guid changes, the descriptor would still give the same name?

  4. #4
    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)
    When you kill the Alchemist, the actual NpcObject is not reused (it's not like the server is filling up the health of the NPC and tagging him not dead).
    A new NpcObject is constructed with another guid but with the same name, (start-)position, id ... and some time after the corpse despawned, the old NpcObject is destroyed.
    That's why a unique quest mob like hogger can spawn even if there is already a pile of hogger corpses around him.
    Hogger is just an WoWUnit template with the name "Hogger", some x00ish HP and gnoll skin. It can be instantiated multiple times, each time with another unique id.

    Note to the others: I'm not actually sure about the transition from a WoWUnit to a WoWCorpse and how it affects guids and the exact inner workings... just meant to visualize things.

  5. #5
    lut4's Avatar Private
    Reputation
    1
    Join Date
    Mar 2011
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thank you! I can't seem to find how to get the object name. I have tried:

    With the offsets:
    Code:
    Global Const $ObjectName1 = 0x1CC
    Global Const $ObjectName2 = 0xB4
    Code:
    $ObjectDescriptor = GetMemLocByGUID($NextObject1)
    $ObjectName = _MemoryRead("0x" & Hex($ObjectDescriptor + $Objectname1), $hWow, "dword")
    But i am also not sure if it is a dword or str?

    The GetMemLocByGUID function is from the thread by gononono64

  6. #6
    outcast's Avatar Member
    Reputation
    4
    Join Date
    Oct 2006
    Posts
    44
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You can also use an objects DisplayId to differentiate objects.

  7. #7
    Blondy's Avatar Private
    Reputation
    1
    Join Date
    Feb 2011
    Posts
    8
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    in the dump thread you can find:
    Code:
    Global Const $ObjectName1 = 0x1CC
    Global Const $ObjectName2 = 0xB4
    This are your offsets for then Objectname.

    Here's my code:
    Code:
    Func _GetObjectName($fGUID)
          $Name1 = _Memoryread(GetMemLocByGUID($fGUID) + $ObjectName1,$wow,"dword") 
          $Name2 = _Memoryread($Name1 + $ObjectName2,$wow,"dword")
          Return _MemoryRead($Name2, $wow, "char[20]")
    EndFunc
    I don't know how your GetMemLocByGUID function works but I think its the same as mine
    Anyway you can use your $NextObject1 variable instead. Should work, too.

  8. #8
    lut4's Avatar Private
    Reputation
    1
    Join Date
    Mar 2011
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks for all you help!

    Edit: I can not get the code working. It does not provide me with an output. Here is the full code:

    Code:
    Func GetObjects()
    	
    	$NextObject = _MemoryRead("0x" & Hex($currMgr + $FirstObjectOffset), $hWow , "dword")
    	
    	
    
    	$ObjType = _MemoryRead("0x" & Hex($NextObject + $GameObjTypeOffset), $hWow , "dword")
    	
    
    	while (($ObjType <=7) And ($ObjType > 0))
    		
    		
    		$NextObject1 = $NextObject
    		$ObjectXpos =_MemoryRead("0x" & Hex($NextObject + $XPositionOffset), $hWow , "float")
    		$ObjectYpos =_MemoryRead("0x" & Hex($NextObject + $YPositionOffset), $hWow , "float")
    		$ObjectZpos =_MemoryRead("0x" & Hex($NextObject + $ZPositionOffset), $hWow , "float")
    		$NextObject1 = _MemoryRead("0x" & Hex($NextObject + $ObjectGUIDOffset), $hWow, "UINT64")
    		;$ObjectDescriptor = GetMemLocByGUID($NextObject1)
    		$ObjectName1 = _MemoryRead(($NextObject1 + $Objectname1Offset), $hWow, "dword")
    		$ObjectName2 = _Memoryread($ObjectName1 + $ObjectName2Offset,$hWow,"dword")
    		$FinalName = _MemoryRead($ObjectName2, $hWow, "char[20]")
    		
    		
    		
    		$counter = FileReadLine($file);read file contents
    		$counter += 1
    		
    		FileWriteLine($file, $FinalName)
    		
    		
    		$NextObject = _MemoryRead("0x" & Hex($NextObject + $NextObjectOffset), $hWow , "dword")
    
     		
    		$ObjType = _MemoryRead("0x" & Hex($NextObject + $GameObjTypeOffset), $hWow , "dword")
    	Wend
    
    	
    	Return 0;
    EndFunc
    -lut4
    Last edited by lut4; 03-19-2011 at 09:15 AM.

  9. #9
    Blondy's Avatar Private
    Reputation
    1
    Join Date
    Feb 2011
    Posts
    8
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    i think the problem is that $NextObject1 contains the objact GUID but to read the object name you need $NextObject
    just relpace it

Similar Threads

  1. What happens when The Unstoppable Force hits The Immovable Object!?
    By kBlaster in forum World of Warcraft General
    Replies: 5
    Last Post: 04-30-2007, 09:02 AM
  2. Weird "Objects" in STM.
    By tyguy22894 in forum World of Warcraft Exploration
    Replies: 18
    Last Post: 04-22-2007, 03:22 PM
  3. WoW Addiction, I OBJECT! Video
    By The Juggernaut in forum Community Chat
    Replies: 1
    Last Post: 03-07-2007, 04:31 PM
  4. Model Editing (objects) Video Turtorial [No Download Required]
    By tyman2006 in forum World of Warcraft Model Editing
    Replies: 3
    Last Post: 12-21-2006, 08:11 PM
  5. Campfire---> Ramp or other climbable object?
    By Piratewolf in forum WoW ME Questions and Requests
    Replies: 7
    Last Post: 10-04-2006, 08:22 AM
All times are GMT -5. The time now is 05:52 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