Welcome, Guest. Please login or register.
Did you miss your activation email?
April 25, 2024, 05:49:29 pm *

Login with username, password and session length
Pages: [1] 2 3 4 5 6 ... 8
Print
Author Topic: Loot Macro  (Read 38823 times)
Dimur
Hero Member
Hero Member
*****
Posts: 699


View Profile
« on: October 24, 2019, 01:50:01 pm »

In the interests of streamlining gameplay and removing tedium, I reached out to Rent about the possibility of building a macro that handles all the looting logic I'd use through normal gameplay.  Looting is not inherently hard, but as you start to mass pull more and more the corpses pile up.  Specifically in T9, with all of the quest armor components and vendor sellable items, you can end up with more than 250 corpses on a zone pull.  Although T9 is probably the worst zone to sift through corpses in, it can certainly be an issue with any zone you are mass pulling in. There's always a gray area when automating a process, and I wanted to be certain that the request wasn't encroaching on it.  I explained what the macro would do and how it would work, Rent said he didn't take issue with it and I started writing it about a year ago.  Since then I've shared it with a few people and asked for feedback and made subsequent tweaks to it, and I feel like while it's still very much a work in progress, it might be time to publicly release it and advance from the alpha phase to beta.  

What it does:
    In it's current iteration, the macro just runs passively as you play and watches for triggers to start processing logic.  What this means is that the macro does nothing until you tell it to, you have to initiate the process.  The triggers are all /echo commands, echo is a way for you to send text to the mq2chat window.  If I /echo Dimur, you'll see it Dimur displayed in the mq2chat window.  This macro watches for specific echo commands in the mq2chat window and when it sees those trigger commands it executes the corresponding logic.  
    
    When you execute the command /echo ezloot, the macro looks for a file in your macros folder named EZLoot_YourName.ini.  If the file doesn't exist, a new one will be generated for you with a section for letters a through z.  Initially this is a blank template that you need to populate with values, you can add items to this from in game or edit the file manually.  Hopefully when people get fleshed out values in this file, they'll share them for other people and expedite the process but you'll always be able to add items you want the macro to watch for either way.
    
    The macro checks for corpses within 200 units of you and starts putting the corpse ID numbers into a string and will do this for up to 250 corpses, from nearest corpse to furthest.  Then it starts reading each corpse ID from the string, moves you to looting range of the corpse and opens up the loot window and iterates through each populated loot slot on the corpse and checks to see if each item has a value set in the associated INI file for your character.  If the item is listed in your INI file, the macro will execute the associated command.  
    
    Options you have to set an item to are Keep, Announce, Destroy or Ignore.  An item set as Keep will tell the macro that every time it sees that item on a corpse to right click and loot it.  The announce setting is handy for items that the looting character does not need but another character in your party might.  Whenever the macro encounters an item flagged Announce, it will send a /raidsay saying what item it found and what the ID of the corpse the item exists on.  This allows you to toggle to that character, /tar id AnnouncedID and /stick to it and loot it.  It could be especially handy when farming epic book pages for multiple toons, as well as any number of other items/hp augs that drop.  Destroy is currently enabled with the macro, but I'd advise against using it unless absolutely necessary because every time the macro sees that item it will pick it up off the corpse and destroy it.  Ignore is just a way to tell the macro to ignore when this item drops, it's basically the same as removing it from your INI file but you are unable to delete items in an INI file from in game so this is a simple workaround for items you no longer have any use for.
    
    There is Sell logic built into the macro as well, when you are in the lower tiers this probably isn't that useful since all the plat bags and chests stack but once you start getting expensive blue diamonds to drop and start eating up your bag space, you'll find yourself having to sell them off to vendors regularly.  Selling a stack of plat bags is easy, just highlight them in the sell window and shift click to sell the entire stack.  With items that occupy a bag slot you kind of have to go through and click each one then click sell, and as incredibly lazy as it sounds to have the macro do that for you, there's a certain sense of satisfaction in opening a merchant window and /echo ezsell to let it do it for you.

When you first /echo ezloot, summary help text is displayed.  Currently it should be set to turn off after the first time displayed, but you can call up the help text by /echo ezloot help.  The macro will always enable /hidecorpse looted when doing it's loot logic, it is NOT destroying items on the corpse unless you specifically set those items as Destroy...again, I take no responsibility for any items you destroy by using the Destroy setting in your INI.  This is still a beta project, feel free to use it and submit feedback to this thread and I will do my best to address the issue(s).

