Wrye Avatar

Master Merchant

Collection of Elder Scrolls Mods

Sharlikran xEdit Fallout shelter Wiki Wrye-Code-Collection xEdit documentation Wrye-Code-Collection Wiki

Master Merchant

Main Table of Contents



•  3.0.1 Authors

•  3.0.2 Version History

•  3.1 Master Merchant Extensions

• Shopping List - by MildFlavour

•  3.2 Scanning

•  3.2.1 Background Scanning Depreciated

•  3.2.2 Unintentional ZOS Bug

•  3.2.3 Three states of LibHistoire cache

• Unlinked

• Linking in progress

• Linked

•  3.2.4 Ten Day Scan

• Select A Guild

• Request only a few days at a time

• Rescan button

• When E is no longer showing

• LibHistoire GUI

•  3.2.5 Update Your Guild History Each Day

•  3.2.6 Resolving Unlinked Events

•  3.3 Master Merchant Window

•  3.3.1 Guild Sales and Personal Sales

•  3.3.2 Item Report

• What The Columns Mean

•  3.3.3 Seller's Report

• Top Buyers and Sellers

• Top Items

• Personal Sales - Seller's Report

• What The Columns Mean

•  3.3.4 Date Ranges

•  3.3.5 Refresh Button

•  3.4 Statistics Window

•  3.5 Settings

•  3.5.1 Master Merchant Window Options

•  3.5.2 Alert Options

• On-Screen and Chat Alert

•  3.5.3 Calculation Display Options

•  3.5.4 Data Management Options

•  3.5.5 Other Tooltip Options

•  3.5.6 Inventory Options

•  3.5.7 Guild Store Options

•  3.5.8 Debug Options

•  3.6 Misc

•  3.6.1 Popup Item Data

•  3.6.2 Level Quality Selectors

•  3.6.3 Erroneous timestamp

•  3.6.4 What is being scanned

• A few days of sales from 109 entries

• 4 days of sales from 8031 entries

•  3.6.5 Sales Week

•  3.7 Slash commands

•  3.7.1 Export Sales Report

•  3.8 Technical Information

•  3.8.1 Locating LibExecutionQueue

•  3.8.2 Backup Master Merchant Data

•  3.8.3 Uninstall Master Merchant 2.x

3.0.1 - Authors


Philgo68, Khaibit, dOpiate, sirinsidiator, Garkin, Aldanga, Sharlikran, Dolgubon


3.0.2 - Version History


Apparently for version 2.2.0 there was an experimental turbo mode added to MM. From the change log it appears that this was removed by request from Zenimax. However, even I noticed when you tried to download 2.2.1 which had turbo mode removed, you received a file named Master Merchant 2.2.0.zip. If you tried to engage turbo mode it was still available even if it didn't work as expected.


Aug 01 2020 after the kiosk flip was announced Philgo68 posted that he would be uploading a new version, which would be 2.3.1. From the start it had a small bug in it that prevented it from working. Then after that was fixed people started reporting that the Master Merchant window would not update when you were viewing your personal sales but that all guild sales was still updating properly.


Upon examination of the code 2.3.1 had turbo mode removed which was not really removed in 2.2.1 (2.2.0). In addition to that on the description page it was mentioned that there was Simple Indexing and Simple Scanning. Oddly those options included new options in the Addons menu to toggle the features on and off. These options were not present in 2.2.1.


This makes me believe that 2.3.1 was really intended to be the proposed 2.2.1 but somehow the upload never went through properly. I am glad Philgo68 uploaded the version as it has helped me understand the code a bit more.


3.1 - Master Merchant Extensions - Shopping List - by MildFlavour




Adds a new icon allowing you to view purchanes you make from guild stores.


shopping_list The Shopping List icon allows you to select the installed extension and view purchaces you have made from guild stores.


3.2 - Scanning


3.2.1 - Background Scanning Depreciated


As of version 3.0.0 there is no /mm missing and no background scan. The background scan would get hung up by repeated attempts to request more sales data from the server. When the server denied the request MM would continue to wait for the request to be approved.


