Posted by Jaellan on Tue, 30 Jun 2009 21:07:47
function bankGems() local itemCount = 39996 while itemCount < 40107 do for bag = 5, 11 do for slot = 1, GetContainerNumSlots(bag) do local itemLink = GetContainerItemLink(bag, slot) local name,_,_,_,_ = GetContainerItemInfo(bag, slot) local extract = gsub(itemLink, "\124", "") if name and string.find(extract, itemCount) then UseContainerItem(bag, slot) itemCount = itemCount + 1 end end end itemCount = itemCount + 1 end end
What Im trying to do is basically when I have my bank opened, I use the script and it'll find each gem (located by using the itemID, itemCount variable) and moves it into my bags. It works the first time I press it, but when I press it again, it won't do anything. The problem I found out was that if there's no gem at the slot before an occupied gem slot, the script seems to just stop working. Sort of like this:
[5,1] [5,2] [5,3] [5,4]
1st slot has a gem, 2nd slot does not, 3rd slot has gem, 4th slot has gem. The script only moves the gem in slot 1, but then stops. But if I fill the 1st and 2nd slot with a gem, it starts working again and therefore moves all 4 gems. Im completely stumped.
Posted by jnwhiteh on Sun, 05 Jul 2009 15:04:55
You don't have a check for
nil, so you should be getting an error. You should first enable that you have "Display Lua Errors" enabled under Interface Options -> Help.