Advertisement
j311yf1sh

Untitled

Feb 4th, 2014
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.79 KB | None | 0 0
  1. function Sort:StartGbankSort()
  2.     if(GuildBankFrame and GuildBankFrame:IsShown()) then
  3.         TSM:Print("Starting to sort items")
  4.         Sort:GenerateGbankItems()
  5.         TSMAPI:CreateTimeDelay("GBankSort", 0.60,Sort.GbankSortRun, 0.60)
  6.     else
  7.         TSM:Print("Not at guild bank")
  8.     end
  9. end
  10.  
  11. TSM.IterationNumberGbankSort = 1
  12.  
  13. function Sort.GbankSortRun()
  14.    
  15.     local TableSize = #TSMAPI.GBankData
  16.    
  17.     local FreeBag, FreeSlot = Util:GetFreeBagSpace()
  18.  
  19.     if TSM.IterationNumberGbankSort <= TableSize then      
  20.         local Tab = TSMAPI.GBankData[TSM.IterationNumberGbankSort]["TabToMoveTo"]
  21.         local CurrentTab = TSMAPI.GBankData[TSM.IterationNumberGbankSort]["CurrentTab"]
  22.         local Slot = TSMAPI.GBankData[TSM.IterationNumberGbankSort]["Slot"]
  23.         --local Item = TSMAPI.GBankData[GenerateGbankItemsIterationNumber]["Item"]
  24.        
  25.         if Tab == nil or CurrentTab == nil then
  26.             TSM.IterationNumberGbankSort = TSM.IterationNumberGbankSort + 1
  27.             return
  28.         end
  29.        
  30.         SetCurrentGuildBankTab(Tab)
  31.         PickupGuildBankItem(CurrentTab,Slot)
  32.         print("Picked up item")
  33.         PickupContainerItem(FreeBag, FreeSlot)
  34.         SetCurrentGuildBankTab(Tab)
  35.        
  36.         TSMAPI:CreateTimeDelay("GBankSort2", 0.5, PlaceItem)
  37.         function PlaceItem()
  38.             TSMAPI:CancelFrame("GBankSort2")
  39.             UseContainerItem(FreeBag, FreeSlot)
  40.             print("Placed item into gbank")
  41.             TSM.IterationNumberGbankSort = TSM.IterationNumberGbankSort + 1
  42.         end
  43.     else
  44.         TSMAPI.GBankData = {}
  45.         TSM.IterationNumberGbankSort = 1
  46.         TSM:Print("Finished sorting items.")
  47.         TSMAPI:CancelFrame("GBankSort")
  48.     end
  49. end
  50.  
  51. function Sort:GenerateGbankItems()
  52.     TSMAPI.GBankData = {}
  53.     local   GenerateGbankItemsIterationNumber = 0
  54.     local NumTabs = GetNumGuildBankTabs()
  55.     local   Guild
  56.     local   Tab
  57.     local   Item
  58.    
  59.     if TSM.PlayerGuild == nil then
  60.         TSM.PlayerGuild = select(1,GetGuildInfo("player"))
  61.     end
  62.    
  63.     for CurrentTab = 1, NumTabs, 1 do
  64.         for Slot = 1, NUMBER_OF_GBANK_SLOTS, 1 do
  65.             Item = GetGuildBankItemLink(CurrentTab, Slot)
  66.             Guild, Tab = Util:CheckTabAndGuild(Item)
  67.            
  68.             if Guild == nil or Tab == nil then
  69.            
  70.             elseif CurrentTab == Tab then
  71.                 --TSM:Print("Correct Tab")
  72.             else
  73.                 if Guild == TSM.PlayerGuild then
  74.                     GenerateGbankItemsIterationNumber = GenerateGbankItemsIterationNumber + 1
  75.                     TSMAPI.GBankData[GenerateGbankItemsIterationNumber] = {}
  76.                     TSMAPI.GBankData[GenerateGbankItemsIterationNumber]["TabToMoveTo"] = Tab
  77.                     TSMAPI.GBankData[GenerateGbankItemsIterationNumber]["CurrentTab"] = CurrentTab
  78.                     TSMAPI.GBankData[GenerateGbankItemsIterationNumber]["Slot"] = Slot
  79.                     --TSMAPI.GBankData[GenerateGbankItemsIterationNumber]["Item"] = Item
  80.                     TSMAPI.GBankData[GenerateGbankItemsIterationNumber]["CurrentBagSlot"] = 0
  81.                     TSMAPI.GBankData[GenerateGbankItemsIterationNumber]["CurrentBag"] = 0
  82.                 else
  83.                     print("Guild not equal to Guild")
  84.                 end
  85.             end
  86.         end
  87.     end
  88.  
  89. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement