• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Request - Looking to commision a macro... (1 Viewer)

Joined
Aug 9, 2006
RedCents
382¢
I'm looking for someone to write a small custom mac for me. I need it to do the following:

When at an house and viewing the collectible items stored on the list...

Go down the list and see if each item is COLLECTED or NOT COLLECTED and then move ONE of each NON COLLECTED items to inventory, while notify that item (in inventory) to "collect" it. When done, send a message like /bc done.

If anyone's interested in this job, let me know.
 
I think it would be awesome if we could figure out a way to check your achievements for stuff that you havent collected, search bazaar and buy it. I too though haven't found a way to be able to see if an item is collected.
 
ctaylor22 Right, I'm not familiar with collections personally. How do I access collections from in a home? I don't currently have a home but I do have my own guild house, does that apply? If not, then I suppose I could get a house and check it out.
 
You can see if an item is collected by opening the item inspect window and there is red or green text saying 'Collected' or 'Not Collected', if you have no item window open or the item is not a collectible it just returns nothing

${Window[itemdisplaywindow].Child[IDW_CollectedLabel].Text}
 
I work best in game through testing. It's good to know that there is a label available. But for testing purposes I would need to aquire 3 collectibles. 1 to "consume" a copy of it to have to ensure the "Collected" check is working, and a 3rd to verify the uncollected check is working. Any recommendations as far as which I should get that I can get cheaply? I'm not even sure what to search for in bazaar/a location to go to get some. I've never even seen a collectible item that I'm aware of as I haven't "played" for a while. I do get in game, but mostly just to test code.

FYI I would be doing the coding for a donation only. I have no set rates or anything like that. But were I to make the macro it would be made public to other RG users.

Disregard the suggested item request. I've located the "Collectible" type in the bazaar.
 
Last edited:
I think it would be awesome if we could figure out a way to check your achievements for stuff that you havent collected, search bazaar and buy it. I too though haven't found a way to be able to see if an item is collected.

There's a macro that'll search the Xpac's collection and see if any of them are for sell in the bazaar. Collections.mac
 
You can see the list of items in the real estate window

${Window[RealEstateItemsWnd].Child[REIW_ItemsPage].Child[REIW_ItemList].List[x,n]}

where is x list number., where n column number BLANK(Icon) | Name | Type | Qty | Location | Status| OwnerName

The list in the window is modified by button for filters eg /notify RealEstateItemsWnd REIW_ShowYardButton leftmouseup ${Window[RealEstateItemsWnd].Child[REIW_Summary_Screen].Child[REIW_ShowYardButton]}

where there exists buttons for Yard, House, Crate, Stored, Placed, Placeable, Vault, Owned, Unowned


I don't see a way to sort items? i dropped a collectible book in the house (couldn't place, can any collectible be placed?) I don't really use the real estate stuff much, so if there is some other page that has items you have in the plot i don't know
 
So I've got a lot of code for this done already. The issue I'm facing currently is the only way to check to inspect the items while they are in storage is via a context menu...which to my knowledge I don't have access to with MQ2. So currently the only way I'm able to even check if it is a collectible is to move it to my inventory, then check to see if it is a collectible, then if it is, rightclickheld on it. But there is no way to delay xx amount of time until the window is open. Then inspecting the contents of the window seems a bit shady.
if I ${Window[ItemDisplayWindow].Open} it returns false if I've inspect an item in my bank even if the window is open for another item. After crashing (Lol happens during testing sometimes) and logging back in it wasn't doing that.

So it's possible that you can become bugged prior to trying to use this and that could be annoying.
 
Posting here because you're the original requestor.
Worked for me. Let me know if I need to slow it down or anything. I do have it going full blast with as few delays as possible to allow it to run.

Few Caveats. I couldn't inspect the item while it was still stored in the house's vault. This should remove any item that has a V tag on it (meaning in the vault and not placed) and place it in your inventory 1 item at a time. It will then check to see if the item is a collectible. If it is a collectible it will then open the ItemDisplayWindow and check that window to see if the ItemInfo1 shares the same text as the item we are checking. If it will check the collected tag for "Not Collected" and if it hasn't been, it should then collected it.

If the item isn't a collectible it goes back into the vault.
If the item has already been collected it goes back into the vault.
This macro will only remove 1 item from a stack of items.
I'm not sure what to expect in the event the collectible is the only item in the stack as it will consume the item (pushing the next item up 1 in the array) and then iterate to the next index location possibly skipping an item. I have a theory for a fix on that, but because my macro worked so quickly it found and collected all 15 items I purchased in the bazaar before I knew what happened. LOL
@Norrathian But yeah. Here ya go.

