Download
(63 Kb)
Download
Updated: 04/25/24 12:33 PM
Pictures
File Info
Compatibility:
Scions of Ithelia (9.3.0)
Updated:04/25/24 12:33 PM
Created:04/13/24 02:11 PM
Monthly downloads:4,256
Total downloads:4,313
Favorites:15
MD5:
9.3.0
SimpleDailyCraft
Version: 0.65
by: MelanAster [More]
Top: If you have problems with accepting or submitting quests.
Please increase the interaction delay (default 150ms) in addon setting menu for stability.




Why write it?
Dolgubon's Lazy Writ Crafter has some features that rely on string matching, actually localization is a bit of a hassle for non-english speaking users (even for authors? I guess).

So I wrote a crafting addon from zero that doesn't require any localization
And support all offical languages.


SDC now supports Gamepad Mode!

Features
  • Fully automatic acquisition and submission of writs.
  • Fully automatic crafting for daily and master writs.
  • Optimized automatic unpacking without be crowded with quests commit.
  • Extract consumables and raw materials from bank.
  • Assistant bar for the current daily and master writs.
  • Custom material blacklist for alchemy with craft and quest.


It's fine for SDC to coexist with other craft addons, but don't duplicate automatic craft from multiple addons for one workstation.

Banlist for alchemy
The materials added to the banlist will be ignored when craft daily or master writs.
The daily writs which need the raw materials in banlist to commit will be abandoned.


(The materials in the drop-down list were basically arranged in ascending order of price)

Assistant for WritWorthy
When it comes to batch craft master writs, WW is overwhelmingly strong.
SDC just do little work for efficiently committing all master writs done by WW.
How to use this function?
1) As always, use WW to complete the target products without really using the writs.
2) Take all productions and writs to the npc of mastercraft
3) U will see a new label for start, click it.

Step 1. It will read some writs to pickup quests. (AutoRun)
Step 2. By sound and prompt, it tells you the time to interact with npc. (Manually)
*Addons are forbidden to do Interact for players.
Step 3. It will commit all quests and back to step 1. (AutoRun)
Repeat for few rounds until all writs marked as completed by WW have been handed in.

It will try to pick up all seven type writs in each round to speed things up.
You can't hold an undone master craft quest when start.




Required Libraries:
Development Plan: fix bugs and keep stable

Contant:
If you have any suggestion or bug to report, feel free to send me mails in-game on EU or comments/messages here.
0.65:
Trying to be compatible with PA
Added a new feature to give a hint about refresh distance when clearing survey reports

0.62:
Fixed an issue when trying remove item from banlist for alchemy

0.61:
Fixed an issue that master writs shared the same ItemLink crashed in WW-SDC-Auto
Tried to fix function of committing writs in certain extreme cases

0.60:
Preliminary update for U42
Optimized the function of bank
Optimized the function of picking up and submitting writs

0.55:
Fixed some issues with enchantment
Preventing the jamming of some craft stations
Added setting whether banks need to be automatically opened or closed

0.52:
Fixed a wrong enchantment glyph recipe
Added range of adjustable delay for interact

0.51:
Fixed an issue that could occur when interact window close
Added a fine-tuning bar to adjust the speed of picking up and submitting quests to improve stability

0.50:
Tried to fix an issue where the alchemy had a small chance of getting stuck
Gamepad mode now is supported!

0.49:
Fixed an issue related to string matching for some languages.
All official languages should now be able to unbox and accept master writs automatically.

0.48:
Now open box from any source
Now provide two separate material blacklists for daily alchemy craft and commit
Now prompt the remaning number of consumables in bank when low
Fix a bug in determining the type of master writ to pick when assist for WW

0.45:
Fix unbox again, adjust the range of scan

0.41:
Fixed the bug that take wrong items from bank
Enhanced unpacking to try to prevent residue container
Add an assistant function for WritWorthy to commit master writs

0.31:
Fixed the issue of jamming caused by using some solvents for alchemy
Fixed possible sound effect component errors in enchanting
Extract required products for consumable daily from bank
Optimize unboxing experience by separating quest and unboxing stages
More optional settings

