| | WoW Memory Editing WoW Memory Editing for learning purposes only.
This section is more advanced than others on MMOwned Read the section specific rules, infractions will be given out if u break them!That is including the expectations! - If you don't meet them then don't post |  | | 
07-19-2009
|  | Master Sergeant | | | Join Date: May 2007 Location: NY
Posts: 119
Reputation: 39 Level up: 15%, 428 Points needed |     | | | Object Manager's reach I tried searching for this answer with no luck. How far of a reach does the Object Manager have? That is, when you're looping through WoW's Object Manager and storing each object, what is the limitation for determining which objects are included and which are excluded due to them being out of a certain radius or zone? Are all of the objects in the player's current zone included in the OM?
I'm trying to decide how often I should append/update my GameObject lists as the player moves across the map. | Donate to remove ads, get your "DONATOR title, and get access to the MMOwned community's elite Shoutbawx. 
07-19-2009
| | Site Donator | | | Join Date: May 2008
Posts: 207
Reputation: 14 Level up: 97%, 18 Points needed |   | | | I'm sorry, I do not know the specific distance. All I know is its a radius from your character.
The updating also seems to be around 5 seconds, easily calculated while flying around on high speed air mount above icecrown while looking down, timing between mob spawns from area to area. | 
07-19-2009
|  | MaiN's Biatch Legendary User | | | Join Date: Mar 2007 Location: VirtualAllocEx
Posts: 1,115
Nominated 26 Times in 3 Posts  TOTM/W Award(s): 1 Reputation: 727 Points: 36,171, Level: 28 | Level up: 95%, 129 Points needed |     | | | I believe its 100 yards or so | 
07-19-2009
| | Sergeant | | | Join Date: Jun 2008
Posts: 36
Reputation: 9 Level up: 17%, 419 Points needed | | | | WoW's servers seem to divide the world into a grid or something similar, sending to the client updates to objects in the cell the client is and adjacent cells. So, there isn't an update speed or fixed radius for the client to receive new objects, they appear as you cross the boundaries of different cells. That said, there are some mobs and objects that are visible from a really long range, such as the Fel Reaver roaming in Hellfire Peninsula; I believe those specific ones might be visible from the whole zone. | 
07-19-2009
| | Site Donator | | | Join Date: Mar 2007
Posts: 766
Reputation: 20 Level up: 31%, 629 Points needed |     | | | I can't see that being that way. If so, why can we see all of the mobs in the other cells adjacent to us? Right before we cross the border of one, we can see the other cell's objects. The radius is probably about 100 yds like nesox said. | 
07-19-2009
|  | Master Sergeant | | | Join Date: May 2007 Location: NY
Posts: 119
Reputation: 39 Level up: 15%, 428 Points needed |     | | Quote:
Originally Posted by RoKFenris WoW's servers seem to divide the world into a grid or something similar, sending to the client updates to objects in the cell the client is and adjacent cells. So, there isn't an update speed or fixed radius for the client to receive new objects, they appear as you cross the boundaries of different cells. That said, there are some mobs and objects that are visible from a really long range, such as the Fel Reaver roaming in Hellfire Peninsula; I believe those specific ones might be visible from the whole zone. | Oh, I wasn't referring to how often the client receives data for surrounding objects. I meant that I was trying to figure out how many of the surrounding objects are stored in the Object Manager offset when I iterate through each object.
For example, if I loop through the OM while my player is in zone A, then move my player into a different zone B without reiterating through the OM, I assume there would be data discrepancies between the stored OM data and the actual objects in the new zone. It sounds like I would be okay to rescan the OM every time the player's zone changes. Or maybe I could store the player's XY position at the time of the OM loop, periodically compare it to his current XY position, and once the difference surpasses a certain distance (100 yard radius?), reiterate through the OM.
Last edited by _duracell; 07-19-2009 at 09:07 PM.
| 
07-19-2009
| | Site Donator | | | Join Date: Mar 2007
Posts: 766
Reputation: 20 Level up: 31%, 629 Points needed |     | | | Just run through the OM linked list in a thread every few seconds. It's not that much overhead. You will have to reload the OM and LocalPlayer when your zone changes though(I think). | 
07-19-2009
| | Knight-Lieutenant | | | Join Date: Jan 2008
Posts: 275
Reputation: 17 Level up: 21%, 558 Points needed |  | | | Why do you need to store the objects at all? | 
07-19-2009
|  | MMOwned WebDev Legendary User | | | Join Date: Jan 2008
Posts: 1,915
Nominated 5 Times in 1 Post Reputation: 1029 Points: 22,671, Level: 21 | Level up: 17%, 1,329 Points needed |     | | Quote:
Originally Posted by ramey Why do you need to store the objects at all? | Because storing a copy of the GUID/Pointer is faster than reading it each time? | 
07-20-2009
|  | Kynox's sister's pimp Legendary User | | | Join Date: Apr 2006 Location: ntdll.dll
Posts: 4,182
Nominated 63 Times in 4 Posts  TOTM/W Award(s): 1 Reputation: 1085 Points: 55,512, Level: 35 | Level up: 14%, 3,188 Points needed |     | | Quote:
Originally Posted by Apoc Because storing a copy of the GUID/Pointer is faster than reading it each time? | It also means you can sort the objects using your own criterion which can improve lookup time even further. | 
07-20-2009
|  | MMOwned WebDev Legendary User | | | Join Date: Jan 2008
Posts: 1,915
Nominated 5 Times in 1 Post Reputation: 1029 Points: 22,671, Level: 21 | Level up: 17%, 1,329 Points needed |     | | Quote:
Originally Posted by Cypher It also means you can sort the objects using your own criterion which can improve lookup time even further. | /me nods
Wasn't going to bother explaining intricacies as it's fairly obvious, this thread is far below the level of using sort algorithms. | 
07-20-2009
| | Knight-Lieutenant | | | Join Date: Jan 2008
Posts: 275
Reputation: 17 Level up: 21%, 558 Points needed |  | | | Good points :X never thought about it, then again though I haven't even really gotten into building a bot yet. Never had a proper interest, but my interest raised a bit once I started building that framework that I'm doing...
Thanks for the reasons, surprised I posted such a crap question and didn't think for a second. | 
07-20-2009
|  | Site Donator | | | Join Date: Apr 2008
Posts: 305
Reputation: 62 Level up: 31%, 484 Points needed |   | | | OM cached list with rich data + LINQ == sweetest of object sorting/searching love.
__________________ Don't believe everything you think. | 
07-20-2009
|  | MaiN's Biatch Legendary User | | | Join Date: Mar 2007 Location: VirtualAllocEx
Posts: 1,115
Nominated 26 Times in 3 Posts  TOTM/W Award(s): 1 Reputation: 727 Points: 36,171, Level: 28 | Level up: 95%, 129 Points needed |     | | | /nods LINQ is really nice
@op: you should just update your lists each frame.
I got 7 lists that gets refreshed each frame, one for each objettype | 
07-20-2009
|  | MMOwned WebDev Legendary User | | | Join Date: Jan 2008
Posts: 1,915
Nominated 5 Times in 1 Post Reputation: 1029 Points: 22,671, Level: 21 | Level up: 17%, 1,329 Points needed |     | | Quote:
Originally Posted by Nesox /nods LINQ is really nice
@op: you should just update your lists each frame.
I got 7 lists that gets refreshed each frame, one for each objettype | Didn't I tell you not to do that?!?
Update each frame = fine.
Updating 7 lists = baaaaaaaaaaaaaaaaaaad.
Use 1 list, and filter when needed. Tard. |  | |
Posting Rules
| You may not post new threads You may not post replies You may not post attachments You may not edit your posts HTML code is Off | | | All times are GMT -4. The time now is 11:03 PM. |