• 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 Tradeskill Construction Set NeXt (1 Viewer) 4.1991b

View attachment 38276 Journeyman Smith Test


I realize this may have been addressed al-ready, but .... It would really be nice if we could not run to Stratos every time recipe calls for a
( round, square, whatever ) cut tool!!


It is more of a question of inventory space ..... I realize I can buy every tool .... I don't have that kind of space on some toons for frivolous items.
Was thinking more of a sub routine for items. This also includes ( round, square, whatever ) clay stamps.
What it does with the tools after a run is put them back in the bank, so you never really have tools or trophies in inventory, only if you are crafting.

I opted not to have people convert tool x to tool y and then back again every time instead I figured just buy the tools and bank them. Can revisit, but far back on the bunsen burner.
 
Last edited:

There is no journeyman smith test in the DB, but there will be - Next Release

I realize this may have been addressed al-ready, but .... It would really be nice if we could not run to Stratos every time recipe calls for a
( round, square, whatever ) cut tool!!


It is more of a question of inventory space ..... I realize I can buy every tool .... I don't have that kind of space on some toons for frivolous items.
Was thinking more of a sub routine for items. This also includes ( round, square, whatever ) clay stamps.
 
Just an FYI, these are the known tests currently:

Beginner Alchemist Test
Freshman Alchemist Test
Expert Alchemist Test
Beginner Baker Test
Apprentice Baker Test
Freshman Baker Test
Master Baker Test
Beginner Brewer Test
Apprentice Brewer Test
Freshman Brewer Test
Journeyman Brewer Test
Beginner Fletcher Test
Freshman Fletcher Test
Journeyman Fletcher Test
Master Fletcher Test
Beginner Jeweler Test
Freshman Jeweler Test
Expert Jeweler Test
Master Jeweler Test
Beginner Toxicologist Test
Beginner Potter Test
Apprentice Potter Test
Freshman Potter Test
Master Potter Test
Beginner Smith Test
Freshman Smith Test
Expert Smith Test
Master Smith Test
Beginner Researcher Test
Apprentice Researcher Test
Freshman Researcher Test
Beginner Tailor Test
Apprentice Tailor Test
Freshman Tailor Test
Journeyman Tailor Test
Master Tailor Test
Beginner Mechanist Test
 
@jb321 Small fix needed. Doing the Nightmare Cichlid/Prepared Fish recipe, on TCG if I do Standard Craft > Query > P > Prepared Fish it works flawlessly and created both the Fish and bones. If I do Craft > Query > N > Nightmare Cichlid it will not find it in the Fly Making Bench list. It types it in as below, will never find it and does 1 attempt to experiment and crashes. Needs a search as
View attachment 38274

The UI is experimental, it needs a bit of work. I would recommend not using it. I envision it primarily as a mass crafting of a product, like picnic baskets, or mature cheese , or something else, but if you are doing onesie twosies, not at all..

The unknown recipes being typed in will be alleviated when I do timed/on-demand output file dumps to match up with the users request for a recipe.

It will work as such ( I hope ) I want to make tacos, I say I want tacos and it checks to see if there is a recent dated file with all the tradeskill output files. It then checks the file to see if it "knows" the recipe I am requesting. If it does, then we can UI it up, if not then we have to experiment. When it successful at the experiment it will variable flag it as UI-able. At which point we can do another complete dump of the file and intgerate it with the others, or allow for timed (dump once a day) or on demand, request known recipes when we want.

If we could query something in game for known recipes, that would be ideal, but afaik, not an option.
 
Last edited:
Hey jb, I'm loving this. It's one of the more robust scripts I've seen in macroquest and it exhibits the power that Lua+sql bring into the fold. Thank you so much- it's making tradeskilling less painful. <3