0.22:
Fix the wrong of assistant bar when only lack raw materials

0.21:
Fix the automated quest picking or submitting again
It will abandon alchemy quest now if need to submit raw materials in banlist

0.20:
It provides the function of turning off the automatic unboxing
Optimized the unboxing process
Fix some cases where quests could not be automatically picked or submitted

0.10:
First release
Optional Files (0)


Archived Files (16)
File Name
Version
Size
Uploader
Date
0.62
63kB
MelanAster
04/24/24 09:37 PM
0.61
63kB
MelanAster
04/24/24 04:56 AM
0.60
62kB
MelanAster
04/23/24 11:56 AM
0.55
62kB
MelanAster
04/21/24 06:20 AM
0.52
62kB
MelanAster
04/20/24 06:52 AM
0.51
62kB
MelanAster
04/19/24 09:04 AM
0.5
61kB
MelanAster
04/18/24 12:29 PM
0.49
60kB
MelanAster
04/18/24 01:00 AM
0.48
60kB
MelanAster
04/17/24 12:52 AM
0.45
60kB
MelanAster
04/16/24 11:43 AM
0.41
59kB
MelanAster
04/16/24 07:20 AM
0.31
57kB
MelanAster
04/15/24 02:38 PM
0.3
55kB
MelanAster
04/15/24 05:38 AM
0.22
52kB
MelanAster
04/14/24 04:01 AM
0.2
52kB
MelanAster
04/14/24 12:57 AM
0.1
52kB
MelanAster
04/13/24 02:11 PM


Post A Reply Comment Options
Unread Today, 09:26 AM  
MelanAster
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 53
Uploads: 4
Originally Posted by Teroh
> Exit and re-enter the UI, will it be able to finish making Markarth Mead?

No it doesn't fix it. Tried many times when i got "the bug" because my first thought was timeout errors too. Had to manually craft it ( absolutely no biggy ).

I will make a screenshot next time i get it. Anything in particular you wanna see?

Also huge shout out to the integration with WrithWorthy. I did almost 200 precrafted writ turn ins in 3 batches during the anniversary event and it went flawless. This addons function was such a big time saver. Thank you everyone working on this addon for that!
It doesn't look like SDC thinks something needs to be made, but it's not clear why it's happening
It's possible that something went wrong in reading the quest requirements, since it not worked by repeatedly opening the UI
Several functions need to be used to check the conditions returned by the quest in order to clarify the problem

Can't you complete any craft quests that include Markarth Mead?
Last edited by MelanAster : 05/03/24 at 09:29 AM.
Report comment to moderator  
Reply With Quote
Unread Today, 08:31 AM  
Teroh

Forum posts: 0
File comments: 29
Uploads: 0
> Exit and re-enter the UI, will it be able to finish making Markarth Mead?

No it doesn't fix it. Tried many times when i got "the bug" because my first thought was timeout errors too. Had to manually craft it ( absolutely no biggy ).

I will make a screenshot next time i get it. Anything in particular you wanna see?

Also huge shout out to the integration with WrithWorthy. I did almost 200 precrafted writ turn ins in 3 batches during the anniversary event and it went flawless. This addons function was such a big time saver. Thank you everyone working on this addon for that!
Report comment to moderator  
Reply With Quote
Unread Today, 04:56 AM  
MelanAster
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 53
Uploads: 4
Originally Posted by Teroh
Using no other crafting addons anymore ( outside of WritWorthy, which is disabled ) thanks to your addon.

It usually goes like this

* Pick up food daily
* Go to food crafting
* It wants me to make x and after that Markarth Mead in that order
* It crafts x and then stops

Its not doing this on any other food daily combo. All i've seen so far work fine except the Mead.
Exit and re-enter the UI, will it be able to finish making Markarth Mead?
I've tried quite a few times and it doesn't trigger this issue in the same process

And from a code standpoint, any recipe is the same, there's nothing special about Markarth Mead
If it doesn't have any crafting error prompts, I'd even suspect that the crafting quests are returning an incorrect item id, in some combinations
Maybe give me a screenshot of the quest details
Last edited by MelanAster : 05/03/24 at 05:11 AM.
Report comment to moderator  
Reply With Quote
Unread Today, 01:04 AM  
Teroh

