Download
(46 Kb)
Download
Updated: 09/11/17 01:42 PM
Pictures
File Info
Compatibility:
Horns of the Reach (3.1)
Updated:09/11/17 01:42 PM
Created:05/20/16 11:36 AM
Monthly downloads:22
Total downloads:4,275
Favorites:4
MD5:
Guild Sales Quota-discontinued
Version: 3.1.1
by: ziggr [More]
Does your guild enforce a sales quota? Use Master Merchant to see top sellers? If so, you can do all this from within Master Merchant and do not need this add-on.

But if you also want to record sales to a spreadsheet, that's where this add-on comes in.

This add-on scans Master Merchant sales history, summarizes gold totals for your guild's sellers and buyers over last week, then writes that to a SavedVariables file. It can then convert that SavedVariables file to a comma-separated-value file suitable for import into a spreadsheet.

It also tracks the guild roster, noting when a new member joins, so that you can give new members a bit of a grace period before you enforce quotas. (This tracking can take a couple weeks to become useful, since "joined" date is really "joined or first ran Guild Sales Quota 3.1" date.)

Column list:
  • guild name
  • saved time range begin
  • saved time range end
  • player account @name
  • sold: gold earned in the guild trader last week
  • bought: gold spent in the guild trader last week
  • is a guild member? Many buyers aren't members.
  • is a newbie? Anyone who joined in the last 10 days.
  • joined: when did they join the guild?
  • columns to help you audit which sales contributed to the total for the reported week: sales count, first/last sales time, buyer, amount.

Instructions:
  1. Click "Save Data Now" button. Add-on will scan Master Merchant and guild membership lists.
  2. Log out (or relog). ESO will then save data, writing SavedVariables/GuildSalesQuota.lua.
  3. From a terminal window, run
    % cd ~/Documents/Elder Scrolls Online/live/AddOns/GuildSalesQuota
    % lua GuildSalesQuota_to_csv.lua
    (Or drag and drop GuildSalesQuota_to_csv.lua onto lua52.exe) This creates SavedVariables/GuildSalesQuota.csv
  4. Import GuildSalesQuota.csv into a spreadsheet.

GuildSalesQuota_to_csv.lua requires that you have downloaded and installed a standalone Lua interpreter, presumably from lua.org.


New for 3.1: no longer integrates with Shissu's Guild Tools. No longer requires the large suite of Shissu tools just to track a single "joined guild date".

Not 100% Accurate: we have occasional reports of sales not appearing in all members' Master Merchant history. This can cause Guild Sales Quota to underreport how much a guild member sold. So if a guild member rebuts with "Hey, I sold a 10k motif page last week!", trust your fellow guildie, not Guild Sales Quota.

--Z
3.1.1 2017-09-10
  • Replace Shissu with our own roster tracker.

2.7.4 2017-03-28
  • Recently added "rank" column now includes rank names for all ranks, whether custom or default. Thank you to Ayantir's GMen and Rushinator for the pointers.

2.7.3 2017-03-28
  • Add "rank" column. Custom rank titles included, so you get "3 Veteran" instead of just "3". But non-custom rank titles, I have no idea how to get from the ZOS API, so you're stuck with "1" instead of "1 Guildmaster". Sorry.

2.7.2 2017-02-18
  • Bugfix: delay Master Merchant calls until after M.M. has a chance to fully initialize. Avoids "attempt to index a nil value
    stack traceback:" crash in call to MasterMerchant:ActiveSettings(). Thank you @Rushinator for reporting it and helping me test the fix.

2.7.1 2017-02-17
  • Remove GuildGoldDeposits integration. Too inaccurate to be useful. Easier to track deposits/raffle tickets elsewhere.
  • Add "Date Options" dropdown menu to match Master Merchant's list of date options, so that you can export Today, Yesterday, This Week, Last Week, All History, or other date ranges. Larger time scales might exceed Lua memory or SavedVariables limits.

2.6.4 2016-12-20
  • Add 5 hours of slop for GuildGoldDeposits integration, so that gold deposits/raffle ticket purchases made for Sunday raffles will still count towards last week's quota. Yes this implies that a single ticket purchase during the slop range will erroneously meet TWO week's quotas. It's either this or you have to tell the add-on which exact ticket purchase was the cutoff. That's no fun.