After starting a new library LibGuildHistoryCache I observed that the cache mod would see some new sales. Usually there were only a few sales maybe 1 or 2 and occasionally less then 10. The cache mod would update showing that the guild history events were not duplicates but MM would not see them as new sales.


One other calculation made was to try and get the first entry in the guild history and the last. This was used to attempt to determine whether or not to scan from the start of the guild history array, or the end. Whether or not you have 1, 100, or more then 1000 events the first event will always be the same. All guild history events are appended onto the end of the list.


For reasons like these MM no longer uses a background scan as it attempted to scan from a specific point in time and loop over the guild history events.


3.2.2 - Unintentional ZOS Bug




Unfortunately from time to time ZOS introduces or reintroduces a bug in the saved vars where the apostrophe is converted to HTML code. Which will mean your sales may or may not display properly. Which is a game bug and you are out of luck until or unless they fix it.


Since this can occur I highly recomend changing your user name to only contain letters as it will make it easier for you in the long run.


This also includes creative names that contain things like Æ or æ. As those are not individual letters.


3.2.3 - Three states of LibHistoire cache - Unlinked




In the Unlinked state you can either wait for the server to grant the requests for offline data that LibHistoire requests, or you can manually request guild history for the time you were offline. - Linking in progress




Once LibHistoire has what it feels it needs, then it will begin processing the guild history events and attempt to link to the last known event. - Linked




Once LibHistoire has linked to its stored events you should see green text. This means that LibHistoire has finished processing the guild history.


You can still request additional history and ask LibHistoire to check the guild history for any missing sales events using the rescan button.


3.2.4 - Ten Day Scan


After upgrading to 3.x you will need to do a Ten Day Scan of all the guilds you are in. This ensures that LibHistoire has stored sales data for you to start working with. After doing a ten day scan for each guild you only need to request guild history for the time you have been offline.


Initially I had suggested requesting all the data at once. This seems to cause an issue for some users. Read this section carefully. - Select A Guild


When you first log in there won’t be much as far as guild history loaded in memory.




In order to manually request sales data you have to choose a guild and select All, not purchases. Then press E about every 3 seconds so you are not kicked from the game by the server. - Request only a few days at a time




You should be able to request two or three days of guild history at once. However, some users have seen issues requesting too much at one time. Each time you request a few days of data stop and, click the Rescan button. - Rescan button




The Rescan button is the equivalent of the old /mm missing and it will scan all the data loaded into memory so far. LibHistoire will skip any duplicate events as it scans guild history. - When E is no longer showing




Once you have scanned 10 days of sales then the option to press E will not be shown. The server will only allow you to request 10 days of data. Once you have done so click the Rescan Button to make sure LibHistoire processes all the events. - LibHistoire GUI




As you perform a ten day scan the LibHistoire GUI will update. It might even finish processing a certain amount of events. Do not click the small chain link showing in this screen shot. That will link to the current events loaded which for your first initial use of LibHistoire you do not want that to happen. You should only click the Rescan Button if you see it to ensure all events are scanned.


Scanning 10 days of history every few days or every week is pointless and a drain on the server.


3.2.5 - Update Your Guild History Each Day




Regardless of how long you have been offline you need to update your guild history. To obtain older sales data for any time you have been offline you can wait for the server to send the data to LibHistoire. How quickly the server provides the data depends on many things. Because of that I do not wait. I manually scan the guild history from the guild history tab by pressing E for Show More.


After I have enough guild history to cover the time I have been offline then I use the rescan button which asks LibHistoire to double check the sales loaded in memory are in the cache. Once LibHistoire has verified the sales data the text will turn green indicating that the sales events are linked.


3.2.6 - Resolving Unlinked Events




The above screen shot indicates that there is 28 days and 19 hours worth of missing time from unlinked events. When this happens you can only fix it by doing a Ten Day Scan.


To start request one day of data as shown in the screen shot for Request only a few days at a time. After you see one day of data then click the small chain link above sales as shown below.




After you click the chain link then you will be given a confirmation screen and you will want to click Confirm or press E to confirm the action.