Forum posts: 0
File comments: 29
Uploads: 0
Using no other crafting addons anymore ( outside of WritWorthy, which is disabled ) thanks to your addon.

It usually goes like this

* Pick up food daily
* Go to food crafting
* It wants me to make x and after that Markarth Mead in that order
* It crafts x and then stops

Its not doing this on any other food daily combo. All i've seen so far work fine except the Mead.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 05:37 AM  
MelanAster
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 53
Uploads: 4
Originally Posted by Teroh
The addon seems to have a problem crafting "Markarth Mead" for the food daily. Recipe is known and plenty of crafting mats.
Tried and pretty sure SDC can make Markarth Mead.


Check to see if SDC's food craft is disabled in setting, or if there are other cooking addons that are affecting it.
Last edited by MelanAster : 05/02/24 at 05:37 AM.
Report comment to moderator  
Reply With Quote
Unread Yesterday, 04:32 AM  
Teroh

Forum posts: 0
File comments: 29
Uploads: 0
The addon seems to have a problem crafting "Markarth Mead" for the food daily. Recipe is known and plenty of crafting mats.
Report comment to moderator  
Reply With Quote
Unread 04/25/24, 04:57 PM  
sinnereso
AddOn Author - Click to view AddOns

Forum posts: 247
File comments: 92
Uploads: 4
Originally Posted by MelanAster
Originally Posted by Masteroshi430
Originally Posted by MelanAster
I will try to support a table for that in next release.
True for need, nil for not need to take from bank

Currently, SDC will only attempt to obtain products and raw materials of cooking, enchanting, and alchemy from bank.
Lua Code:
  1. SimpleDailyCraft.BankTargetType ={
  2.   [3] = true,
  3.   [4] = true,
  4.   [5] = true,
  5. }
  6. SimpleDailyCraft.BankTargetType[CRAFTING_TYPE_ALCHEMY] == true
  7. SimpleDailyCraft.BankTargetType[CRAFTING_TYPE_BLACKSMITHING] == nil

But this table is updated by the quest condition
This means that it will change after pickup of items from bank

Or maybe PA prefers a table that doesn't change during the bank process
PA Banking will check that for every item it has to move so if it changes between items it doesn't matter, it's even better.
SDC will carry SimpleDailyCraft.BankTargetType in v0.65, with a structure like the one listed earlier.

On the other hand, just an idea.
Perhaps PA could try to discern if the items are required for daily crafting quest when moving it to bank.
And provide a setting like "Keep items related to daily craft writs in backbag"
That might eliminate the need for separate compatibility for each crafting addon

I made a prototype in conversation with sinnereso.
It is able to distinguish items needed for daily crafting, but does not apply to master craft quests.

I had to solve an issue with my own junk manager feature for crafting addons and used this to determine what NOT to bank/junk mid crafting process. It might be useful for ideas.

Code:
local isCrafted = (IsItemLinkCrafted(itemLink) and (itemType ~= ITEMTYPE_BLACKSMITHING_MATERIAL and
		itemType ~= ITEMTYPE_CLOTHIER_MATERIAL and itemType ~= ITEMTYPE_WOODWORKING_MATERIAL and
			itemType ~= ITEMTYPE_JEWELRYCRAFTING_MATERIAL and itemType ~= ITEMTYPE_ENCHANTING_RUNE_ASPECT and
				itemType ~= ITEMTYPE_ENCHANTING_RUNE_ESSENCE and itemType ~= ITEMTYPE_ENCHANTING_RUNE_POTENCY))--<< Crafting Addon Compatibility
Last edited by sinnereso : 04/25/24 at 05:48 PM.
Report comment to moderator  
Reply With Quote
Unread 04/25/24, 12:50 PM  
MelanAster
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 53
Uploads: 4
Originally Posted by Masteroshi430
Originally Posted by MelanAster
I will try to support a table for that in next release.
True for need, nil for not need to take from bank