2.6.3 2016-10-28
  • Add sale_ct, first/last sale columns, to help with auditing. With this data you can go to Master Merchant, filter on the seller, and identify exactly which sales contributed to the reported week's total.

2.6.2 2016-10-18
  • Add "is_newbie", "joined", and "gold_deposited" columns

2.6.1 2016-10-05
  • Increment API version for ESO 2.6 (One Tamriel). No other changes.

2.5.1 2016-08-06
  • Increment API version for ESO 2.5 (Shadows of the Hist).
  • Fix nil value error for players with multiple ESO accounts.
    Code:
    lua: GuildSalesQuota_to_csv.lua:138: attempt to index a nil value (global 'guild_name')
    stack traceback:
        GuildSalesQuota_to_csv.lua:138: in main chunk
        [C]: in ?

2.4.1 2016-05-31
  • Increment API version for ESO 2.4 (Dark Brotherhood). No other changes.

2.3.11.1 2016-05-20
Initial release.
Optional Files (0)


Archived Files (11)
File Name
Version
Size
Uploader
Date
2.7.4
46kB
ziggr
03/28/17 10:23 PM
2.7.3
46kB
ziggr
03/28/17 05:58 PM
2.7.2
45kB
ziggr
02/18/17 06:27 PM
2.7.1
45kB
ziggr
02/17/17 06:20 PM
2.6.4
45kB
ziggr
12/20/16 09:24 PM
2.6.3
45kB
ziggr
10/28/16 02:02 PM
2.6.2
44kB
ziggr
10/18/16 11:24 PM
2.6.1
42kB
ziggr
10/05/16 07:58 PM
2.5.1
42kB
ziggr
08/06/16 05:10 PM
2.4.1
42kB
ziggr
05/31/16 08:02 PM
2.3.11.1
42kB
ziggr
05/20/16 11:36 AM


Post A Reply Comment Options
Unread 01/19/17, 07:44 PM  
ziggr
 
ziggr's Avatar
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 275
Uploads: 10
Originally Posted by Rushinator
I would like to request (if possible) for the addon to also extract the ranks for each member.
Hm. Certainly possible. I'll keep it in mind. Until then, there might be other roster management add-ons that export this data, which you can then join in Google sheets via vlookup() or something similar.

Originally Posted by Rushinator
I was wondering if it would be possible to add other time range options in addition to "last week" such as the "last 30 days" or "this week"
Quite possible. You can do this in code today, pick any of Master Merchant's time ranges. See GuildSalesQuota:CalcLastWeeksTS() and change "fourStart"/"fourEnd" to "oneStart"/"oneEnd" or whatever:

Code:
function GuildSalesQuota:CalcLastWeekTS()
                        -- Let MM calculate start/end times for "Last Week"
    local mmg = MMGuild:new("_not_really_a_guild")
    self.last_week_begin_ts = mmg.fourStart    ← HERE
    self.last_week_end_ts   = mmg.fourEnd      ← HERE
    ...
MM sets those constants in MasterMerchant_Guild.lua, MMGuild:New(). I leave it to you to pore over that code and decide which time range you desire.

I'll think about adding a UI knob within GuildSalesQuota to let you change this without editing Lua source code.
Report comment to moderator  
Reply With Quote
Unread 01/19/17, 03:50 AM  
Rushinator

Forum posts: 0
File comments: 34
Uploads: 0
Hi! First off I love the addon! I've been able to do a lot with the data it gives me.

I would like to request (if possible) for the addon to also extract the ranks for each member. This would be very useful for me as it would allow me (combined with sales/gold deposit data) to automatically see who needs a promotion or demotion thanks to some formulas I wrote in google sheets. Currently I go member by member so this would be great to have and would save me a lot of time!

Also, I was wondering if it would be possible to add other time range options in addition to "last week" such as the "last 30 days" or "this week" (even though the data would be incomplete it would let me update my sheet more often). If this is a UI issue, I would be perfectly happy with just knowing where to change it in Notepad++ (I don't know if that is a viable alternative).

Thank you again!
Last edited by Rushinator : 01/19/17 at 06:28 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: