• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver
Resource icon

Release MQ2AutoLoot

Fixed a feature where if you were wearing an item marked destroy, it would find the one being wore and destroy that one rather then the one in your inventory.
 
What is the easiest way to turn advloot off when switching from a boxing group to a full group of players? It seems very buggy jumping back and forth, or maybe I am not turning it "off" and "on" correctly.
 
Is there a way to just have the ML loot until their bags are full? It is a lot easier to check what has dropped if I do not have to check everytoons bags.
 
/AutoLoot nodropdefault keep

The ML will try and loot all no drop items. He will still pass out lore items once he has one, there is nothing that can be done about that.
 
It doesn't treat them different then any other item. It follows whatever action you have specified in your loot.ini, unless you used the advanced loot filters for that item. That takes precident over loot.ini entries.
 
Quick question, If I set no drop items to ignore then set some individual no drop items to destroy, will it destroy everything it knows about and ignore the rest?


For instance:
If I set the no drop item "mask of fanciness" to /setitem destroy
and I set
/AutoLoot nodropdefault |ignore

What happens the next time a "mask of fanciness" drops?
 
You will loot it and destroy it.

Nodropdefault only applies to items not in your loot.ini, if you loot an itrm not in your loot.ini it creates an entry with ignore as your loot action.

Also it is:
/AutoLoot nodropdefault ignore
 
/AutoLoot nodropdefault ignore

