• 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
TBM Augment Swap

Release TBM Augment Swap 2.4

Download

MrInfernal

Seasoned veteran member
Joined
Dec 27, 2022
RedCents
5,793¢
Pronouns
He/Him
MrInfernal submitted a new resource:

TBM Augment Swap [Testers Wanted] - Auto swap TBM augments!

Testers needed! I do not have any characters with access to TBM gear, augs, or currency.

Expected functionality:
  • Look up augments by level, slot and suffix
  • Automatically set type 9 defaults based on Almar's Guide
  • Clicking the Check button will scan through equipped armor and jewelry
    • Will return number of augs needed and Remnant cost
  • Clicking Buy will run through a function that should...

Read more about this resource...
 
Well glad I caught this thread in the What's New updates. My primary group is using TBM armor and is nearing the next upgrade at 90. And I have a secondary FTP group that just hit 75 that I'll be gearing up with TBM as well. Just added the script to my watch list. I'll test it out with my next major upgrade and report back with any issues I find.
 
I am also 2 levels from 90 and already have full 85 augs so i will test this out and reply with finding! looks very useful!
 
After reading some more about the aug swapping, I think it might be best to sell the augments before buying the new ones. I'm a little worried about shifting the code around as I haven't been able to test it. Hoping that the first wave of testing is going well. Please let me know if anything isn't working as expected or if it is doing exactly what it's supposed to do.
 
Tried on my 92 SK tonight. She's wearing soulstones of the sturdy in 19 pieces, 5 of which are already lvl 90 (Glorious), and 14 that are lvl 85 (Extravagant). When I click 'Check', it says "Need to purchase 7 Soulstone of the Sturdy for 2660 Remnants". I was expecting 14.

When I clicked 'Buy' (without sell option checked), it throws the IMGui error below:

1706525551878.png

I haven't tried it with the sell option checked as I want to hand my existing augs down to the lvl 85 group I have.
 
Tried on my 92 SK tonight. She's wearing soulstones of the sturdy in 19 pieces, 5 of which are already lvl 90 (Glorious), and 14 that are lvl 85 (Extravagant). When I click 'Check', it says "Need to purchase 7 Soulstone of the Sturdy for 2660 Remnants". I was expecting 14.

When I clicked 'Buy' (without sell option checked), it throws the IMGui error below:


I haven't tried it with the sell option checked as I want to hand my existing augs down to the lvl 85 group I have.

Thank you so much! Looks like I was checking the wrong aug slot for visible type 9 (Should be slot 3, but I had it as 2). The error was due to calling a variable from a different scope which I've fixed. Made the fixes and I'm pushing the update now.
 
Glad to hear it, I'll let you know if I encounter any issues next time I go to buy some augments. There is one thing I just thought of that would be nice to have, the ability to set the maximum you want to purchase. As it's possible a player may just want to upgrade a certain number of pieces and then use the leftover remnants for purchasing for another char. Granted, yes, you can do the math and split them beforehand. Just thought it would be a nice convenience.

Edit: Also, it might be a good idea to add functionality for a dry run, with output of the actions/steps to the MQ window. So that the user can test what will happen before pulling the trigger.
 
Glad to hear it, I'll let you know if I encounter any issues next time I go to buy some augments. There is one thing I just thought of that would be nice to have, the ability to set the maximum you want to purchase. As it's possible a player may just want to upgrade a certain number of pieces and then use the leftover remnants for purchasing for another char. Granted, yes, you can do the math and split them beforehand. Just thought it would be a nice convenience.

Edit: Also, it might be a good idea to add functionality for a dry run, with output of the actions/steps to the MQ window. So that the user can test what will happen before pulling the trigger.
I like the idea of a dry run function. I’m gonna see if I can get that in some time today.

Regarding setting a buy limit, how did you picture that working? As in the program says there are 8 slots to fill, but you say to only do the first 5?
 
Yes, only do the first X, where X is the minimum of either the total slots detected or the maximum that is set. This way you can hold off in spending all the remnants and pass the remaining to another char. Again, not a huge need, just a nice to have one. As people can do the math and split the remnants beforehand manually.
 
