Download
(37 Kb)
Download
Updated: 07/06/21 04:17 AM
Pictures
File Info
Compatibility:
Blackwood (7.0.5)
Greymoor (6.0.5)
Updated:07/06/21 04:17 AM
Created:10/06/18 07:08 AM
Monthly downloads:439
Total downloads:35,868
Favorites:64
MD5:
Categories:TradeSkill Mods, Character Advancement, Miscellaneous, Utility Mods
Leo's Trainer  Popular! (More than 5000 hits)
Version: 2.2.3
by: LeandroSilva [More]
An AddOn that helps training your alt on crafting skills (blacksmithing, woodworking, clothing and jewel crafting).

Type "/leotrainer" on your chat to open the main window or use the KeyBinding.

Dependencies (please, install these):
* Leo's Altholic (1.5.0+)
* LibFeedback
* LibAddonMenu-2.0
* LibLazyCrafting
* LibSavedVars
* FCO ItemSaver if you plan to use auto research or auto deconstruct. This is for safety!

Suggested workflow

* You need to login with each character with Leo's Altholic enabled for them.
* You can do this in parallel with your daily writs to optimize your time. It's compatible with Dolgubon's Lazey Writ.
* If using auto deconstruct and auto research, disable any other auto addons to avoid conflicts.
  1. On on master crafter, open the main windows and click "Fill all slots"
  2. All empty research slots will appear on the queue unless there is a researchable item in bank
  3. Go to each station to craft the items (option to auto craft and compatible with Lazy Writ. It will mark for research if you have FCO Item Saver)
  4. Go to the bank and deposit the items (option to auto deposit)
  5. Log in with each trainee, go to each station and research an item (option to auto research and compatible with Lazy Writ)
  6. You can also auto deconstruct items to increase the trade skill (only available until max level in that skill)

Auto options
* Auto craft will mark crafted items for research if you have FCO Item Saver
* Auto research will only work for items masked for research on FCO Item Saver. This is for safety and prevent the lost of important items with a trait that you need. Just mask an item with research item and the addon will use it.
* Auto deconstruct will only work for items masked for deconstruct or intricate on FCO Item Saver. This is for safety and prevent the lost of important items. Just mask an item with deconstruct item and the addon will use it. You can also use the auto mark feature inn FCO Item Saver.
* Auto deconstruct will not deconstruct items with level too far from your skill. If you have 49 in blacksmithing, you will gain too little for deconstruct an iron item level 1; better save for other char with lower BS. The same if you have BS level 1 should not deconstruct an ancient silk item level 50, you will gain a lot, but a lot will be lost because of gain cap.

All crafted items will be of white quality and use basic materials (iron ingot, sanded mapple, jute and pewter ounce). No need to waste valuable resources on training, eg. better deconstruct a purple item than use it for research. Will use only playable race style materials (can be bought from vendor).

Features:
* Easily known who can train and who can be trained in a skill
* Create an entire queue in one char and craft the items on others
* Remove an item from the queue by right-click it
* Fill empty research slots on your alts (primary use to save bank space, will only craft what's immediately needed)
* Settings with available skills to be trained for each char and fill slots (eg. maybe you don't want to train you alts jewel crafting for now because it's expensive, only on you main crafter)
* Auto Craft
* Auto Research
* Auto Deposit
* Auto Deconstruct

Donate here.

My addons:
Leo's Altholic
Leo's Trainer
Leo's Guild Manager
Leo's Dolmen Runner
2.2.3:
- Added silent option

2.2.2:
- Update for Blackwood

2.2.1:
- Fix for Greymoor

2.2.0:
- Update 26 Greymoor compatibility
- This version is compatible with both live (Harrowstorm) and PTS (Greymoor)

2.1.0:
- You can auto deconstruct glyphs at the enchanting station

2.0.4:
- Fix "Start Craft" button. Only auto craft was working.

2.0.3:
- Fix eventual conflict with Lazy Writ

2.0.2:
- Fix an issue when exiting a station without Lazy Writ installed

2.0.1:
- Clear queue when leave station in the middle of the craft process

2.0.0:
- Major internal refactoring (you need to set the options again, sorry :( )
- Auto Craft
- Auto Research
- Auto Deposit
- Auto Deconstruct

1.3.3
- Fix rare lua error when using with FCOItemSaver

1.3.2
- Removing debug message, sorry :)

1.3.1
- Mark crafted items for research using FCO if available

1.3.0
- Update to Elsweyr
- Remove 3rd-party libraries (player needs to manually install)

1.2.3
- Respecting "Use Nirnhoned" settings again, sorry :(
- Showing quantity of queued items on chat upon "Fill ..."

1.2.2
- Ignoring lines still under researching during queue creation

1.2.1
- Fixing lua error during initialisation

1.2.0
- Added Default Trainer on Settings: Preferred trainer during queue creation
- Now queue as designated trainer (default or the first one that known the trait)
- You can change the trainer by left-clicking on his/her name in the queue
- Filtering queue by trainer in stations too (besides the station itself)
- Correctly include concluded researches in the queue and excluding ongoing one from it
- Scanning items during queue creation and not including that trait on queue (but it a second car needs that trait and you have one 1 item, the trait will be included for the second char)

1.1.3
- Fixing slash command /leotrainer

1.1.2
- Fixed icon launcher in crafting station (Thanks NachtkindFX)

1.1.1
- Fixed the Fill slots for researches finished on other chars but not yet logged in to marked them as done.

1.1.0
- Setting to search inventory for items with searchable traits (integration with FCOItemSaver too) and show in the grid. In the near future, you can ignore such trait for queue purposes.
- Fill all slots: Fill all empty research slots for each character known by any
- Fill my slots: Fill all empty research slots for CURRENT character known by the any
- Fill slots i know: Fill all empty research slots for each character known ONLY by the current character
- All "Fill ..." buttons uses line/trait that will require less time
- Huge performance boost since Leo's Altholic 1.5.0+


1.0.3
- Forward compatibility with LeoAltholic 1.4.0 and preparing for LeoTrainer 1.1.0

1.0.2
- Consider as available a skill with already finished research but not logged in char
- This one needs LeoAltholic 1.2.2 or above, please update!

1.0.1
- Preventing that a slot is filled with a traitless item if a char known all traits of a skill line or if no one knows it

1.0.0
- Fill Slots
- Slash command /leotrainer is working again
- Settings with available skills to be trained for each char and fill slots

0.9.2
- Fixing craft items using correct material requirements
- Decreasing time between crafts during "Craft All"
- Increasing the width of trait and item on queue

0.9.1
- Fixing an issue when the next item on queue is for a different station
Optional Files (0)


Archived Files (28)
File Name
Version
Size
Uploader
Date
2.2.2
37kB
LeandroSilva
07/04/21 05:43 AM
2.2.1
37kB
LeandroSilva
05/26/20 11:45 AM
2.2.0
37kB
LeandroSilva
04/23/20 06:07 AM
2.1.0
37kB
LeandroSilva
04/11/20 08:17 AM
2.0.4
37kB
LeandroSilva
04/06/20 05:47 PM
2.0.3
37kB
LeandroSilva
04/04/20 09:00 AM
2.0.2
37kB
LeandroSilva
04/01/20 02:33 PM
2.0.1
37kB
LeandroSilva
03/28/20 04:07 AM
2.0.0
37kB
LeandroSilva
03/26/20 03:31 AM
1.3.3
22kB
LeandroSilva
02/07/20 02:07 PM
1.3.2
22kB
LeandroSilva
02/02/20 08:20 AM
1.3.1
22kB
LeandroSilva
01/30/20 03:02 PM
1.3.0
21kB
LeandroSilva
01/18/20 04:35 PM
1.2.3
71kB
LeandroSilva
11/07/18 10:20 AM
1.2.2
70kB
LeandroSilva
11/06/18 04:16 AM
1.2.1
70kB
LeandroSilva
11/05/18 04:10 PM
1.2.0
70kB
LeandroSilva
11/05/18 01:09 PM
1.1.3
70kB
LeandroSilva
11/03/18 05:20 AM
1.1.2
70kB
LeandroSilva
11/03/18 05:04 AM
1.1.1
70kB
LeandroSilva
11/03/18 03:56 AM
1.1.0
70kB
LeandroSilva
11/01/18 04:58 PM
1.0.3
68kB
LeandroSilva
10/27/18 04:27 AM
1.0.2
67kB
LeandroSilva
10/11/18 08:54 AM
1.0.1
67kB
LeandroSilva
10/08/18 09:30 AM
1.0.0
67kB
LeandroSilva
10/08/18 08:10 AM
0.9.2
66kB
LeandroSilva
10/07/18 06:32 AM
0.9.1
66kB
LeandroSilva
10/06/18 06:21 PM
0.9.0
65kB
LeandroSilva
10/06/18 07:08 AM


Post A Reply Comment Options
Unread 10/04/22, 09:00 AM  
Caaraamon

Forum posts: 0
File comments: 57
Uploads: 0
Re: Operator # is not supported

Wonderful, that fixed it perfect. Thank you.

Originally Posted by ckd
That's coming up because of the new Deconstruction Assistant.

This is the update I made to my LeoTrainer.lua (line 115). What it should be doing is checking if its a craft table that LibLazyCrafting can handle, then send the event to that add-on. :

function LeoTrainer.stationExit(_, craftSkill)
if craftSkill > 0 then
EVENT_MANAGER:UnregisterForEvent(LeoTrainer.name, EVENT_CRAFT_COMPLETED)
if WritCreater then
EVENT_MANAGER:UnregisterForEvent(WritCreater.name, EVENT_CRAFTING_STATION_INTERACT)
EVENT_MANAGER:UnregisterForEvent(WritCreater.name, EVENT_CRAFT_COMPLETED)
end

LeoTrainer.ui.OnStationExit(craftSkill)
LeoTrainer.research.OnStationExit(craftSkill)
LeoTrainer.deconstruct.OnStationExit(craftSkill)
LeoTrainer.craft.OnStationExit(craftSkill)
end
end



Originally Posted by Caaraamon
So occasionally when using Leotrainer, I get the following error. I'm code illiterate, so maybe someone here can help?

Code:
user:/AddOns/LibLazyCrafting/LibLazyCrafting.lua:492: operator # is not supported for # nil
stack traceback:
user:/AddOns/LibLazyCrafting/LibLazyCrafting.lua:492: in function 'LLC_CancelItem'
|caaaaaa<Locals> self = [table:1]{autocraft = T, version = 3.079, addonName = "LeoTrainer"}, station = 0 </Locals>|r
user:/AddOns/LeoTrainer/Craft.lua:162: in function 'Craft.RemoveCraftedFromQueue'
|caaaaaa<Locals> craftSkill = 0, i = 1 </Locals>|r
user:/AddOns/LeoTrainer/Craft.lua:166: in function 'Craft.OnStationExit'
|caaaaaa<Locals> craftSkill = 0 </Locals>|r
user:/AddOns/LeoTrainer/LeoTrainer.lua:125: in function 'LeoTrainer.stationExit'
|caaaaaa<Locals> _ = 131535, craftSkill = 0 </Locals>|r

Thanks!
Report comment to moderator  
Reply With Quote
Unread 07/18/22, 01:29 PM  
ckd

Forum posts: 0
File comments: 6
Uploads: 0
Operator # is not supported

That's coming up because of the new Deconstruction Assistant.

This is the update I made to my LeoTrainer.lua (line 115). What it should be doing is checking if its a craft table that LibLazyCrafting can handle, then send the event to that add-on. :

function LeoTrainer.stationExit(_, craftSkill)
if craftSkill > 0 then
EVENT_MANAGER:UnregisterForEvent(LeoTrainer.name, EVENT_CRAFT_COMPLETED)
if WritCreater then
EVENT_MANAGER:UnregisterForEvent(WritCreater.name, EVENT_CRAFTING_STATION_INTERACT)
EVENT_MANAGER:UnregisterForEvent(WritCreater.name, EVENT_CRAFT_COMPLETED)
end

LeoTrainer.ui.OnStationExit(craftSkill)
LeoTrainer.research.OnStationExit(craftSkill)
LeoTrainer.deconstruct.OnStationExit(craftSkill)
LeoTrainer.craft.OnStationExit(craftSkill)
end
end



Originally Posted by Caaraamon
So occasionally when using Leotrainer, I get the following error. I'm code illiterate, so maybe someone here can help?

Code:
user:/AddOns/LibLazyCrafting/LibLazyCrafting.lua:492: operator # is not supported for # nil
stack traceback:
user:/AddOns/LibLazyCrafting/LibLazyCrafting.lua:492: in function 'LLC_CancelItem'
|caaaaaa<Locals> self = [table:1]{autocraft = T, version = 3.079, addonName = "LeoTrainer"}, station = 0 </Locals>|r
user:/AddOns/LeoTrainer/Craft.lua:162: in function 'Craft.RemoveCraftedFromQueue'
|caaaaaa<Locals> craftSkill = 0, i = 1 </Locals>|r
user:/AddOns/LeoTrainer/Craft.lua:166: in function 'Craft.OnStationExit'
|caaaaaa<Locals> craftSkill = 0 </Locals>|r
user:/AddOns/LeoTrainer/LeoTrainer.lua:125: in function 'LeoTrainer.stationExit'
|caaaaaa<Locals> _ = 131535, craftSkill = 0 </Locals>|r

Thanks!
Report comment to moderator  
Reply With Quote
Unread 07/01/22, 06:21 PM  
Caaraamon

Forum posts: 0
File comments: 57
Uploads: 0
So occasionally when using Leotrainer, I get the following error. I'm code illiterate, so maybe someone here can help?

Code:
user:/AddOns/LibLazyCrafting/LibLazyCrafting.lua:492: operator # is not supported for # nil
stack traceback:
user:/AddOns/LibLazyCrafting/LibLazyCrafting.lua:492: in function 'LLC_CancelItem'
|caaaaaa<Locals> self = [table:1]{autocraft = T, version = 3.079, addonName = "LeoTrainer"}, station = 0 </Locals>|r
user:/AddOns/LeoTrainer/Craft.lua:162: in function 'Craft.RemoveCraftedFromQueue'
|caaaaaa<Locals> craftSkill = 0, i = 1 </Locals>|r
user:/AddOns/LeoTrainer/Craft.lua:166: in function 'Craft.OnStationExit'
|caaaaaa<Locals> craftSkill = 0 </Locals>|r
user:/AddOns/LeoTrainer/LeoTrainer.lua:125: in function 'LeoTrainer.stationExit'
|caaaaaa<Locals> _ = 131535, craftSkill = 0 </Locals>|r

Thanks!
Report comment to moderator  
Reply With Quote
Unread 05/08/22, 10:59 AM  
Sidrinius

Forum posts: 3
File comments: 30
Uploads: 0
UI Error When Auto Research

Not every time, but often when using Auto Research, I get this error:

Code:
/EsoUI/Ingame/Crafting/CraftingSmithingExtractSlotAnimation.lua:34: attempt to index a nil value stack traceback:
/EsoUI/Ingame/Crafting/CraftingSmithingExtractSlotAnimation.lua:34: in function '(anonymous)'
Report comment to moderator  
Reply With Quote
Unread 12/27/21, 12:38 PM  
Caaraamon

Forum posts: 0
File comments: 57
Uploads: 0
Trait Order

In the hopes of finding someone smarter than me...

Is there a way to change the order traits are learned in? For example, I find it annoying that "sturdy" seems to have the highest priority, when I'd prefer something like "divines" or "training".

There doesn't seem to be a setting to change it, but I lack the coding knowledge to even contemplate changing the LUA... but maybe someone else out there might?
Report comment to moderator  
Reply With Quote
Unread 07/22/21, 05:16 AM  
2eCBqy3YdX6c

Forum posts: 0
File comments: 13
Uploads: 0
Hi,

Would it be possible to have it avoid queuing for traits that I do not have crafting materials for?

As an example, it is queueing up a bunch of Necklace Infused items, but I don't have any Aurbic Amber to make them with right now.

Thanks!
Report comment to moderator  
Reply With Quote
Unread 03/08/21, 10:42 PM  
TagCdog

Forum posts: 24
File comments: 43
Uploads: 0
Hi All,

It looks like Leo hasn't been active in over a year. @Aldanga in the LeoAlt addon comments posted the solution below. If you comment out the code they specify below (using "--" for each line they specify), both LeoAlt and LeoTrainer will work again! Note, my line numbers did not match theirs. I suggest double-checking the actual code before commenting it out.

Originally Posted by Aldanga
For anyone wanting to restore usage until the champion update is incorporated, you can comment out the following lines:

LeoAltholicUI.lua, lines 143-144:

Code:
    LeoAltholicUI.statsList = LeoAltholicStatsList:New(LeoAltholicWindowStatsPanelListScroll)
    LeoAltholicUI.statsList:RefreshData()

    -- LeoAltholicUI.championList = LeoAltholicChampionList:New(LeoAltholicWindowChampionPanelListScroll)
    -- LeoAltholicUI.championList:RefreshData()

    LeoAltholicUI.skillsList = LeoAltholicSkillsList:New(LeoAltholicWindowSkillsPanelListScroll)
    LeoAltholicUI.skillsList:RefreshData()

ui/champion.lua, line 12:

Code:
    self.currentSortKey = "name"
    self.currentSortOrder = ZO_SORT_ORDER_UP
    -- ZO_ScrollList_AddDataType(self.list, 1, "LeoAltholicChampionListTemplate", 32, function(control, data) self:SetupEntry(control, data) end)

    self.sortFunction = function(listEntry1, listEntry2)
LeoAltholic.lua, lines 575-589:
Code:
    for _, attribute in ipairs({ATTRIBUTE_HEALTH, ATTRIBUTE_MAGICKA, ATTRIBUTE_STAMINA}) do
        char.champion[attribute] = {}
        char.champion[attribute].spent = 0
        char.champion[attribute].unspent = GetNumUnspentChampionPoints(attribute)
        char.champion[attribute].disciplines = {}
    end

    -- for i = 1, GetNumChampionDisciplines() do
    --     local attribute = GetChampionDisciplineAttribute(i)
    --     char.champion[attribute].disciplines[i] = {
    --         spent = GetNumPointsSpentInChampionDiscipline(i),
    --         skills = {}
    --     }
    --     char.champion[attribute].spent = char.champion[attribute].spent + char.champion[attribute].disciplines[i].spent
    --     for j = 1, GetNumChampionDisciplineSkills(i) do
    --         if WillChampionSkillBeUnlocked(i, j) then
    --             char.champion[attribute].disciplines[i].skills[j] = true
    --         else
    --             char.champion[attribute].disciplines[i].skills[j] = GetNumPointsSpentOnChampionSkill(i, j)
    --         end
    --     end
    -- end

    char.inventory = {}
    char.inventory.size = GetBagSize(BAG_BACKPACK)
    char.inventory.used = GetNumBagUsedSlots(BAG_BACKPACK)
    char.inventory.free = GetNumBagFreeSlots(BAG_BACKPACK)
Hopefully that covers all of them.
Report comment to moderator  
Reply With Quote
Unread 03/08/21, 11:37 AM  
Tarius

Forum posts: 0
File comments: 8
Uploads: 0
Thanks for the addon! It made my daily craft with a lot of characters a lot easier. Unfortunately, it stopped working with the release of the update. Most likely the problem is in the champion points table. It would be great if you could take the time to update it. Thank you
Report comment to moderator  
Reply With Quote
Unread 03/04/21, 01:36 PM  
Tayens

Forum posts: 0
File comments: 3
Uploads: 0
This addon worked great for a few days, as I was able to craft things on my main, bank them, and research them as I did my writs on alts. Now I'm unable to get it to add any items to the crafting queue. Tried disabling/enabling, reinstalling addon, deleting saved vars in minion. No idea what caused it to just stop queueing items for me
Report comment to moderator  
Reply With Quote
Unread 10/28/20, 08:06 AM  
cosmoplayer

Forum posts: 0
File comments: 3
Uploads: 0
is it possible to add a feature to see the mundus stones?
Report comment to moderator  
Reply With Quote
Unread 10/26/20, 10:21 PM  
TagCdog

Forum posts: 24
File comments: 43
Uploads: 0
It looks like LeandroSilva isn't very active anymore, but I'll post this request just in case!

One thing I do all the time despite trying not to is crafting researchable items for alts and then logging out and into the alt without banking the item for them. If it's possible, could we add an alert prior to logging out that researchable items have not yet been banked?

That might not be possible in any case, but it's worth a try haha.
Report comment to moderator  
Reply With Quote
Unread 06/30/20, 03:30 PM  
TagCdog

Forum posts: 24
File comments: 43
Uploads: 0
Update regarding craft-queuing by clicking an item/trait on the grid:
  • If the Preferred Trainer in the addon settings is "Anyone", you *cannot* queue items/traits by clicking on them.
  • If a specific character is set as the Preferred Trainer in the addon settings, you *can* queue items/traits by clicking on them.

Now knowing how it works, I'd like to request the ability for any character to queue any item/trait by clicking on it in the grid when "Anyone" is the Preferred Trainer.

From a code perspective would deleting
Code:
data.trainer ~= "Anyone" and data.trainee ~= "Anyone"
from line 625 of LeoTrainerUI.lua do the trick?

Code:
function LeoTrainer.AddToQueue(data)
    for _, item in pairs(LeoTrainer.savedVariables.queue) do
        if data.trainer ~= "Anyone" and data.trainee ~= "Anyone" and item.trainer == data.trainer and item.trainee == data.trainee and item.craft == data.craft and
                item.line == data.line and item.trait == data.trait then
            return false
        end
    end
    table.insert(LeoTrainer.savedVariables.queue, data)
    return true
end
One last thing, switching the Preferred Trainer each time I swapped toons didn't work. Yes, you could queue from the new Preferred Trainer, but there was some conflicting data in the queue from the old trainer that caused the addon to freak out and continuously craft the wrong item until I logged on with a different toon and cleared the queue which wasn't visible to the current toon and had items queued from both my main and previous alt.
Last edited by TagCdog : 07/10/20 at 01:23 AM.
Report comment to moderator  
Reply With Quote
Unread 06/17/20, 10:58 PM  
Dolgubon
 
Dolgubon's Avatar
AddOn Author - Click to view AddOns

Forum posts: 408
File comments: 883
Uploads: 21
The icon doesn't really match - I'd suggest the actual soul gem item icon for the soul gems instead of the transmute crystl symbol
Also, a lot of the top menu buttons have mouseover/clicked textures as well. Using those textures would make it a little more intuitive.
An option to disable chat message on login and writ pickup would also be appreciated.
Last edited by Dolgubon : 06/17/20 at 10:59 PM.
Report comment to moderator  
Reply With Quote
Unread 06/17/20, 09:35 AM  
Vaesse
 
Vaesse's Avatar

Forum posts: 0
File comments: 16
Uploads: 0
Originally Posted by esran
Seems there's the odd issue with correctly identifying known traits, and possibly tracking inventory/bank.

1. It sometimes thinks a character doesn't know a trait even though it does. In all instances that this has happened, CraftStore has the correct knowledge and reloading the UI fixes it for Leo.

2. It sometimes feels like it takes multiple visits to the bench before it registers researching. I just noticed that the first visit mentioned in the chat log two staves and that it was researching one of them. But it didn't register in the toolbar. So I visited the bench again. This time only the second staff was listed and it researched that, which did register this time. On checking the first staff it turns out I don't have that anywhere.
I have noticed something similar. I am convinced this is because I don't run my characters in alphabetical order so they probably don't always learn the item that was "planned" for them. Just today I had a character trying to learn a trait they already knew... and when I asked the addon to make them another item to research, it re-qued the same trait/item combo. Maybe a button or slash command to clear and then learn again what the current character knows?
Report comment to moderator  
Reply With Quote
Unread 06/05/20, 08:02 PM  
lookstwice

Forum posts: 0
File comments: 3
Uploads: 0
Sorry for the basic question, but not seeing a search thread option here.

How do I remove the information for one alt. I don't need to know information that character on the main /leoalt page.

Thanks.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.