Since the server only stores 10 days of data, you will not be able to retrieve sales more then 10 days old.


Once the chain link is clicked LibHistoire will begin processing sales for the time you have loaded into memory. If you have done as suggested, it will process about 1 days worth of sales.


Then repeat the process mentioned in the Ten Day Scan by requesting a day or two of data and then click the small Rescan button. Once the process is complete then remember to Update Your Guild History Each Day so this doesn't happen again.


This can happen in any guild however, this will occur in guilds with a high volume of sales per day more easily then in a guild with smaller amounts of sales.


3.3 - Master Merchant Window




search_box Search Box

people_icon Cycles through: Seller, All sales totals by Seller. Item Sold, Top selling ITEMS. Buyer, All purchase totals by Buyer.

toggle_seller_item Seller Info Guild Ranks, Item Info Your Info or All Info.

open_statistics_window Opens the Statistics Window.

mail_icon Sends mail to the author with an optional donation amount.

shopping_list The Shopping List icon allows you to select the installed extension and view purchaces you have made from guild stores.

money_bag The Moneybag icon means the purchaser is not a member of that guild.


Item Sold is only available from a Seller's Report.

Donations should be voluntary. People that struggle to make 25K gold a week, feel free to just say thanks. I'd rather receive a 50K donation from top sellers making millions a week.


3.3.1 - Guild Sales and Personal Sales


show_your_info show_all_info


First select what information you would like to see. Show Personal Sales will display info ONLY about You. Show Guild Sales will display data from all members of all of your guilds.


When the button says Show Guild Sales, that means you are currently viewing YOUR information and vice-versa. You can toggle back and forth between Personal Sales and Guild Sales while viewing any report.


3.3.2 - Item Report




If you have ever opened the Master Merchant window you have probably seen the list of your personal sales. This is an Item Report and if you click the People Icon you will change between the Buyer and the Seller. - What The Columns Mean


•  Buyer: The purchaser of the item.

•  Guild: The guild associated with the sale of the item.

•  Item Sold: To the left of the Item Sold is the items icon. The number indicates how many of that item was sold.

•  Sale Time: The approximate time the item was sold. The game stores all sales using epoch time so the UI just approximates the sale after the first hour.

•  Price: The price the item sold for. You can view the individual price by clicking the Show Unit Price button.


show_unit_price Toggle between the Unit Price and Total Sale.


3.3.3 - Seller's Report - Top Buyers and Sellers


sellers_report_people - Top Items


sellers_report_items - Personal Sales - Seller's Report




You can also view a Seller's Report for your personal sales only the items will be YOUR top selling items.

Clicking the People Icon will cycle through Seller, Buyer, and Item Sold. - What The Columns Mean


•  Rank: The rank of the member or item for the guild listed. For example, if you are viewing a seller's report and your rank is 7, it means you are the 7th biggest seller in the guild for the time selected. If you are viewing an item report for and Dreugh Wax is the 1st item in the list, then Dreugh Wax is the biggest seller for the guild showing.

•  Sales/Purchases: Total Sales or Purchases for that guild or member for the time selected.

•  Tax: Total Tax generated for that guild or member for the time selected.

•  Count: The number on the left is the number of transactions, while the number on the right is the number of items. For example @TradingDude had 10 Dreugh Wax transactions and sold 100 Dreugh wax total.

•  Percent: This shows what percent of total guild sales or purchases each member is responsible for.


3.3.4 - Date Ranges




There are several date ranges you can choose from. This Week, Last Week and Prior Week start from the ZOS trader flip for the current Sales Week. However, the last option is customizable under the Master Merchant settings under Calculation And Tip Options.


3.3.5 - Refresh Button




The Refresh button tells LibHistoire to send all the data it has in its cache. The more data in the cache, the longer it will take to transmit.


The refresh button is only a fail safe mechanism in case a user performs the initial Ten Day scan incorrectly and the data is not sent to MM for some reason. It should not be clicked every so often or every once and a while. Clicking this does not refresh the Master Merchant window or cause the server to send any Guild History.


3.4 - Statistics Window