If you want to donate feel free to throw me a bone, should be in my Sig. @Rooster, thanks for the pointers. Helped me get past that hump without having to research it any :-)
 

Attachments

  • CollectibleHouse.mac
    4.4 KB · Views: 14
Last edited:
Not sure who's already downloaded the macro. I fixed the potential for skipping items and added a bit of color to the text. I also forgot about the quantity window popup in the event you already had a copy of the item in your inventory (since it doesn't also check your inventory). Threw that catch in there just in case.
 
I tried messing with the housing a bit for being able to read item info out of the house, was never able to find the right TLO for referencing for a specific item that was stored in the vault.

You can access more information about windows in a couple of different ways.

Simply type /window

That would give you a list of all the children and all the windows in the game.

/window PrimaryWindowNameHere

That would give you a list of children to that window.

IE: /window QuantityWnd

Would populate all the children to the QuantityWnd window.

I dislike writing things down while I'm sat at my computer. So I've added a snippet to my hud that allows me to simply mouse-over the window or subwindow section that I need the name for.

So if I need the window name for the QantityWnd then I mouse over the title of the Quantity Window. If I need the name of the slider for the Quantity Window I mouse over the slider for the window.

If you navigate to your MQ2 Root Folder, commonly known as "Release" folder, then locate the file MQ2HUD.ini, you can paste this snippet into the window below the section labeled [Elements] but above any player specific crap at the bottom.

Rich (BB code):
[Dev]
    LastMouseOverText=    7,50,0,            255,0,255            ,${If[${EverQuest.LastMouseOver},${EverQuest.LastMouseOver.Name},]}
    LastMouse7bg=        7,50,0,            0,0,0                ,${If[${EverQuest.LastMouseOver},█████████████████████████,]}

Then Save the file and then ingame type /loadhud Dev

Additionally, I encourage you to check out the code in this macro. I've included notes as to what I was doing while I was programming the script.
 
You can access more information about windows in a couple of different ways.

Simply type /window

That would give you a list of all the children and all the windows in the game.

/window PrimaryWindowNameHere

That would give you a list of children to that window.

IE: /window QuantityWnd

Would populate all the children to the QuantityWnd window.

I dislike writing things down while I'm sat at my computer. So I've added a snippet to my hud that allows me to simply mouse-over the window or subwindow section that I need the name for.

So if I need the window name for the QantityWnd then I mouse over the title of the Quantity Window. If I need the name of the slider for the Quantity Window I mouse over the slider for the window.

If you navigate to your MQ2 Root Folder, commonly known as "Release" folder, then locate the file MQ2HUD.ini, you can paste this snippet into the window below the section labeled [Elements] but above any player specific crap at the bottom.

Rich (BB code):
[Dev]
    LastMouseOverText=    7,50,0,            255,0,255            ,${If[${EverQuest.LastMouseOver},${EverQuest.LastMouseOver.Name},]}
    LastMouse7bg=        7,50,0,            0,0,0                ,${If[${EverQuest.LastMouseOver},█████████████████████████,]}

Then Save the file and then ingame type /loadhud Dev

Additionally, I encourage you to check out the code in this macro. I've included notes as to what I was doing while I was programming the script.

Now why isn't something like this documented on page 1 of macroquest2's help guides...THX FOR THIS POST!!!

- - - Updated - - -

About to go run it, but I think I can already see 1 potential problem. Houses don't auto-rejoin stacks unless they're added by the same person. It'd be better to take the entire stack out, click 1, then put the whatever's left back.

If you have 295 / 300 items in the house, the macro will be unable to do the job after after it removes 5 items and puts them back into individual stacks. The solution is to remove the entire stack and then when returned, it'll simply change who the person was who put it in the bank. I'd LOVE to find a way to make items stack automatically AND limit withdraws to just 1 of each item (love to see that ability on the guild bank too).

- - - Updated - - -

There's a macro that'll search the Xpac's collection and see if any of them are for sell in the bazaar. Collections.mac

Quite a few people have asked where to get Collections.mac. I found it in the macroquest2.com VIP section. I think I'd need permission of the macro creator to repost it elsewhere, but it was made by MacQ. I'll send him an message and see if he'll allow reposting.

- - - Updated - - -