There are 3 associated files you need to run this.  The first is a blank macro that does nothing but watch for chat events, the seconds is an include file named EZLoot.inc...this file gives all of the logic and trigger text to the macro and the third adds logic to set up specific looters for items and if the item is found on the corpse, the looter checks to see if it's assigned to a toon to loot and sends a tell with loot logic to that toon to loot.  Drop all 3 of these files into your Macros subfolder in your MQ2 directory, then in game /mac ezmac.  

https://drive.google.com/open?id=10AyLaXcqrirV1yjGEq-x4c4effQ6GEPc  < EZMac
https://drive.google.com/file/d/0Bx1n7qV-qwdiN0VzUlJGNFNmYVc4YjlaeVllX2d4SC01OUhz/view?usp=sharing&resourcekey=0-1JTJ2ZuGg7EhQkXw7mqGmw  < EZLoot
https://drive.google.com/file/d/1lSCd8kuVb9tGc4cjXo5TvSXElrVZyf6X/view?usp=sharing < EZLootItemCount
https://drive.google.com/open?id=1hmTt62Flus19Thg4lYEYBCQZ8CA1MsBe < EZRLoot
« Last Edit: February 12, 2022, 01:45:03 pm by Dimur » Logged
Dimur
Hero Member
Hero Member
*****
Posts: 699


View Profile
« Reply #1 on: October 24, 2019, 02:31:29 pm »

To do list:

Set user enabled toggles for some of the options, like returning looter to the place they started the loot logic.

Settings you can modify from in game currently, note the /echo has to end with an exclamation point (!):

Summary Loot Announce - This watches what you loot and tallies the totals of each up and after it's finished looting, it will list what you looted and the total for each item.
[2] Big Bags of Platinum
[5] Big Chests of Platinum
[3] Expensive Blue Diamonds
[1] Glowing Sun Shard
This is the layout of the announce, it can announce a summary total in your mq2chat window, see attached picture for an example of what the raidsay summary looks like.
/echo ezloot settings Summary Loot Announce setto On!
On or Off is the only value you can set this to.

Summary Loot Channel Raid - This is the same as above, but it spits the message out in raidsay
/echo ezloot settings Summary Loot Channel Raidsetto Off!
On or Off is the only value you can set this to.

Return To Start Location - This save your location when the macro enters loot logic and returns you to that same spot when you are finished looting
/echo ezloot settings Summary Loot Channel Raidsetto Off!
On or Off is the only value you can set this to.

Destroy Enabled - This allows you to use the Destroy logic when looting, the macro will loot and destroy this item if it is set to Destroy, this will be disabled by default (off) and I suggest leaving it that way but it was an option an alpha tester asked for.
/echo ezloot settings Destroy Enabledsetto Off!
On or Off is the only value you can set this to.

Loot Radius - This tells the macro the radius in which to check corpses, it's set to 200 units by default but can be modified from 1 unit up to 500 units.
/echo ezloot settings Loot Radiussetto Off!
On or Off is the only value you can set this to.

These are the current settings that will be user modifiable in the updated EZLoot.inc file, I'm open to suggestions for anything else people might want to have more control over...leave feedback on this thread.
« Last Edit: October 24, 2019, 07:51:25 pm by Dimur » Logged
Fecs
Jr. Member
**
Posts: 76


View Profile
« Reply #2 on: October 24, 2019, 09:11:19 pm »

excited to give it a shot, but the EZLoot google drive is set to private.

Sounds like the perfect fix to the number 1 cause of me not logging in as often, not wanting to spend 12 of every 14 minutes looting bodies lol.
Logged
Draca
Administrator
Sr. Member
*****
Posts: 438


View Profile
« Reply #3 on: October 24, 2019, 09:48:05 pm »

Thanks Dim, I know most of the higher ends on this server tend to keep custom macros to themselves, but this is an excellent quality of life tool for everyone. If I can ever do, or, get you something in game, let me know.

/cheers


Dracawarrior
Logged

Dimur
Hero Member
Hero Member
*****
Posts: 699


View Profile
« Reply #4 on: October 24, 2019, 10:55:53 pm »

Sorry, apparently turned share link off when I updated the file, both should be downloadable now.
Logged
Dimur
Hero Member
Hero Member
*****
Posts: 699


View Profile
« Reply #5 on: October 28, 2019, 12:03:32 pm »