Thanks much. Also (I am at work so can't run the game) changing the loot.ini file from this:
Rich (BB code):
NoDropDefault=Quest|Keep|Ignore
to this:
Rich (BB code):
NoDropDefault=Ignore
will do the same thing as /AutoLoot nodropdefault ignore?
 
Quick question;
If I want an item to go to only one class without limit, what would be the best way?

I tried:
Consigned Bite of the Shissar XIX=Gear|Classes|ROG|
Consigned Bite of the Shissar XV=Gear|Classes|ROG|
Consigned Bite of the Shissar XVI=Gear|Classes|ROG|
Consigned Bite of the Shissar XVIII=Gear|Classes|ROG|

Which didn't seem to work, the first drop of one of them was assigned and refused to the Mage so left on the body.

I am now trying:
Consigned Bite of the Shissar XIX=Gear|Classes|ROG|NumberToLoot|200|
Consigned Bite of the Shissar XV=Gear|Classes|ROG|NumberToLoot|200|
Consigned Bite of the Shissar XVI=Gear|Classes|ROG|NumberToLoot|200|
Consigned Bite of the Shissar XVIII=Gear|Classes|ROG|NumberToLoot|200|

but want all of them to go to the Rogue not just 200 (well I will manually delete them when I get too many stacks).
 
Unfortunately your on the right track, it does require you to put a number to loot. You could put 10000, or whatever number you like though.
 
Any idea why /autoloot sell causes my toon to crash? It's random as to when and what is being sold but almost every time I run /autoloot sell, my toon crashes, sometimes twice before all the goods are sold.
How to trouble shoot?
 
Is it possible to have items ignored by default when first seen instead of keep? I really like using the gear/class filters so that I can loot specific amounts of items to certain characters/classes however it often feels like an uphill battle of having to edit out the mass amount of junk it keeps and floods my inventory with. Not sure if this is currently possible or not but I couldn't figure out a way to do it.
 
Is it possible to have items ignored by default when first seen instead of keep? I really like using the gear/class filters so that I can loot specific amounts of items to certain characters/classes however it often feels like an uphill battle of having to edit out the mass amount of junk it keeps and floods my inventory with. Not sure if this is currently possible or not but I couldn't figure out a way to do it.

Currently it only allows you to set a default value for no drop items, the default for trade-able items is hard-coded to keep. The only option right now is to go through your inventory at new camps and pick up items and type "/setitem ignore" and then destroy the item. :(

If there are many people that want a default option for trade-able items to be other then keep, I could update the plugin to make that user defined rather then hard-coded.
 
Did you ever work out a way to have it loot no drop quest stuff but not no drop gear? I remember my Warrior would loot caster items and stuff.
 
Did you ever work out a way to have it loot no drop quest stuff but not no drop gear? I remember my Warrior would loot caster items and stuff.

The advanced looting structs look like this:

Code:
typedef struct _LOOTDETAILS
{
/*0x00*/ DWORD    CorpseID;//spawnId of the corpse that has this lootitem
/*0x04*/ WORD    StackCount;
/*0x06*/ WORD    UnknownWord;
/*0x08*/ DWORD    Expiration;
/*0x0c*/ BYTE    Locked;
/*0x0d*/ CHAR    Name[0x40];
/*0x4d*/ //more data here? -eqmule
}LOOTDETAILS,*PLOOTDETAILS;
//.text:0041ECBD                 imul    eax, 84h in Apr 15 2015 test
enum eAdvLootState
{
    eAdvLootWaiting,
    eAdvLootAsk,
    eAdvLootAskAutoRoll,
    eAdvLootStop,
    eAdvLootAskCompleted,
    eAdvLootFreeGrab,
    eAdvLootFixedAskAutoRoll,
    eAdvLootFixedAskCompleted,
    eAdvLootRemoved
};
typedef struct _LOOTITEM
{
/*0x00*/ DWORD    ItemID;
/*0x04*/ CHAR    Name[0x40];
/*0x44*/ DWORD    IconID;
/*0x48*/ BYTE  IsStackable;
/*0x49*/ BYTE   Unknown0x49[0x3];
/*0x4c*/ DWORD  MaxStack;
/*0x50*/ BYTE   NoDrop;
/*0x51*/ BYTE   Unknown0x51[0x3];
/*0x54*/ DWORD  ComboID;
/*0x58*/ DWORD  LootID;
/*0x5c*/ eAdvLootState State;
/*0x60*/ BYTE    bAutoRoll;
/*0x61*/ BYTE    ActivelyManaged; // User has the manage Window up
/*0x62*/ BYTE    ContextMenu;     // item has a context menu
/*0x63*/ BYTE    AskRandomMode; //item is in AskRandom mode
/*0x64*/ BYTE   CLootInProgress;
/*0x65*/ BYTE   PLootInProgress;
/*0x66*/ BYTE   Unknown0x66[0x6];
/*0x6c*/ struct _LOOTDETAILS    *LootDetails;
/*0x70*/ BYTE    Unknown0x70[0x8];
/*0x78*/ DWORD    AskTimer;
/*0x7c*/ BYTE    AutoRoll;
/*0x7d*/ BYTE    Unknown0x7d;
/*0x7e*/ BYTE    Need;
/*0x7f*/ BYTE    Greed;
/*0x80*/ BYTE    No;
/*0x81*/ BYTE    AlwaysNeed;
/*0x82*/ BYTE    AlwaysGreed;
/*0x83*/ BYTE    Never;
/*0x84*/
} LOOTITEM,*PLOOTITEM;

typedef struct _LOOTLIST {
/*0x000*/ BYTE    Unknown0x004[0x4];
/*0x004*/ struct _LOOTITEM *pLootItem;
/*0x008*/ LONG     ListSize;
/*0x00c*/ LONG     Unknown0x00c;
/*0x010*/ LONG     Unknown0x010;
/*0x014*/ struct _CXWND     *SharedLootList;
/*0x018*/ struct _CXWND     *PersonalLootList;
/*0x01c*/ LONG     Unknown0x01c;
/*0x020*/ LONG     Unknown0x020;
/*0x024*/
} LOOTLIST,*PLOOTLIST;

//CAdvancedLootWnd__CAdvancedLootWnd_x
//size 0x300 see 4CEEED in Nov 03 2017 Beta -eqmule
typedef struct _EQADVLOOTWND {
/*0x000*/ struct _CSIDLWND     Wnd;
/*0x230*/ BYTE    Unknown0x0230[0x94];
/*0x2c4*/ struct _LOOTLIST *pCLootList;//below ref to aAdlw_applyfilt
/*0x2c8*/ struct _LOOTLIST *pPLootList;//below ref to aAdlw_cllwnd
/*0x2cc*/ DWORD        Unknown0x2cc;
/*0x2d0*/ DWORD        Unknown0x2d0;
/*0x2d4*/ DWORD        Unknown0x2d4;
/*0x2d8*/ DWORD        TotalLootCount;
/*0x2dc*/ DWORD        Unknown0x2dc;
/*0x2e0*/ DWORD        ContextMenuId;
/*0x2e4*/ DWORD        CLastStackSize;
/*0x2e8*/ BYTE        Unknown0x2e8[0x18];
/*0x300*/
} EQADVLOOTWND, *PEQADVLOOTWND;

There are two ways which I know how to access item details.
1. Everyone has the item already and can look it up using the ItemID. This doesn't really help with the problem as everyone already has the item.
2. For every new items, everyone could click on the item link and then access information about the item from the window that pops up. This option would work, but it is super inefficient from a process flow point of view. I'm not planning on implementing it. If someone else wants to take the time to add in this feature, I will take the time to test it out and then push it into the plugin.
 
It seems I'm getting crashes when I try to use the buy function. Buying "Loaf of Bread" and "Water Flask in PoK. I have crashed 4 times now on 3 characters.
 
Greetings,

I am missing something and I can't see it! This use to run flawlessly, now when my ML runs out of bag space, he no longer hands out loot. For the life of my I'm having a brain fart and can't figure this one out. It has to be a simple setting or something I am forgetting. I loaded the plugin on all characters, and they have ADVL looting turned on to the best of my knowledge. The use advl loot option is checked off in the /advl settings inside EQ.

Any help would be greatly appreciated.


Thank you,
 
Greetings,

I am missing something and I can't see it! This use to run flawlessly, now when my ML runs out of bag space, he no longer hands out loot. For the life of my I'm having a brain fart and can't figure this one out. It has to be a simple setting or something I am forgetting. I loaded the plugin on all characters, and they have ADVL looting turned on to the best of my knowledge. The use advl loot option is checked off in the /advl settings inside EQ.

Any help would be greatly appreciated.


Thank you,

There could be a number of issues.

1. I'm assuming your using the same loot.ini file for all your toons? If not switch to the same one and see if that solves it.
2. I'm going to assume you have appropriate bag space on your non-looters, but you should check this (this actually was a fix for someone else with a similar complaint after several days of back and forth trying to solve the issue)
3. Have you set any advloot filters that are conflicting with mq2autoloot? To test type "/advloot" and unclick the box for "Apply Filters" on one of your non-master looters.
4. If that doesn't work, type "/advloot" and then click on the button "Loot Settings" and tell me what you have checked in the box that pops up for one of your non-master looters.
 
There could be a number of issues.

1. I'm assuming your using the same loot.ini file for all your toons? If not switch to the same one and see if that solves it.
2. I'm going to assume you have appropriate bag space on your non-looters, but you should check this (this actually was a fix for someone else with a similar complaint after several days of back and forth trying to solve the issue)
3. Have you set any advloot filters that are conflicting with mq2autoloot? To test type "/advloot" and unclick the box for "Apply Filters" on one of your non-master looters.
4. If that doesn't work, type "/advloot" and then click on the button "Loot Settings" and tell me what you have checked in the box that pops up for one of your non-master looters.


1. Yes, the only time I use a different .ini is for Test build. I have a different MQ2 folder for Test server than I for Live. So 1 loot.ini for all test toons and 1 loot.ini for all my live servers. This is happening to my live server toons.
2. Yes, all my group members have 90% empty bag space on them. The only time they get loot given to them is if it is a lore item and then all 6 will have 1.
3. I have no filters set within the games advance loot system. I go and double check, and there is nothing.
4. Everything is checked, except auto loot all remains unchecked on all toons.


Another issue is the master looter stops destroying items. I have it set to save 2 bag spaces. Once he comes to full bags with the exception of the two saved empty spaces, he stops destroying items and does not pass out loot.
 
1. Yes, the only time I use a different .ini is for Test build. I have a different MQ2 folder for Test server than I for Live. So 1 loot.ini for all test toons and 1 loot.ini for all my live servers. This is happening to my live server toons.
2. Yes, all my group members have 90% empty bag space on them. The only time they get loot given to them is if it is a lore item and then all 6 will have 1.
3. I have no filters set within the games advance loot system. I go and double check, and there is nothing.
4. Everything is checked, except auto loot all remains unchecked on all toons.


Another issue is the master looter stops destroying items. I have it set to save 2 bag spaces. Once he comes to full bags with the exception of the two saved empty spaces, he stops destroying items and does not pass out loot.


I "unclicked" the apply filters button and still having the same issues noted above.
 
I would try two things:
1. Set someone else to be the master looter.
2. Change it so it stops looting when you have 0 slots.

Neither of these should fix the issue, but will help me figure out the issue if any of them start passing out loot when the master looter's bags fill up.

The stopping to destroy items when you run out of "free bag space" was how it was designed to work... I will change it so it will loot and then destroy if you have free bag space, but are at the point to stop looting items to keep. Please remind me in a month if I have updated this, my wife is due within the week so I may become scarce at some point.
 
I would try two things:
1. Set someone else to be the master looter.
2. Change it so it stops looting when you have 0 slots.

Neither of these should fix the issue, but will help me figure out the issue if any of them start passing out loot when the master looter's bags fill up.

The stopping to destroy items when you run out of "free bag space" was how it was designed to work... I will change it so it will loot and then destroy if you have free bag space, but are at the point to stop looting items to keep. Please remind me in a month if I have updated this, my wife is due within the week so I may become scarce at some point.

I set the bags to 0, same problem persists, except now he waits till no bag space. I then set a different character to master looter. The new master looter will continue looting until their bags are full then the problem starts. I then select a third master looter, and same thing.

These are my settings in the loot.ini

[Settings]
|======================================================================|
Version=6.09
AddNewSales=1
LootForage=1
LootMobs=TRUE
CorpseRadius=100
MobsTooClose=40
ReportLoot=TRUE
LootChannel=g
SpamLootInfo=1
LootForageSpam=1
GlobalLootOn=1
CombatLooting=1
GMLSelect=1
ExcludeBag1=Extraplanar Trade Satchel
ExcludeBag2=Extraplanar Trade Satchel
QuestKeep=4
StackPlatValue=0
NoDropDefault=Quest|Keep|Ignore
LootLagDelay=0
SaveBagSlots=0
LogLoot=1
RaidLoot=0
BarMinSellPrice=2
DistributeLootDelay=5
CursorDelay=10
GuildItemPermission=View Only
 
All your settings look good. Try the dll i posted below and let me know if that fixes it. It is just the regular RG mq2autoloot.dll from my desktop.
 

Attachments

Is there a limit to the number of items that can be configured?

I am pretty sure this generated several crashes for my master looter
Code:
Gear|Classes|ROG|NumberToLoot|999|
 
All your settings look good. Try the dll i posted below and let me know if that fixes it. It is just the regular RG mq2autoloot.dll from my desktop.
All your settings look good. Try the dll i posted below and let me know if that fixes it. It is just the regular RG mq2autoloot.dll from my desktop.

Have done some testing and it appears to be working as intended now with your .dll I downloaded. Not sure what happened to mine.

Will keep you posted after a couple days.

Thank you,
 
Is there a limit to the number of items that can be configured?

I am pretty sure this generated several crashes for my master looter
Code:
Gear|Classes|ROG|NumberToLoot|999|


There shouldn't be any issue with number used. If you can get me a crash report, I will investigate the issue.
 
Have done some testing and it appears to be working as intended now with your .dll I downloaded. Not sure what happened to mine.

Will keep you posted after a couple days.

Thank you,

Glad that it resolved the issue. Let me know if it pops up again.
 
On further investigation it (mis)behaved the same with |99| as |999|. Looking at logs I saw a bunch of can't open log file log file entries (irony?) and what may have been out of order processing messages. Have no idea what the threading model for mq2 is or how locks are handled on the log file.

I'll see if I can replicate again tomorrow after installing the debugger and changing back from "keep" which is super stable. I don't have much experience with debuging native code but hopefully a dump is all you need!

As a separate feature request it might be a good idea to add a validate file command since improper configs will crash the client (something like adjacent separator chars such as ROG||BST)
 
On further investigation it (mis)behaved the same with |99| as |999|. Looking at logs I saw a bunch of can't open log file log file entries (irony?) and what may have been out of order processing messages. Have no idea what the threading model for mq2 is or how locks are handled on the log file.

I'll see if I can replicate again tomorrow after installing the debugger and changing back from "keep" which is super stable. I don't have much experience with debuging native code but hopefully a dump is all you need!

As a separate feature request it might be a good idea to add a validate file command since improper configs will crash the client (something like adjacent separator chars such as ROG||BST)

All I should need is the debug file. It will point to where the crash happened in the code, which is generally has been enough for me to figure out why.
 
Hey Plure, love the plugin. I seem to get crashes if the ML is out of range and has to deal with red items

I just killed 20 npc's away from my ML and wasn't able to reproduce the crash. Could you debug and get me a crash report. Thanks
 
Raid seems to ignore GEAR setting in the Loot.ini file for me. Is this intentional? The ML skips the item, but then the other raid members just loot anything offered to them.
 
Release MQ2AutoLoot

Users who are viewing this thread

Back
Top
Cart