3.5 - Settings


3.5.1 - Master Merchant Window Options




•  Open With Mail: Whether or not to open the Master Merchant Window when you open your mail.

•  Open With Store: Whether or not to open the Master Merchant Window when you interact with a guild store.

•  Show Full Sale Price: Show the full price of the sale rather then the amount after the store cut ir deducted.

•  Window Font: The font for the Master Merchant Window. You may have other fonts if you have mods that use LibMediaProvider like one of my other mods Advanced Nameplates.


If you sold a Crafting Motif 63: Dremora Bows for 11,000 currency_gold the master merchant window will show what you received in the mail which would be 10,230 currency_gold .


3.5.2 - Alert Options




•  On-Screen Alerts: Show On-Screen popup alerts when you receive a sale. See examples below.

•  Show Alerts in Cyrodiil: Enable or Disable Alerts in Cyrodiil. Usefull if you watch for specific PVP alerts and do not want MM Alerts to show up.

•  Chat Alerts: Show chat alerts when you receive a sale. See examples below.

•  Alert Sound: Choose the Alert sound to diferenciate it from other mod added Alerts.

•  Show Multiple Alerts: Investigating

•  Offline Sales Report: Show Alerts for sales received while offline. See note.

•  Display Listing Message: Show chat alert when you list an item for sale.


Show Multiple Alerts and Offline Sales Report may not function as intended with the addition of LibHistoire. However, you will still see notifications of sales as they are received. - On-Screen and Chat Alert





3.5.3 - Calculation Display Options




3.5.4 - Data Management Options




•  Use Sales History Size Only: This will ignore the minimum and maximum count for sales. If there are 4698 sales of an item with the day range selected for retaining data, then the sales will not be trimmed.

•  Sales History Size: The days range to retain data.

•  Min Item Count: The minimum count of sales for a specific item before the days range is considered. If you select 90 days to retain data, but you have seen only 1 sale and the only recorded sale is 120 days old it will not be trimmed.

•  Max Item Count: The maximum count of sales for a specific item before the days range is considered. If you select 90 days to retain data, and you choose 1000, then the oldest sale once the threshold is reached will be trimmed. Meaning if you have 1001 sales for an item, 1 will be trimmed and 100 will remain.

•  Minimal Indexing: Does not add search words for items. It only adds the player search word for displaying personal sales. Searching in the Master merchant window is still possible but will take extra time.


3.5.5 - Other Tooltip Options




•  Level/Quality Selectors: Adds Leve and Quality selectors to the tooltip window. You can bring up the window by clicking a link in chat or when you right click an item and choose Popup Item Data. See the Level Quality Selectors section for example of the selectors that appear on the tooltip window.


3.5.6 - Inventory Options




3.5.7 - Guild Store Options




3.5.8 - Debug Options




3.6 - Misc


3.6.1 - Popup Item Data




This contex menu is from having Master merchant and Awesome Guild Store installed. The menu will vary depending on the mods you have installed.


3.6.2 - Level Quality Selectors


I will try to update the selector so that there are graphics to click on but for now it is just text.


The images below show a Hat of a Mother's Sorrow and the Legendary version does not have buttons on the right because there is no Mythic version. The Epic version has selectors on both the left and right to view the Superior or the Legendary version.


While the selectors do not seem to be dependant on the sales in your Master Merchant Data, there may be unknown factors that prevent the selector from showing. The code is extreamly old and dates back to the introduction of the Champion Points system.


Hat of a Mother's Sorrow



Hat of a Mother's Sorrow



3.6.3 - Erroneous timestamp


When you see an erroneous timestamp, LibHistoire will handle this internally. It will not be processed until the timestamp is updated properly by the server.





LibHistoire will send the sale to MM after it checks that the erroneous timestamp is no longer present.


3.6.4 - What is being scanned


When LibHistoire is scanning the guild history it is obtaining the sales from all the guild history that you have loaded into memory. - A few days of sales from 109 entries




LibHistoire simply scan entries from the guild history. With another mod installed called Shissu's Guild Tools a count of the amount of entries is showing. As shown there are 109 entries which only covers a few minutes of sales. - 4 days of sales from 8031 entries




However, as shown in the above screen shot there are 8031 entries which covers 4 days of sales. If you feel you are missing sales from 7 days ago then you will need more sales showing on the guild history tab.


3.6.5 - Sales Week


As of August 11 2020 the kiosk flip is now every Tuesday. All sales totals are calculated from the time indicated by ZOS.


You should not try to calculate your sales yourself. Each sale is saved with the exact time stamp the sale occurred. All sales even a few seconds prior to the kiosk flip would not show if you selected to see sales from This Week.


On the day of the kiosk flip sales for This Week will only reset after Zenimax transmits the new kiosk flip time. This can occur several hours after the kiosk flip.


3.7 - Slash commands


3.7.1 - Export Sales Report




Master Merchant can export a general summary of sales for use with spreadsheets. Full disclosure I am not a spreadsheet guru so I can not help with this feature. To use the export feature choose a guild to work with, then select the time and range like This Week or Last Week. Then use /mm export # to export the guild's information. As an example the screen shot shows a 2 for the 2nd guild in your list, therefore the syntax would be /mm export 2.


Once exported the data is saved in MasterMerchant.lua in your SavedVariables folder.


Without Taxes:

["EXPORT"] = 
    ["version"] = 1,
    ["YourGuildName"] = 
        [1] = "@GuildMember&Sales&Purchaces&Rank",


With Taxes:

["EXPORT"] = 
    ["version"] = 1,
    ["YourGuildName"] = 
        [1] = "@GuildMember&Sales&Purchaces&Taxes&Rank",


Taxes is new as of 3.2.7 and you toggle the feature on in addon settings.


Since I have never used this feature with a spreadsheet I do not know how easy that is to use as Lua saves it. You may need to copy and paste it into another text file and use regular expressions to clean that up.


Some of my GMs have explained if this format changed it would break what they currently use so it will not be altered.


3.8 - Technical Information


3.8.1 - Locating LibExecutionQueue


LibExecutionQueue is included with Master Merchant as shown in the zip below.




LibExecutionQueue is sorted alphabetically by the base game.




If you have LibVotansAddonList installed then it will look close to the base game.




3.8.2 - Backup Master Merchant Data




To backup your Master Merchant data you will need to navigate to the SavedVariables folder. Usually C:\Users\Your User Name\Documents\Elder Scrolls Online\live. The files can be easily found going to MyDocuments in windows first.


I am sorry I don't know where it is located on a Mac.


Once you are in the SavedVariables folders, you will need to copy the 16 MMxxData files named MM00Data.kua to MM15Data.lua as shown in the screen shot. Copy these to a separate folder outside of SavedVariables and do not place them in a subfolder under SavedVariables.


3.8.3 - Uninstall Master Merchant 2.x


Currently there is some confusion about how to uninstall Master merchant 2.x and install 3.x. First you need to open minion. If you see both versions installed as shown below, uninstall both. The reason you uninstall both is because MM 3.x is a continuation of 2.x. It is the same mod with the same file names and the same folder names. Minion will not understand how to handle this.




If you manually install your mods, of if you want to know which folders belong to Master merchant, click the spoiler.


To see a larger image, right click the image and choose View Image.




When using Minion to uninstall Master Merchant right click and choose Uninstall.




Do not check that box or it will remove your MM data files! Only click Delete!




As you see above, both versions of Master merchant are now uninstalled.


You have to close Minion because it will be confused about uninstalling both versions.




Open Minion again and click Find More and search for Master Merchant 3.0 as shown above. Make sure the author's name is Sharlikran. Then click the Install button.


As noted on the description page you need to install LibAddonMenu, LibMediaProvider, LibGuildRoster, and LibHistoire.


I won't be showing how to install all the required libraries. If you need examples images of the two new libraries LibGuildRoster, and LibHistoire click the spoiler.


To see a larger image, right click the image and choose View Image.


To see a larger image, right click the image and choose View Image.




After you install Master Merchant 3.0 verify it is the only Master Merchant showing in Minion.