Currently, SDC will only attempt to obtain products and raw materials of cooking, enchanting, and alchemy from bank.
Lua Code:
  1. SimpleDailyCraft.BankTargetType ={
  2.   [3] = true,
  3.   [4] = true,
  4.   [5] = true,
  5. }
  6. SimpleDailyCraft.BankTargetType[CRAFTING_TYPE_ALCHEMY] == true
  7. SimpleDailyCraft.BankTargetType[CRAFTING_TYPE_BLACKSMITHING] == nil

But this table is updated by the quest condition
This means that it will change after pickup of items from bank

Or maybe PA prefers a table that doesn't change during the bank process
PA Banking will check that for every item it has to move so if it changes between items it doesn't matter, it's even better.
SDC will carry SimpleDailyCraft.BankTargetType in v0.65, with a structure like the one listed earlier.

On the other hand, just an idea.
Perhaps PA could try to discern if the items are required for daily crafting quest when moving it to bank.
And provide a setting like "Keep items related to daily craft writs in backbag"
That might eliminate the need for separate compatibility for each crafting addon

I made a prototype in conversation with sinnereso.
It is able to distinguish items needed for daily crafting, but does not apply to master craft quests.
Report comment to moderator  
Reply With Quote
Unread 04/25/24, 12:20 PM  
MelanAster
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 53
Uploads: 4
Originally Posted by sinnereso
Originally Posted by MelanAster
Originally Posted by sinnereso
This may not work for you masteroshi but I've been happy with it so far temporarily disabling my auto deposit function and no complaints so far.. Only negative is someone that likes to run around with active writs in they're journal for lengthy periiods.

Code:
if MyAddon.HasWritQuest() then df(MyAddon.logo .. " Auto banking temporarily disabled for active writs") return end--<< CRAFTING WRIT COMPATIBILITY

function MyAddon.HasWritQuest()--<< CHECK FOR ACTIVE CRAFTING WRITS
	for quest = 1, MAX_JOURNAL_QUESTS do
		if GetJournalQuestType(quest) == QUEST_TYPE_CRAFTING then return true end
	end
	return false
end
your way obviously has more precision though.. just throwing this out there for ideas.
That was meant for masteroshi's PA Banking. He currently has a more precise fine tuned way of doing it. This method is more blunt force but would be compatiible with any and all current and future crafting addons which is why I went with it with my banking stuff.

In order to simplify the addon, and there are already lots of storage addons.
SDC did't have the deposit function at all, it can only withdraw a precise number of target products and materials. Luckily, I don't have to worry about deposits for the time being
There is a way, while traversing the items in package, to detect whether it is used for submitting daily craft writs. Then skip those items, I think it's better to make it a separate setting so that no need to make it compatible for each craft addon.

Maybe something like this.
Lua Code:
  1. --Quest part
  2. local DailyWritCondition = {--[[
  3.   [1] = {Index journalQuestIndex, Index conditionIndex}, --Each condition for one item
  4.   [2] = ...
  5.   ]]}
  6. local function GetCraftQuestCondition()
  7.   for i = 1, MAX_JOURNAL_QUESTS do
  8.     --Craft Type Quest
  9.     if select(10, GetJournalQuestInfo(i)) == QUEST_TYPE_CRAFTING then
  10.       --Is master craft quest? Return nil when not
  11.       if not GetQuestConditionMasterWritInfo(i, 1, 1) then
  12.         --Daily quest condition index by experience
  13.         for a = 1, 6 do
  14.           --Check target ItemId. Return 0 when void condition
  15.           if GetQuestConditionItemInfo(i, 1, a) ~= 0 then
  16.             table.insert(DailyWritCondition, {i, a})
  17.           end
  18.         end
  19.       end
  20.     end
  21.   end
  22. end
  23. --Done with quest detection
  24.  
  25. --Item part
  26. local function IsItemForDailyWrit(BagId, SlotId, QuestCondition)
  27.   local Link = GetItemLink(BagId, SlotId)
  28.   for i = 1, #QuestCondition do
  29.     if DoesItemLinkFulfillJournalQuestCondition(Link, QuestCondition[i][1], 1, QuestCondition[i][2], true) then
  30.       return true --The item for daily writ condition
  31.     end
  32.   end
  33.   --Not the item for daily writ condition
  34.   return false
  35. end