A few feature requests:
- Another mode where we only request materials from other characters running the script in a dedicated dannet channel. I know that my mules have items that they could pass to me but the script is going through every item, every character, to determine whether they have those goods which can be pretty slow when running a couple of groups. It's great to know that other bots have items for an extended search but having mules running the script would let them read the full list, parse inventory/bank, and then bulk hand items without the queries back and forth. Could speed the entire process along.
- List of mules to give items that will be used in future tradeskill combines to further automate the end result of sell/destroy/???
- Vendor buying looks a little sketchy. Running back and forth to Stratos for 1x Phlogiston Coal looks suspicious. Could the script process all unknown recipes, build a shopping list, and then bulk buy everything from vendors if platinum is available?

Altogether those changes would cut down on extraneous zoning, speed things up, and allow storage of mats on mules. Further automation!

Have an excellent evening~
 
Hey jb, I'm loving this. It's one of the more robust scripts I've seen in macroquest and it exhibits the power that lua+sql bring into the fold. Thank you so much- it's making tradeskilling less painful. <3

A few feature requests:
- Another mode where we only request materials from other characters running the script in a dedicated dannet channel. I know that my mules have items that they could pass to me but the script is going through every item, every character, to determine whether they have those goods which can be pretty slow when running a couple of groups. It's great to know that other bots have items for an extended search but having mules running the script would let them read the full list, parse inventory/bank, and then bulk hand items without the queries back and forth. Could speed the entire process along.

Can either option it or just omit people not in zone..

- List of mules to give items that will be used in future tradeskill combines to further automate the end result of sell/destroy/???

Say What? that sounds... wait what?
- Vendor buying looks a little sketchy. Running back and forth to Stratos for 1x Phlogiston Coal looks suspicious. Could the script process all unknown recipes, build a shopping list, and then bulk buy everything from vendors if platinum is available?

Funny you mention that, There are some behind the scenes collabs going on to address this specifically. As in make it ridiculously fast. There are other ways, that are... slow..
Altogether those changes would cut down on extraneous zoning, speed things up, and allow storage of mats on mules. Further automation!

If someone could come up with a calculation based on CHA for base prices I could do this perfectly. As it is now, it will just try to buy and if it can't it will pause.
Have an excellent evening~
 
Last edited:
Can either option it or just omit people not in zone..
Rather than doing back-and-forth queries why not let the mule(s) have access to the requesting character's shopping list?

That way the conversation doesn't go "Hey, do you have 4x Air-Infused water?" "No." "Do you have 2x Basilisk Eggs?" "No." "Do you have... 11x Coarse Salt?" "Yes! Giving that to you."
It could go "Here's a list of all of the items I need, will you check it over?" [delay] "I have 57 of the requested items, giving them to you."

Say What? that sounds... wait what?
So my bank is messy as hell- there's no hope of organizing it. Rather than holding onto any tradeskill items it'd be neat to have a list of characters/mules to give or parcel items to so they can hold onto them. Rather than using the TSer's bank use all of the mules+their banks to hold onto mats.

Funny you mention that, There are some behind the scenes collabs going on to address this specifically. As in make it ridiculously fast. There are other ways, that are... slow..
I love behind the scenes collabs.

If someone could come up with a calculation based on CHA for base prices I could do this perfectly. As it is now, it will just try to buy and if it can't it will pause.
Paging dr. dannuic. Emergency, paging dr. dannuic... Also- EQEmu might have that.
 
Re-wrote the batch data methods to bring us out of the stone age, the good news is, you can remove batch entries if you flub up or want to remove it, also adding in auto-remove batch when you succeed it will remove it from the batch window. Just need to work on Load Batch file now..

1645641814547.png
 
Last edited:
1645675864794.png

and now we know why it says unsuccesful attempt!

1645675836010.png

In my efforts to "speed" up the recipe loading process for the Artisan Crafting, I took something for granted.

When I read the file with all the recipe IDs to go through they are all in STRING format.. and I am trying to compare strings to numbers *NO BUENO*

Fixed.. of course - Next Release
 
Last edited:
Something is in the works to re-engineer the engine that makes this all possible. What this means, blazing fast recipe queries, blazing fast shopping lists farmed and vendors, blazing fast.

Do you get the hint?

I've been shown the light, My Mark I armor TCN is hot garbage and now it is time to use Mark L armor.
 