Posting my INI settings to help people have a pre-populated file, the only things I have as Keep at this point are all tier essences, tofs essences, plat bags and chests (smaller ones not in here, you have to add those yourself), gsoa and gss and aa crystals as well as Halloween drops.  Add anything else you'd want to keep or announce, but this should cover the aforementioned for you.
Logged
Dimur
Hero Member
Hero Member
*****
Posts: 699


View Profile
« Reply #6 on: October 28, 2019, 01:45:51 pm »

Updated the EZLoot file with some additional options.

The file will now build the INI with settings populated, Pop Up will be Off by default.  /echo ezloot help for in game help menu

Added an option to use an /echo command to add an item by name and it's associated setting [Keep,Announce,Destroy,Ignore].
Logged
Brannyn
Sr. Member
****
Posts: 368


View Profile
« Reply #7 on: November 02, 2019, 10:50:57 pm »

I just set it up to try it out and it works well EXCEPT that whatever toon I run it on will lock up after checking around 50 corpses it seems.
I did notice that I was getting an error about not finding eqbc names in the spam in mq
« Last Edit: November 02, 2019, 11:19:22 pm by Brannyn » Logged
Brannyn
Sr. Member
****
Posts: 368


View Profile
« Reply #8 on: November 03, 2019, 12:28:32 am »

The lockup does not actually seem to happen because of how many corpses have been looted and there is nothing limiting the number of corpses checked.
Lockups were happening in Illsalin and when testing in ToFS there were no crashes. Currently checking if reducing the number of items the characters are looting fixes the issue.
« Last Edit: November 03, 2019, 12:57:42 am by Brannyn » Logged
Brannyn
Sr. Member
****
Posts: 368


View Profile
« Reply #9 on: November 03, 2019, 12:59:13 am »

After looting around 25 items in a single loot loop they will lockup.
Logged
wolfegunr
Sr. Member
****
Posts: 274


View Profile
« Reply #10 on: November 03, 2019, 02:30:31 am »

Quantity window for looting foxy coins:
Does anyone know what this window is called or how to notify it to accept the quantity? My loot macro gets stuck on these, so I can't loot.
One method to fix is to notify the window and click accept, but I don't know what the window is named.
Another way would be to hold ctrl button, but this does not seem to be a function I can do, that is /keypress ctrl will do nothing, /keypress ctrl hold doesn't work either
Logged

What you've just said is one of the most insanely idiotic things I have ever heard. At no point in your rambling, incoherent response were you even close to anything that could be considered a rational thought. Everyone on this board is now dumber for having read it. May God have mercy on your soul.
Dimur
Hero Member
Hero Member
*****
Posts: 699


View Profile
« Reply #11 on: November 03, 2019, 09:44:40 am »

/ctrlkey is the MQ2 command to keypress control, but that would pick one coin out of a stack so not sure why you want that.  /shiftkey should already be in the code before the notify to mouseclick right so it should be picking up full stacks of numbered items.  If this is not happening, I need to figure out why. 
I talked to Brannyn last night in game and he had some good, actionable feedback that I can try working with.  If the macro is crashing at 25 items looted, it could be that the loot announce string is getting too large and for some people that logic needs to be turned off or commented out.  I'll be in game grinding but will try to make it a point to update a file with summary loot announce turned off yet today.
Logged
Dimur
Hero Member
Hero Member
*****
Posts: 699


View Profile
« Reply #12 on: November 03, 2019, 06:56:30 pm »

Brannyn isolated the issue he was having and it was part of the loot summary logic, the trigger for that logic has been commented out on the most recent version so please test it and feedback here if there are further issues.
Logged
stales
Jr. Member
**
Posts: 54


View Profile
« Reply #13 on: November 04, 2019, 12:00:47 am »

This is great for people that zone pull! loving it
Logged
Brannyn
Sr. Member
****
Posts: 368


View Profile
« Reply #14 on: November 04, 2019, 08:01:45 pm »

Add something that checks if an item is in the ini file as you are looting and pauses you allow you to choose keep, ignore, or announce when it finds new items. Also the ability to turn this on or off so you don't have to have it running after you have already built the ini file
Logged
Pages: [1] 2 3 4 5 6 ... 8
Print
Jump to:  

Recent

Stats

Members
Stats
  • Total Posts: 64987
  • Total Topics: 5053
  • Online Today: 98
  • Online Ever: 8678
  • (December 19, 2022, 02:32:09 pm)
Users Online
Users: 0
Guests: 73
Total: 73
TinyPortal v1.0 beta 4 © Bloc