• 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

Problem - Need data from loot window for LUA I'm trying to make

Joined
Nov 23, 2023
RedCents
401¢
TLDR below... skip to "What i need-" section
I have been playing whit he chat gpt bot making Lua's and it's been fun, but it does things like not closing a set of quotes it will open with (") and end with (' )
I would take a screen shot of the error in the mq2 window, and copy text with google image reader, and past it in the window and get fixes. well mostly... i have gotten simple scripts working. even got a gui working. trying to flesh out some projects i keep hitting roadblocks. to the point of reaching my limit of using GPT's a few times.

Overview of project I was working on and what I need next:

Background- I have used the Advloot Generator and manually searched up collectables and chase loot for each expansion as they unlock on the tlp im on to merge the list with my advloot lists in game. However looking up the specific items that are mob drop was getting to be tedious. and on the last expansion the file didn't seem to work for many of the collectables. In addition to this I don't typically play with the loot window open or even check it often while grouping and miss out on rolling on loot unless someone says something about it being in the window.

Intent- I want to make a Lua that can read the items in the advanced loot window and set items that match what i want to loot and set those to always need. Originally this was for collectables that are mob drops. but if i could get it to read flags like collectable, or trade skill, quest, augmentation ect. on the items in the loot window and then get it to toggle the setting i could give it toggles to auto need/greed on any item with the specific flags.

the Chat GPT seems to think MQ can do what I want to do and has said that the redguides very vanilla build doesn't use something or other. It offers a workaround and it seems to make progress and then I run out of uses.

What I need- I need to know if it is even possible to read data from the items in the shared window of the Advanced loot window.
-AdvLoot.SListItems looked promising but as the snip from the GPT below shows it doesn't appear correct.
-Any other information regarding advanced loot window and reading from it.

Where I got- This is what I got before i ran out of GPT usage and have to wait 5 more hours

🧠 Interpretation of Your Output​


swift
CopyEdit
AdvLoot.Items: <nil>
AdvLoot.PListItems: <ul> ✅ EXISTS as a userdata field (likely a struct, not callable)
AdvLoot.SListItems: <nil>
AdvLoot.Item: <nil>
AdvLoot.PListItem: <nil>
AdvLoot.SListItem: <nil>
AdvLoot.MLName: <nil>
AdvLoot.MyName: <nil>





🔍 What This Tells Us:​


  • AdvLoot exists ✅
  • PListItems exists but isn’t a callable function — it’s a property (we suspected this earlier)
  • All other fields, including SListItem, MLName, etc., are either not implemented in this build or not populated at this time
  • No loot data is being surfaced through the AdvLoot TLO




🧠 What This Means for Us​


We cannot rely on mq.TLO.AdvLoot to detect shared loot entries in your RedGuides VeryVanilla build.

But we’re not done — not even close.

 
Intent- I want to make a Lua that can read the items in the advanced loot window and set items that match what i want to loot and set those to always need.

There is already a Lua.


and its companion:


As you loot things, you mark it how you want to deal with it and it builds a list. As you loot the same things in the future it will do what you marked them as.

You can preload the INI to deal things you know you want ahead of time.


Or are you attempting something for when you are in a mixed group and you want to Need on something but not the master looter/leader?




For the programming part, you want to look through the WIKI (dropdown nav item at the top of this page):


This is the data on the advanced loot window that can be manipulated in Lua.
 
You seem to be missing the point, i want to a hands off method of marking the items as always need the first time they appear in the loot window. once its marked need / greed Lootly or one of the other loot managers works fine. I don't see anywhere in Lootly where it will assign need/greed for you if you. As i said i did try to use the the Advloot Generator and import lists ingame to loot filter... but finding a clean list of items to put in it got tedious... on top of that i went through the effort and the file didn't catch all the collectables for the last expansion. this could have been an error on my part.

I want to auto loot all collectables i see in the advanced loot window (shared window) . but until the item is moved to the private window ( only after it is assigned) we seem to be limited on what can be read from it. What I want to do may not be possible with Very Vanilla, or may not be possible with any build. The GPT bot seemed to think it would be possible.

assuming the flags were readable from the Shared Window (SList) I could have a filter say something like:

/if (${AdvLoot.SList[1].Collectable}==TRUE) /setitem <preference> "${AdvLoot.SList[1].Name}"

THEN Lootly would take over from there.
 
You seem to be missing the point, i want to a hands off method of marking the items as always need the first time they appear in the loot window. once its marked need / greed Lootly or one of the other loot managers works fine. I don't see anywhere in Lootly where it will assign need/greed for you if you. As i said i did try to use the the Advloot Generator and import lists ingame to loot filter... but finding a clean list of items to put in it got tedious... on top of that i went through the effort and the file didn't catch all the collectables for the last expansion. this could have been an error on my part.

I want to auto loot all collectables i see in the advanced loot window (shared window) . but until the item is moved to the private window ( only after it is assigned) we seem to be limited on what can be read from it. What I want to do may not be possible with Very Vanilla, or may not be possible with any build. The GPT bot seemed to think it would be possible.

assuming the flags were readable from the Shared Window (SList) I could have a filter say something like:

/if (${AdvLoot.SList[1].Collectable}==TRUE) /setitem <preference> "${AdvLoot.SList[1].Name}"

THEN Lootly would take over from there.
You can only use the datatypes specified in the TLOs.

You would need something like:

Lua:
for i=1, mq.TLO.AdvLoot.SCount() do
    if mq.TLO.Item.Name(mq.TLO.AdvLoot.Slist[i].Name()).Collectible then
        --set the item to need
    end
end


You will have to test the code above (I am doing it from memory). It is basically loop through the Shared list from 1 to the count of items. Check each item's name if it is collectable. If true set it to need. I may have the syntax wrong, but the if check is taking the name of the item on the shared list and putting it into an item data type to check if it is collectable.
 
you cannot get item information from the advloot window, it only cotains icon id, itemid.

some would use mq2linkdb to look up the item in a database format

i have before made a tool that would inspect the item and get the information from that, and then set the proper loot settings, but everytime you inspect you send a request to the server, which could technically cause a red flag for them to investigate you.
 
you cannot get item information from the advloot window, it only cotains icon id, itemid.

some would use mq2linkdb to look up the item in a database format

i have before made a tool that would inspect the item and get the information from that, and then set the proper loot settings, but everytime you inspect you send a request to the server, which could technically cause a red flag for them to investigate you.
Good to know.

I was only seeing what they were trying to build is if they were in a mixed group, which is troublesome.

If it is your own group and your master looter, then lootly would automatically loot everything unless you tell it not to loot something.
 
i had found that limitation on what is visable from the loot window and had a post sitting in my reply box i never hit send for.. but the other replys now have covered all that.

yes the intent is for mixes groups, especially when i am not master looter. that is when i miss items.

before even reading i considered mq2linkdb and have the AI working on that now. nice to hear it has been done and is possible.
I wouldn't think reading item name (or probably ID) from the shared loot window and checking linkdb would be the same as inspecting and would not send a request to the server, is that correct?
 
The best I have been able to do is make a few Hotkeys like Lislie had and doing /setitem keep|1. Or having the drop down set to set all for FFA and hitting that button via Lua every kill message trigger.
 
MQ is not able to see if an item is collectible while it's in the AdvLootWnd as others have mentioned. When making MQ2LootManager and my Mouseover tooltip comparison of items HUD I was faced with a similar question. After a bit of research I had determined that the details of the item are unavailable from the Advloot window and you would only be able to access information about the item if you happen to already have one on your person. Then, if you had one on your person you could simply look at the iteminfo window and set it to AN there.

The easiest way would be to get a list from the achievement window and manually hand jam it. Then get the tooltip from the icon of the item in the advloot window to get the name of the item. Compare it to your list, and then if it matches mark it.
1750527567879.png
1750527704290.png

Sure, this is going to require some effort on your part. Going through the achievement window, typing out a list of things into a doc so that you can achieve the list you need so that you can leave it to automatically set the AN if it's not ticked later.

Eventually you'll end up with all of them set to need.
 
so the origin of my thought process was collectables, however building on that I would like it to be more flexible and automatic and also add detection for tradeskill, quest, augments, ornaments or other flags.

Ran out of gpt uses again trying to get those flags from itemdb database.

Anyone have insight is the flags are returnable using that database without sending a request to the server anytime a new item is seen?
 
so the origin of my thought process was collectables, however building on that I would like it to be more flexible and automatic and also add detection for tradeskill, quest, augments, ornaments or other flags.

Ran out of gpt uses again trying to get those flags from itemdb database.

Anyone have insight is the flags are returnable using that database without sending a request to the server anytime a new item is seen?
You should start with your initial concept and get it working. Building a list from the collectables. Once you get that populated, then you can add other "flags" which is just adding items to the list you created.

CWTN's post above about going through the achievement window is promising. You can cycle through the collectibles (there is an achievement datatype) with a macro that echo's the names to the console. There you can copy the output to notepad (or similar) and massage it for your list.
 
Problem - Need data from loot window for LUA I'm trying to make

Users who are viewing this thread

Back
Top
Cart