DoesItemLinkFulfillJournalQuestCondition() seem not to work for master writ, and it's unusual to open bank when doing master writs.
Just abandon determining whether items belong to master craft quest.
Report comment to moderator  
Reply With Quote
Unread 04/25/24, 12:16 PM  
Masteroshi430
 
Masteroshi430's Avatar
AddOn Author - Click to view AddOns

Forum posts: 185
File comments: 717
Uploads: 20
Originally Posted by MelanAster
I will try to support a table for that in next release.
True for need, nil for not need to take from bank

Currently, SDC will only attempt to obtain products and raw materials of cooking, enchanting, and alchemy from bank.
Lua Code:
  1. SimpleDailyCraft.BankTargetType ={
  2.   [3] = true,
  3.   [4] = true,
  4.   [5] = true,
  5. }
  6. SimpleDailyCraft.BankTargetType[CRAFTING_TYPE_ALCHEMY] == true
  7. SimpleDailyCraft.BankTargetType[CRAFTING_TYPE_BLACKSMITHING] == nil

But this table is updated by the quest condition
This means that it will change after pickup of items from bank

Or maybe PA prefers a table that doesn't change during the bank process
PA Banking will check that for every item it has to move so if it changes between items it doesn't matter, it's even better.
Report comment to moderator  
Reply With Quote
Unread 04/25/24, 08:55 AM  
sinnereso
AddOn Author - Click to view AddOns

Forum posts: 247
File comments: 92
Uploads: 4
Originally Posted by MelanAster
Originally Posted by sinnereso
This may not work for you masteroshi but I've been happy with it so far temporarily disabling my auto deposit function and no complaints so far.. Only negative is someone that likes to run around with active writs in they're journal for lengthy periiods.

Code:
if MyAddon.HasWritQuest() then df(MyAddon.logo .. " Auto banking temporarily disabled for active writs") return end--<< CRAFTING WRIT COMPATIBILITY

function MyAddon.HasWritQuest()--<< CHECK FOR ACTIVE CRAFTING WRITS
	for quest = 1, MAX_JOURNAL_QUESTS do
		if GetJournalQuestType(quest) == QUEST_TYPE_CRAFTING then return true end
	end
	return false
end
your way obviously has more precision though.. just throwing this out there for ideas.
That was meant for masteroshi's PA Banking. He currently has a more precise fine tuned way of doing it. This method is more blunt force but would be compatiible with any and all current and future crafting addons which is why I went with it with my banking stuff.

In order to simplify the addon, and there are already lots of storage addons.
SDC did't have the deposit function at all, it can only withdraw a precise number of target products and materials. Luckily, I don't have to worry about deposits for the time being
Last edited by sinnereso : 04/25/24 at 08:56 AM.
Report comment to moderator  
Reply With Quote
Unread 04/25/24, 08:37 AM  
MelanAster
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 53
Uploads: 4
Originally Posted by sinnereso
This may not work for you masteroshi but I've been happy with it so far temporarily disabling my auto deposit function and no complaints so far.. Only negative is someone that likes to run around with active writs in they're journal for lengthy periiods.

Code:
if MyAddon.HasWritQuest() then df(MyAddon.logo .. " Auto banking temporarily disabled for active writs") return end--<< CRAFTING WRIT COMPATIBILITY

function MyAddon.HasWritQuest()--<< CHECK FOR ACTIVE CRAFTING WRITS
	for quest = 1, MAX_JOURNAL_QUESTS do
		if GetJournalQuestType(quest) == QUEST_TYPE_CRAFTING then return true end
	end
	return false
end
your way obviously has more precision though.. just throwing this out there for ideas.
In order to simplify the addon, and there are already lots of storage addons.
SDC did't have the deposit function at all, it can only withdraw a precise number of target products and materials. Luckily, I don't have to worry about deposits for the time being
Report comment to moderator  
Reply With Quote
Unread 04/25/24, 08:00 AM  
sinnereso
AddOn Author - Click to view AddOns