Yes, only do the first X, where X is the minimum of either the total slots detected or the maximum that is set. This way you can hold off in spending all the remnants and pass the remaining to another char. Again, not a huge need, just a nice to have one. As people can do the math and split the remnants beforehand manually.
I have some ideas for how to handle doing less than the max that I’m going to work on, but wanted to get the debug build out first. It actually helped with cleaning up functionality, so thank you for your suggestions
 
Gave it another shot tonight, and it doesn't seem to be working. Made sure everything MQ related was up-to-date. This was while trying to by lvl 95 Regal Sultone of the Sturdy. It seems to be expecting a numeric value for arg 3 and is getting a string instead.

After that failure it goes through failing all the rest of the steps and then thinks it was successful at the end with the "Complete! Inserted 8..."
If I'm reading the traceback correctly, we have:

init.Lua: lines 714-716:
Code:
ImGui.Register('TBM Aug Swapper', function()
    openGUI = tbmAugs(openGUI)
end)

init.Lua: line 699: in function 'tbmAugs':
doAugs('armor', 9, augPrefixIndex, type9Index)

init.Lua: line 427: in function 'doAugs':
mq.cmdf('/timed %d /invoke ${Merchant.SelectItem[=%d]}', Delay, solvent)

init.Lua: line 536 in function 'doAugs':
mq.cmdf('/timed %d /echo Selling %d old augs!', #removedAugs)

---

Also, I noticed that it is asking to get Class XIV Augmentation Distillers for removing the Glorious Sulstones of the Sturdy (lvl 90) I have. These actually only need the Class XIII Aug distiller.

Screenshots of Error and debug mode:

1707126841164.png1707126956406.png1707130740756.png
 
Vee, I truly appreciate your help and I’m sorry that this isn’t quite working out. I’ll get that issue tracked down and double check solvents.
 
Looks like the typo on line 427 was just as you said, expecting a string and getting a number. I've fixed that. I also fixed the missing '/echo' for the Debug: Selling message. Regarding the solvents, I forgot to decrement the solvent name. However, I've added a loop that gets the actual solvent name required rather than trying to anticipate what level and hardcode a table. This should reliably use the lowest required solvent.
 
I’ve been able to complete the Into the Temple quest and get some remnants. I’ll be working on getting this working tomorrow
 
MrInfernal updated TBM Augment Swap [Testers Needed] with a new update entry:

Finally working!

After much blood sweat and tears, I can happily announce that I've gotten it working. Does not do weapon augments or check for solvents/augments in inventory yet.

Cleaned up level sorting so the proper augments for your level should show up as the default. Due to some interactions with automation plugins, it sends a CWTN pause command, but I'm not sure if RGMercs, KissAssist or MuleAssist will interfere. It also pauses MQ2AutoForage.

Due to an issue with FindItem defaulting to the first...

Read the rest of this update entry...
 
MrInfernal updated TBM Augment Swap with a new update entry:

Aug insertion no longer requires Find Item window. Also checks for augs in inventory before buying

  • Thanks for inspiration from @kaen01, finding the augment to insert no longer requires using the Find Item window!
  • The program will also check if you already have the augments in inventory before buying
  • Using the Check function will also search for augments and tell you how many more you need

I currently have it set to report which gear is getting the augment. Let me know if this is annoying or if you want that added for removing augments as...

Read the rest of this update entry...
 
I’m still really new to TBM armor and augments and can’t find too much about the augments for weapons and shields. I can see that there are type specific (1HS, 2HS, knight only, etc), but those things only seem to be type 9.

Are there type 5 augments for weapons? And which ones fit in shields? If anyone knows or can point me to a page that explains, I’d appreciate it. Looking to add the weapons part to the Lua.
 
Yes, only do the first X, where X is the minimum of either the total slots detected or the maximum that is set. This way you can hold off in spending all the remnants and pass the remaining to another char. Again, not a huge need, just a nice to have one. As people can do the math and split the remnants beforehand manually.
After a major overhaul, it's now possible to select which items you'd like to upgrade, in case you didn't want to do them all. I hope that this solves the issue.
 
Just ran the script on 10 characters today everyone worked except for the mage just crashed on startup.
 

Attachments

  • mage.png
    mage.png
    9.7 KB · Views: 0
Mornin,

Cheers for sharing this! I love theidea and it worked fine when I first purchased, but I've stumbled on some issues:

Line 470 needs to check Slot 4 and not Slot 2, it crashes when you check nonvis because of a nil index.

Edit: Slot numbers all over the place are messed up here for removing augs. Type 5's use slot 1 and 2, Type 9's use 3 and 4, and a bunch of these are swapped, some partially swapped.
"Confirmation DialogBox" needs the space removed accross the script.
I suppose that this is largely untested?

Got it working with the changes I described. One final issue so far, the script recognized what i had in the inventory already at the beginning, but still repurchased them.

Have not tested the sell feature yet. Maybe in 5 levels.

Will try to get it all figured out.
 
Last edited:
MrInfernal appears to be on vacation so I made a few edits to 'improve' my experience on a few chars around level 90. Mainly because the current version failed to work on a bard test case.

Fixed a few minor things like typos and slot swaps. Added some slightly better accounting of augs needed for purchasing. Added some info printfs cause I like that sort of thing.

Edit: Deleted the attached script since its been superseded in post below
 
Last edited:
Yeah, I started to, got some things working, and then, just... Meh
Lost track. Thanks dude, I'll check it out
 
Last edited:
Continued playing around
fixed some imgui button naming errors
added clunky solvent check to prevent buying extras, needs cleanup

edit: deleted attached init.Lua since its superseded again
 
Last edited:
I can't stop!

Updated again
- functionized all the stuff so its more straightforward (to me at least)
- fixed weapons so they probably work now. ran out of remnants to check the type 9 inserts but the type 6 worked at least
- attempted fixing aug selling. didnt get it fully tested
- cleanup up some other stuff
 

Attachments

hey @postleaf

running this tonight and seeing a few errors I'm sorry i didn't get screenshots. first when removing augs of that required different distillers it bought the highest tier in the correct quantity but none of the lower tier distiller and subsequently missed removing those augs. a second and third pass eventually got it but it never sold them correctly. it did NOT buy any extra distillers which was nice but i suspect it did use them on wrong tier augs. all of this cause the inserting to go wacky of course but running a few passes kind of brute forced it. did not overbuy any distillers or augs which was nice and no hard crashes.

i did run into one other weird little bit where i cant be sure but i think it was trying to insert but the vendor window was left open and instead of hearing the rapid bag opening/closing it was highlighting through the augs in inventory and spamming my window with the vendor "ill give you xxx remnants for that aug" message. it did not sell them so thats why im assuming it was "trying" to insert.

hope this helps. ill try to be better and get you some backend info if you want it 5 more toons to go this round of upgrading and even withthis post still faster then me trying to click through and make a dumb list and remember what goes where. thanks for putting in the work to get this baby running

edit: if i have the time im expecting to play i should be running a couple more characters through tomorrow or the next day
 
I've also seen a couple of these issues but haven't tried fixing them. Mostly due to time but also was trying not to step on the resource too much by posting a bunch of stuff in the discussion which is not the best way to maintain things.

I've thought about looking to see if I can do it the more 'correct' way by seeking to take over the resource since I don't think Mr infernal is around much at this time. I've got a bunch of test toons that I could mess around with and may spend some time on it next time the build is available. Unless someone beats me to it :D
 
@MrInfernal I think @postleaf is interested in taking this over, or at least being added to the "resource team"
 
hey again @postleaf

did a bit of aug buying this morning and noticed when purchasing of the gallant type 9's it is tying to buy them from Shirlell instead of Montelio when i run it for weapons. Shirlell sells the weapon augs but does not sel lthe type 9's that also go in weapons

edit: also still having issues with buying distillers maybe once i have a few extra remnants to play with i can do some testing, it eventually gets there just takea few rounds of running the script
 
adding in another bit,

when i uncheck an item (belt in this case) after running the check to say no i dont want to purchase for that slot because thats where i keep my haste aug then i hit run script to buy everything it re checks that slot and still buys the extra aug for that slot..

appreciate your hard work on this just trying to give feedback to help make it a great tool for the community.
 
Updated GUI and corrected some of the issues mentioned above. There are still a few unimplemented features

Work in progress...
* check all / check none buttons
* sell augs feature
 
Release TBM Augment Swap

Users who are viewing this thread

Back
Top
Cart