Created
October 18, 2015 22:48
-
-
Save awestover89/e1d2065945328fb019c2 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| local inInstance = false; | |
| local instanceName, lootedMoney, vendorMoney, savedId; | |
| local lootableItems = {}; | |
| local frame = CreateFrame("FRAME", "InstanceProfitsFrame"); | |
| frame:RegisterEvent("ZONE_CHANGED_NEW_AREA"); | |
| frame:RegisterEvent("ADDON_LOADED"); | |
| frame:RegisterEvent("LOOT_OPENED"); | |
| frame:RegisterEvent("PLAYER_LOGOUT"); | |
| frame:RegisterEvent("GET_ITEM_INFO_RECEIVED"); | |
| local function eventHandler(self, event, ...) | |
| if (event == "ZONE_CHANGED_NEW_AREA") then | |
| local name, type, difficulty, difficultyName, _, _, _, instanceMapId, _ = GetInstanceInfo(); | |
| if ((type == "raid" or type == "party") and ignorezones[instanceMapId] == nil and not inInstance) then | |
| inInstance = true; | |
| instanceName = name; | |
| lootedMoney, vendorMoney = 0, 0; | |
| print("You have entered the " .. difficultyName .. " version of " .. name); | |
| end | |
| elseif event == "LOOT_OPENED" and inInstance then | |
| for i=1, GetNumLootItems() do | |
| local _, item, quantity = GetLootSlotInfo(i); | |
| if (quantity ~= 0) then | |
| name, link, quality, iLevel, reqLevel, class, subclass, maxStack, equipSlot, texture, vendorPrice = GetItemInfo(item); | |
| if (name ~= nil) then | |
| print("NAME " .. name); | |
| print("QTY " .. quantity); | |
| print("VEND PRICE " .. vendorPrice); | |
| vendorMoney = vendorMoney + (vendorPrice * quantity); | |
| else | |
| if (lootableItems[item] == nil) then | |
| lootableItems[item] = quantity; | |
| else | |
| lootableItems[item] = lootableItems[item] + quantity; | |
| end | |
| end | |
| else | |
| for line in item:gmatch("[^\r\n]+") do | |
| local number = 0; | |
| local denomination = ""; | |
| for word in line:gmatch("%w+") do | |
| if tonumber(word) ~= nil then | |
| number = word; | |
| else | |
| denomination = word; | |
| end | |
| end | |
| if denomination == 'Gold' then | |
| lootedMoney = lootedMoney + (number * 100 * 100); | |
| elseif denomination == 'Silver' then | |
| lootedMoney = lootedMoney + (number * 100); | |
| elseif denomination == 'Copper' then | |
| lootedMoney = lootedMoney + number; | |
| end | |
| end | |
| end | |
| end | |
| elseif event == "GET_ITEM_INFO_RECEIVED" and inInstance then | |
| print("ITEM INFO SERVER RESPONSE RECEIVED"); | |
| name, link, quality, iLevel, reqLevel, class, subclass, maxStack, equipSlot, texture, vendorPrice = GetItemInfo(arg1); | |
| local quantity = lootableItems[name]; | |
| print("NAME " .. name); | |
| print("QTY " .. quantity); | |
| print("VEND PRICE " .. vendorPrice); | |
| vendorMoney = vendorMoney + (vendorPrice * quantity); | |
| lootableItems[name] = 0; | |
| end | |
| end | |
| frame:SetScript("OnEvent", eventHandler); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment