• 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 Recipe List macro 1.0

No permission to download
Joined
Feb 6, 2007
RedCents
1,683¢
Ok, so I got bored...

TradeSkill Recipe List (TSRL.mac) by hoosierbilly Jan 2017
outputs to your MQ2Log file and TSRL_Name_Server

You must have the tradeskill window open.
You should decide how to sort the list (Recipe Name or Trivial), the macro will not do any sorting of the list.

NOTE: Recipes with a trivial of 15 (or less) are excluded from the listing.
There are simple too many non-trivial recipes to get a complete list.

Also Note: Recipe lists are limited by your skill. As your skill goes up more recipes become available.
You should run this macro periodically as your tradeskill increases.

Rich (BB code):
|**
TradeSkill Recipe List (TSRL.mac) by hoosierbilly Jan 2017
outputs to your MQ2Log file and TSRL_${Me.Name}_${EverQuest.Server}

You must have the tradeskill window open.
You should decide how to sort the list (Recipe Name or Trivial), the macro will not do any sorting of the list.
NOTE: Recipes with a trivial of 15 (or less) are excluded from the listing.
There are simple too non-trivial many recipes to get a complete list.
**|


Sub Main

/declare    LC        int        outer
/declare    TX        int        outer
/declare    MinTriv    int        outer    16
/declare    MaxTriv    int        outer    40
/declare    Min        string    outer
/declare    Max        string    outer
/declare    TotalList    int    outer    0


    /if (!${Plugin[MQ2Log].Name.Length}) {
        /plugin MQ2Log
        /delay 10
    }
    /mlog on
    /if (!${Window[TradeskillWnd].Open}) {
        /echo You must open tradeskill window and start over...
        /end
    }
    /echo TradeSkill Recipe List for: ${Window[TradeskillWnd].Child[COMBW_SkillLabel].Text.Arg[1,]}
    :searchloop
    /varset Min ${MinTriv}
    /varset Max ${MaxTriv}
    /nomodkey /notify TradeskillWnd COMBW_MinTrivialEdit leftmouseup
    /nomodkey /keypress backspace chat
    /nomodkey /keypress backspace chat
    /nomodkey /keypress backspace chat
    /for TX 1 to 3
    /if (${Min.Mid[${TX},1].Length}) /nomodkey /keypress ${Min.Mid[${TX},1]} chat
    /next TX

    /nomodkey /notify TradeskillWnd COMBW_MaxTrivialEdit leftmouseup
    /nomodkey /keypress backspace chat
    /nomodkey /keypress backspace chat
    /nomodkey /keypress backspace chat
    /for TX 1 to 3
    /if (${Max.Mid[${TX},1].Length}) /nomodkey /keypress ${Max.Mid[${TX},1]} chat
    /next TX
    /delay 2s
    /nomodkey /notify TradeskillWnd COMBW_SearchButton leftmouseup
    /delay 6s

    /if (${Window[TradeskillWnd].Child[COMBW_RecipeList].Items}==0) {
        /echo List Complete. Total Recipes listed: ${TotalList}
        /squelch /windowstate TradeskillWnd close
        /squelch /windowstate InventoryWindow close
        /end
    }
    /if (${Window[TradeskillWnd].Child[COMBW_RecipeList].Items}>=100) {
        /echo Incomplete list resulted, restricting the search...
        /varcalc MaxTriv ${MaxTriv}-5
        /if (${MaxTriv}<1) /varset MaxTriv 1
        /goto :searchloop
    }

    /echo Recipe List for Triv: ${MinTriv} to ${MaxTriv}
    /for LC 1 to ${Window[TradeskillWnd].Child[COMBW_RecipeList].Items}
    /ini "TSRL_${Me.Name}_${EverQuest.Server}" "${Window[TradeskillWnd].Child[COMBW_SkillLabel].Text.Arg[1,]}" "${Window[TradeskillWnd].Child[COMBW_RecipeList].List[${LC},1]}" ${Window[TradeskillWnd].Child[COMBW_RecipeList].List[${LC},2]}
    /echo ${Window[TradeskillWnd].Child[COMBW_RecipeList].List[${LC},1]},${Window[TradeskillWnd].Child[COMBW_RecipeList].List[${LC},2]}
    /next LC
    /varcalc TotalList ${TotalList}+${Window[TradeskillWnd].Child[COMBW_RecipeList].Items}
   
    /if (${MinTriv}<900) {
        /varcalc MinTriv ${MinTriv}+${Math.Calc[${MaxTriv}-${MinTriv}]}+1
        /varcalc MaxTriv ${MinTriv}+25
        /goto :searchloop
    } else {
        /echo List Complete. Total Recipes listed: ${TotalList}
        /squelch /windowstate TradeskillWnd close
        /squelch /windowstate InventoryWindow close
        /end
    }

/return
 
Last edited by a moderator:
First - Thank you!! Just ran this on Jewelry making it runs great - exactly what I was hoping to find!

If this GREAT macro doesn't grab everything for you - try some of these adjustments:

For me I noticed the macro stopped at 350 - currently my own recipes go up to 508. I have an empty block from 350 - 400 with no recipes and that was causing the stop. So I adjusted:
Rich (BB code):
 /varcalc MaxTriv ${MinTriv}+25
To read 55.
Another problem I ran into on jewelry crafting was that I have no many 499 trivial recipes which again stopped the macro so I adjusted the starting point to be 500 by changing these lines:
Rich (BB code):
/declare	MinTriv	int		outer	16
/declare	MaxTriv	int		outer	40

to
Rich (BB code):
/declare	MinTriv	int		outer	500
/declare	MaxTriv	int		outer	550

These adjustments worked well for me in jewelry crafting but might have to be adjusted differently to work with other skills or if you have a different list.

Thank you again Hoosierbilly for taking the time to write and share such a needed macro!! You have taken what would have been a time consuming and annoying task of hand coping these lists and made it trivial!
 
I tested this on baby toon and did not think about gaps in your recipe list.
The easiest way to make it continue searching past a gap is find the following section of code starting at about line 56 and remove it.

Rich (BB code):
	/if (${Window[TradeskillWnd].Child[COMBW_RecipeList].Items}==0) {
		/echo List Complete. Total Recipes listed: ${TotalList}
		/squelch /windowstate TradeskillWnd close
		/squelch /windowstate InventoryWindow close
		/end
	}

That should make continue searching through a trivial of 900.

EDIT:
If you have more then 100 recipes with the same trivial it will stop the macro. The stupid tradeskill window will only list a maximum of 100 recipes, causing an incomplete list. This is the problem I had with 15 trivial recipes. I started the listing at 16 to work around the problem. As DarkMax said you can change the MinTriv and MaxTriv variables to skip a problem area.

Rich (BB code):
/declare	MinTriv	int		outer	16
/declare	MaxTriv	int		outer	40
 
So I suppose the next step of this would be after generating that list, is there a way to relate it to a full list of recipes in the game for a skill stored within an excel sheet and transfer which ones are known (output of TSRL) to tick off of the total list.
 
Does this output to a file by chance? I'm not sure I understand exactly what this macro does.
 
Yes it outputs to a file. :) I'm working on something that would allow us to output, compare to know list and then flag all of the known recipes on the list of all possible recipes.
 
Yes it outputs to a file. :) I'm working on something that would allow us to output, compare to know list and then flag all of the known recipes on the list of all possible recipes.

Hope you manage to achieve this someday :)
 
Release Tradeskill Recipe List macro

Users who are viewing this thread

Back
Top
Cart