From 9012a4fb86890a2a2c45d2ed3434853e04bbf945 Mon Sep 17 00:00:00 2001 From: atomaka Date: Mon, 25 Jul 2011 16:31:34 -0400 Subject: [PATCH] Produce regex to check. NYF --- GemStacker.lua | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/GemStacker.lua b/GemStacker.lua index 7df4de0..5392086 100644 --- a/GemStacker.lua +++ b/GemStacker.lua @@ -1,26 +1,34 @@ GemStacker = LibStub('AceAddon-3.0'):NewAddon('GemStacker','AceConsole-3.0','AceEvent-3.0'); local core = GemStacker; +local lastGem = nil + function core:OnInitialize() end function core:OnEnable() - self:RegisterEvent('CHAT_MSG_TRADESKILLS','StackGems') + self:RegisterEvent('CHAT_MSG_TRADESKILLS','TrackGems') end -function core:StackGems(_,message) - --LOOT_ITEM_CREATED_SELF = "You create: %s."; /dump LOOT_ITEM_CREATED_SELF:gsub("%%s", "(.-)") - local gem = message:match(LOOT_ITEM_CREATED_SELF:gsub("%%s", "(.-)")) - print('found gem',gem) +function core:TrackGems(_,message) + --LOOT_ITEM_CREATED_SELF = "You create: %s."; /dump TRADESKILL_LOG_FIRSTPERSON:gsub("%%s", "(.-)") + lastGem = message:match(TRADESKILL_LOG_FIRSTPERSON:gsub("%%s", "(.+)")) + if lastGem == nil or lastGem == "" then return end + + print('TrackGems found',lastGem) + self:RegisterEvent('ITEM_PUSH','StackGems') +end +function core:StackGems() + print('StackGems stacking',lastGem) local sourceContainer,sourceSlot,destContainer,destSlot = -1,-1,-1,-1; for bag = 0,NUM_BAG_SLOTS do for slot = 1,GetContainerNumSlots(bag) do local itemId = GetContainerItemID(bag,slot) if itemId then local itemName,_,_,_,_,_,_,maxStack = GetItemInfo(itemId); - if gem == itemName and maxStack ~= 1 then + if lastGem == itemName and maxStack ~= 1 then local _,count = GetContainerItemInfo(bag,slot) if count == 1 and sourceContainer < 0 then sourceContainer = bag @@ -34,8 +42,12 @@ function core:StackGems(_,message) end end + print(sourceContainer,sourceSlot,destContainer,destSlot) if sourceContainer ~= -1 and destContainer ~= -1 then PickupContainerItem(sourceContainer,sourceSlot) PickupContainerItem(destContainer,destSlot) end + + lastGem = nil + self:UnregisterEvent('ITEM_PUSH') end \ No newline at end of file