Rather than doing back-and-forth queries why not let the mule(s) have access to the requesting character's shopping list?

That way the conversation doesn't go "Hey, do you have 4x Air-Infused water?" "No." "Do you have 2x Basilisk Eggs?" "No." "Do you have... 11x Coarse Salt?" "Yes! Giving that to you."
It could go "Here's a list of all of the items I need, will you check it over?" [delay] "I have 57 of the requested items, giving them to you."


So my bank is messy as hell- there's no hope of organizing it. Rather than holding onto any tradeskill items it'd be neat to have a list of characters/mules to give or parcel items to so they can hold onto them. Rather than using the TSer's bank use all of the mules+their banks to hold onto mats.


I love behind the scenes collabs.


Paging dr. dannuic. Emergency, paging dr. dannuic... Also- EQEmu might have that.
I guess we could go for broke mode that buys the whole recipe in one swoop rather than looking for failures. This would work per recipe stack and eliminate a lot of running around at least for that recipe. Mass shopping list is a little trickier.

We have to get all the recipes and counts of needed recipes for ALL of the 350 tradeskill. Once we have that, we need to eliminate recipes we already have in inventory and bank, then we have to blow away the associated chains with just those recipes that we already have and also trash their subs. This leaves the final recipe count needed, then we can dump a shopping file with vendor/farmed. Sounds simple.. right?

I am trying to think of an easy way, or easiest. The way it is now, it takes quite a bit of time to process baking or brewing, basically anything that isn't fishing for a farmed list.

Now at this point I am trying to remember how I addressed this issue just for a set of recipes, before I delve into the mass world.

I think I said hey we have the component, move on.. and then if I saw the same component again for something else and it was needed , I did the same and then at the end of the processing I said hey I need 2 of these total. do I have 2 and then I realize I only had 1 and I was just lying to move the process forward and now we can't make it...

So.. I am thinking that we have a table that keeps track of inventory and decrements as needed. So If I need 1 fermented head cheese, it takes it out of play,
so next time around if it sees it, it says wait I have 0, so I can't make this recipe unless I have 1 at which point it checks vendor or bank to see if we can do it.
The problem was/is I am using an array when I should be using SQL to keep track of temp inventory

I am just spit-balling here and talking it out. I am open to ideas, no man is an island.
 
Last edited:
This is an open question...

I believe I can write the Recipe Interrogator Process (RIP) solely in Lua and use a dumped SQL file of character inventory and then have it write files that are read within MQLua, the benefit. Processing a giant recipe (Poxysmits Golden Toilet Amygdala) goes from 90 seconds to 19 seconds. Regular recipes will process in 3 or less seconds.

I have been doing some testing and took my MQLua code and converted it to MQ-Less Lua code to run outside of MQ. I know it's a bit disjointed, jumping in and out, but the speed increase is palpable.

I tried just using SQL for inventory in MQLua in the RIP, it went from 90 seconds to 75 seconds.

Does anyone see another way? Or is this the mandalorian? I originally wrote the whole thing using SQL for recipe lookups and everything contained within MQLua. If the delay is bothering me it is bothering others, who shall remain nameless ....


Edit: well that opened up a can of worms..

I tried to run it in lua54.exe and it stops after it loads the sqlite3.dll..

I will also have to pass a path variable to it, because we all can't just use D:\MQNext or C:\MQNext\ :P


Still working on my MK II, just for my own edification..

A little patience: Lua 51

1645818461535.png

1645818423457.png
 
Last edited:
Other things in the fire..

provide an option to buy and craft a 350 recipe in it's entirety...

Currently it is in 'cost saving' mode so when it fails any sub-combine (mostly) no matter where you are at in the chain, it aborts and doesn't buy anymore and skips to the next recipe.
 
I want to create tables based on character name and server, is this a thing? This is so I can have a table of all known recipes for any given toon and add to it as we learn new recipes. Which is good for the UI and also good for 350.. because we don't have to dump known recipes everytime..

The string looks ok but does squat..

Code:
local t_table = 'Inventor'
local sql_string = '[[DROP TABLE IF EXISTS '..t_table..';CREATE TABLE '..t_table..' (ID, Name, Count);]]'
--sql_string = sql_string:gsub("'",'')
print(sql_string)
db:exec(sql_string)
 
That's optimizing the wrong thing. Dumping recipes is a cheap operation, and you can load that into SQL in ms
My goal here is to stop doing output file because it is repeatable predictable behavior ( basically try to remove anything that looks weird), now, however, if no one is tracking me spam output file every 10 seconds, then no need!

Additionally I would like to have a list of recipes I know for a specific toon and as the wheels are turning I just need to make one table but delineate which toon knows which recipe.. I can then remove dups from the max_trophy_table and what is left are the recipes we need to make for a specific tradeskill for maxing the aug.

This same list would then be used to forego the typing in a recipe name in the UI to find out if I know it when I can just look it up in my table..

I am in security so paranoia is my thing:

 
Last edited:
Well, setting up an event is pretty easy so that's likely not a huge lift. And that SQL string: you need to put double quotes around the second argument in the gsub, and also you are including [[]] brackets in your query. I think you meant to use them as a multiline string (in Lua, double square brackets denotes a multiline string), which means drop them and just leave the single quotes.
 
wouldnt it be easier to make a master db with all recipes, then add tables based on toon_server and have an option to up date known recipes to the master list to toon_server
 
wouldnt it be easier to make a master db with all recipes, then add tables based on toon_server and have an option to up date known recipes to the master list to toon_server
On initial run the process would be, or at least I think it would be outputfile recipes for all the skills, aggregate the ID's for all tradeskills, insert into a new table
toon_server_known_recipes

fields - RecipeID

Based on how many toons someone has. It could get messy, which is why I am thinking should it be one table with fields for the character and the server or a separate DB to just house mondo toon known recipes.

It would then look up per toon per server and update the table as new recipes are learned. I would also provide the option to go nuclear as well and refresh.

This would then be used for both the UI for recipe lookup and also the 350 table.
 
Ran a stare and compare for initial testing of the transplant..


1645987735190.png

12 (NEW) Seconds for the Ambleshift Golden Amalgamator
70 (OLD) Seconds for the Ambleshift Golden Amalgamator
 
TODO: Trophies, Tools, Component counts calculated for bank grabbing.

Note: these things are already in there, but I need to add them again for the new method of interrogating recipes.

Current progress: SPEED!
 

Attachments

Last edited:
Any idea why i cant make a recipe where i do have all the items (Blood of Velious)...tried using Info, clicked SHop recipe, but said he couldnt, check info.
I know this is not much info, but rest assured i do have all the items required. Any options to check what is missing or doing something wrong?
 
Any idea why i cant make a recipe where i do have all the items (Blood of Velious)...tried using Info, clicked SHop recipe, but said he couldnt, check info.
I know this is not much info, but rest assured i do have all the items required. Any options to check what is missing or doing something wrong?
Minimum Skill Required 315
 
Don't want to jinx it but latest MQ has provided more speed to SQL (translation: performance betterer).. or I am on hallucinogenics...

.. this is in reference to the new method, not the current, the current method is still being a slug.

Jinxed..
 
Last edited:
It is more for me to show me it is out of something which is why the recipe can't continue, I wanted to be sure it was not ending for no or unknown reasons.
understood..but craft button was green on Velium Blood WIne (do have the mats) and its Lua is in a loop with this message?
 
Anyone know how i can find the recipe for creating the 7th earring of Zek, just finished the last mission and cant find it under Jewelry. Walkthrough says not to make it via experiment
UPD: found it in jewel box :)
 
Last edited:
Calling for reinforced jeweler's kit.


View attachment 38356
So I did the kit quest and then put the kit in my bank. I then tried to make a prismatic bar, it called for the kit. I put it in the bottom right slot and hit un-pause and it made the bar. Are you pointing out that it calls for it or something else?
 
Release Tradeskill Construction Set NeXt

Users who are viewing this thread

Back
Top
Cart