Hellos
First, would just like to mention I really like the autoloot plugin. Took a while last year to get it figured out and generally it's been working fine.
I have an issue with 'destroy' of items, in that it intermittently does it and then doesn't.
Background
Last year, looting basics were in place and things worked. Following the
'other' issues community experienced since February, I gave a bit more attention to housekeeping. The not wishing to see a pile of corpses on the map at my camp location. With this in mind, I added entries to loot ini, to destroy the unwanted 'no trade' / 'vendor worthless' etc. It may not be perfect, but reduced the mob corpse count at my camp considerably.
The general looting works. Master Looter is picking stuff up and loading the bags, and obey the asks in the loot ini file.
I haven't done anything special to the ini file. It's a series of items i've encountered over the zones, to which they have been simply set to one of - Ignore, Keep, Sell, Quest|
num and Destroy.
Observations
The ML contently stuffs their own bags, and what looks to go down group list to see if another wants the item in question if - MLs bags are at capacity, or the item is Quest marked and ML already has. If all the group are filled bags or have enough of them, then it gets left. That's fine.
The destroy activities though, they can start out working and then stop. By that I mean, there have been a few mob deaths, some loot has been collected, and in the mix is item marked destroy. ML is picking it up, and destroying it. Some time later, the ML is picking up the item, placing in bags and not destroying it. Note - bags are
not near capacity.
When I look at the MQ window, outputs from MQ2Autoloot:
:: SList: Giving item to me
:: PList : looting item to destroy it
:: Destroying timer ran out, moving on!
Sometimes there may be other few lines of non-loot things in the MQ window, but I've also seen where the ML has the MQ window with those 3 lines and no interruptions of other things written.
I have watched as group, and ML character are out of combat. ML is looting, the unwanted item goes into the bag
( i have it open on screen ), and it doesn't get destroyed. ML doesn't appear to be doing anything else other than looting, whilst infer the MA/Puller is looking for another mob to go bring back.
If I do nothing, the item will sit in the bags and the 'timer ran out' message is written to the MQ window.
If I'm watching, and it doesn't look to be auto-destroying, I'll react on seeing item sitting in the bag, by grab the mouse, move the mouse to the bag and click item - then magically, it gets destroyed, before I can move and click the destroy button on inventory window.
Other times I do get to complete the click it, destroy it myself. With hopes that the next time the item is looted it gets auto-destroyed, but often it's not the case.
Initial investigation
I looked at the source, and see there is only one output of the destroy moving on message, and that's when the clock has exceeded a timer value '
DestroyStuffCancelTimer'.
The code sees the item being checked is marked for destroy, outputs the looting to destroy it message, and sets a timer current time + 10
(hardcoded) seconds.
This lead to wondering, how often does the plugin look to destroy. It's called from the pulse method, so very frequently.
I am therefore at a loss, as to how 10 seconds can pass from picking up an item and it not being destroyed.
The destroy code, called from pulse reads straight forward.
- Bail out if the 10 second timer has lapsed.
- If the item id on cursor is the same id of item to destroy, then /destroy issued, and "Destroying item" is written to the MQ window. Returning from the destroy code.
- Not on the cursor it looks through the inventory. A quick read over that, and it's doing top level and then bag searches, finding a match it 'picks up' the item and returns from the destroy code.
I infer, the intention here is to let the current pulse finish, and the subsequent pulse will find item on cursor leading to the issue of the /destroy command.
The code for Autoloot - DestroyStuff(), reads very similar between the VeryVanilla source and Next source versions.
Closing comments on setup
This is running with MQ Next.
All characters are making use of KissAssist, no CWTN plugins.
I avoid having the tank as ML, and so often throw this responsibility to a DPS. In recent test cases, this has been mage and bard. Both of which have had the 'not destroying what should be destroyed' issue. As such, the ML is in 'assist' role.
I'd tried the change from the mage to bard, on the chance the loot was being held up by casting buffs or what not, but this doesn't appear to be the case. The bard experiences the same issue.
As this is Next, I've also looked at the FPS Limiter stuff, initially as defaults and followed up after watching Sics video. Enabled frame limit, background game scene
not checked, foreground game scene is. Simulation FPS is 30.0, the clear screen not checked, both renders are checked.
With that in mind, loot and destroy has worked initially on the ML bard in background, with the puller tank in foreground process. So it can work in foreground / background, and equally continue to not work, when I'm watching the ML in foreground and it saving items that should be destroyed.
Regards and Best Wishes