Ok, I've ran the macro and discovered a few things that'll help streamline this macro...

If you have box for the house like the Fearslayer's Storage Crate, you can put items in the Moving Crate or House storage. It needs to remember where it pulled the item from and put it back in the same container - otherwise, items end up in the multiple stacks and multiple places.

Also, if you right click the item, it offers an "inspect" option. Does that help?
 
If that is the case then I could make that slight correction. However, if the intent is to run this on multiple characters at once then you would face another issue, the item not being there when the other character gets to the location in the list loop for the item, only for it to be there after they've passed it.

IE: Character1 removes stack of Collectible1, character2 check that index location, which now has a different item and pulls it out. Character1 puts the item back and checks the next index, but character2 has already removed it, so they are technically looking at index 3 when they should be looking at index 2. character 2 puts their item back, which shifts the itemlist down 1, but character 1 put an item back and it shifted it down 1 as well. So when character 1 is checking index 2, they are really checking index 3, and when character 2 is checking index 1 they are really checking index 2, etc on down the list. Your best bet it to run it on 1 character until completion. Then run it on the following character.
 
Not that I'm opposed to making the change. But if only one character is running the macro then why would it matter? That condition would only apply if you took the item out and handed it to someone else and then they put it in the house's storage?

If you have box for the house like the Fearslayer's Storage Crate, you can put items in the Moving Crate or House storage.


I don't have one of those containers to test with. As of now it only removes items from the storage if it has the V icon in type.
http://everquest.allakhazam.com/db/item.html?item=112580
I have no desire to attempt this with my level 94 and 93 duo. To even attempt this I would need access to an account with this already available.

I made the quantity change. Just not sure it was needed.


 

Attachments

  • CollectibleHouse.mac
    5.1 KB · Views: 14
Not that I'm opposed to making the change. But if only one character is running the macro then why would it matter? That condition would only apply if you took the item out and handed it to someone else and then they put it in the house's storage?



I don't have one of those containers to test with. As of now it only removes items from the storage if it has the V icon in type.
http://everquest.allakhazam.com/db/item.html?item=112580
I have no desire to attempt this with my level 94 and 93 duo. To even attempt this I would need access to an account with this already available.

I made the quantity change. Just not sure it was needed.



Sorry, incorrect. Houses keep track of who put what in and how many they added. If you add 1 water flask and I add 1 water flask, you get TWO stacks of 1 water flask. With the first rendition, let's assume the house is well organized and no duplicate stacks of anything. Or to picture this problem easier, let's say you have a full stack of 1 collection and that's all that's in the house. <toon 1 name> runs the macro (the person who is credited for adding the items), finds he doesn't need that particular collectible and puts it back. It'll add back to the stack neatly and all's well.

<toon 2 name> (and so on) runs the macro and pick up 1 item. If they find they don't need it either, they replace it and instead of stacking, it creates a new stack of that item, with 1 item in it. The interesting thing happens when additional toons run the macro. It'll pickup 1 from the original stack, see if it's needed, if not, it'll put put it back, thus creating a third stack. When that third toon picks up stack 2 (the stack of 1), it'll get put back in the 3rd stack (or back into a new stack of 1 - if that toon needed the collection piece from the original stack. Either way, it'd create multiple stacks of everything, or TRY to. If you have 151 collection stacks in a house, it'll run out of room before everything can be put back.

The simple fix is pick up the entire stack and put it back after it runs. It'll change credit for who put the items in, but that's pointless IMO.

If, however, you've got 250+ in the house storage and the crate that provides another 100+ of storage (like the fearslayer's crate), and you're keeping 75 or so in it, it becomes crucial to keep track of where they were and hit the appropriate key when returning them.

With those 2 changes, this would be a fantastic macro.
 
If you're okay with giving me login rights then I'll see if I can manage the change. As of now I could only fix the stacking issue. Without a way to do testing I can't say for sure on returning an item to the correct location as I don't know the produced tags. Perhaps a screenshot of items in the crate versus the standard vault would be sufficient for me to find the right code to add, but then you'd be required to do all the testing, which can be time consuming.
 
Under LOCATION on the house window, it'll say House if it's in the closet and Moving Crate if it's in the crate. AFAIK, there isn't a container that lets you put non-placeable items in the Yard, so that shouldn't be an issue atm, but as long as you're adding things, it may be wise to add it. It'd say Yard if it were in a yard container.
 
Request - Looking to commision a macro...

Users who are viewing this thread

Back
Top