MQ Memory

Need help running MacroQuest 1? Too bad! Use MQ2.

Moderator: MacroQuest Developers

funkymunky
decaying skeleton
decaying skeleton
Posts: 4
Joined: Sun Aug 17, 2003 8:32 pm

MQ Memory

Post by funkymunky » Sat Sep 06, 2003 4:34 am

I've noticed when running a macro such as the once-popular Skull Ale, that MQ seems to store the location of the open bags and brew barrel. So if I were to /end the macro, change the location of my bags, or the barrel window, MQ still tries to point the mouse cursor at the original bag locations when I start the macro again.

Is there a way to reset this, other than logging out and back in?

Shin Noir
a ghoul
a ghoul
Posts: 90
Joined: Tue Aug 05, 2003 8:18 pm

Post by Shin Noir » Sat Sep 06, 2003 5:01 am

if I recall right, MQ doesn't actually store that junk in memory. In fact it has no clue in hell where they are on in your screen, except that it loads it from your GUI file right when you execute a macro.

The GUI file is only as recent as the last time you closed your bags though, so uhh. Only way to "update" the memory in your MQ bag locations is probably going to be closing a bag, then opening them WITHOUT moving the bags so your GUI ini are in sync with their current locations. -_-;;

Hope that helps, and that made sense..

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Sat Sep 06, 2003 9:09 am

Correct Shin.

MQ does not store the location of anything on your screen. It parses your ini and xml files every time to determine where to look. The locations.txt file is a roadmap, telling the parser which XML files to look in and what ScreenID to search for. This sidesteps a number of problems. First, we don't need memory locations for potentially hundreds of screen locations, and we don't waste system memory storing and updating those locations dynamically. There was the possibility of having to find a tremendous number of new offsets to make the whole system dynamic and immediate, as well as the code itself... and frankly, I didn't want to deal with that. Second, it makes it very simple to add new locations such as "charm", "shared bank", and "shared platinum" very quickly, simply by updating the locations.txt file.

EQ updates your locations whenever you close a window. So, if you open, say, pack 7, and move it, MQ will not be able to find the correct coordinates unless you close and reopen the pack. Anytime you move a window you will have to close it to update it's associated files before MQ's location parser can find the new coordinates.

So, the general sequence for a tradeskill macro is

1) Open and position the inventory window and all bags and containers.
2) Close everything.
3) Open it all again. Screen locations are now updated on your harddrive, and MQ will find them correctly.
4) Run macro.
MQ2: Think of it as Evolution in action.

funkymunky
decaying skeleton
decaying skeleton
Posts: 4
Joined: Sun Aug 17, 2003 8:32 pm

Post by funkymunky » Sat Sep 06, 2003 8:41 pm

Awesome, thanks guys :)