Forum posts: 247
File comments: 92
Uploads: 4
This may not work for you masteroshi but I've been happy with it so far temporarily disabling my auto deposit function and no complaints so far.. Only negative is someone that likes to run around with active writs in they're journal for lengthy periiods.

Code:
if MyAddon.HasWritQuest() then df(MyAddon.logo .. " Auto banking temporarily disabled for active writs") return end--<< CRAFTING WRIT COMPATIBILITY

function MyAddon.HasWritQuest()--<< CHECK FOR ACTIVE CRAFTING WRITS
	for quest = 1, MAX_JOURNAL_QUESTS do
		if GetJournalQuestType(quest) == QUEST_TYPE_CRAFTING then return true end
	end
	return false
end
your way obviously has more precision though.. just throwing this out there for ideas.
Last edited by sinnereso : 04/25/24 at 08:16 AM.
Report comment to moderator  
Reply With Quote
Unread 04/25/24, 05:31 AM  
MelanAster
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 53
Uploads: 4
Originally Posted by Masteroshi430
Originally Posted by MelanAster
Sorry, I've only just started trying to write addons for ESO a short while ago.
I'm not sure how to deal with this kind of conflict problem in general.

Do I need to do anything about it, like have a readable table for PA at some point in SDC?
I need a more global boolean "SDC needs to take an item from bank" and then if true
what would be easy for me to work with would be a table with booleans by quest crafting type needing items from bank e.g. :
_SDCTable[CRAFTING_TYPE_BLACKSMITHING] = false,
_SDCTable[CRAFTING_TYPE_CLOTHIER] = false,
_SDCTable[CRAFTING_TYPE_ENCHANTING] = true, <- SDC needs an enchanting item from bank to complete a crafting quest
_SDCTable[CRAFTING_TYPE_ALCHEMY] = false,
_SDCTable[CRAFTING_TYPE_PROVISIONING] = false,
_SDCTable[CRAFTING_TYPE_WOODWORKING] = false,
_SDCTable[CRAFTING_TYPE_JEWELRYCRAFTING] = false,
I will try to support a table for that in next release.
True for need, nil for not need to take from bank

Currently, SDC will only attempt to obtain products and raw materials of cooking, enchanting, and alchemy from bank.
Lua Code:
  1. SimpleDailyCraft.BankTargetType ={
  2.   [3] = true,
  3.   [4] = true,
  4.   [5] = true,
  5. }
  6. SimpleDailyCraft.BankTargetType[CRAFTING_TYPE_ALCHEMY] == true
  7. SimpleDailyCraft.BankTargetType[CRAFTING_TYPE_BLACKSMITHING] == nil

But this table is updated by the quest condition
This means that it will change after pickup of items from bank

Or maybe PA prefers a table that doesn't change during the bank process
Last edited by MelanAster : 04/25/24 at 05:36 AM.
Report comment to moderator  
Reply With Quote
Unread 04/25/24, 04:29 AM  
Masteroshi430
 
Masteroshi430's Avatar
AddOn Author - Click to view AddOns

Forum posts: 185
File comments: 717
Uploads: 20
Originally Posted by MelanAster
Sorry, I've only just started trying to write addons for ESO a short while ago.
I'm not sure how to deal with this kind of conflict problem in general.

Do I need to do anything about it, like have a readable table for PA at some point in SDC?
I need a more global boolean "SDC needs to take an item from bank" and then if true
what would be easy for me to work with would be a table with booleans by quest crafting type needing items from bank e.g. :
_SDCTable[CRAFTING_TYPE_BLACKSMITHING] = false,
_SDCTable[CRAFTING_TYPE_CLOTHIER] = false,
_SDCTable[CRAFTING_TYPE_ENCHANTING] = true, <- SDC needs an enchanting item from bank to complete a crafting quest
_SDCTable[CRAFTING_TYPE_ALCHEMY] = false,
_SDCTable[CRAFTING_TYPE_PROVISIONING] = false,
_SDCTable[CRAFTING_TYPE_WOODWORKING] = false,
_SDCTable[CRAFTING_TYPE_JEWELRYCRAFTING] = false,
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: