PDA

View Full Version : Looter Xeno !!



kotletowski1
10-09-2014, 12:29 PM
Hello! I need Help in this script. All is ok except one... I mean that as open, for example, two bodies are collecting loot me and the only one that collected me from the second I have to close this one ... can anyone knows how to do to collect my loot, for example, five bodies at once? This is the script :

local LOOT_ITEMS = {"dragon scale mail", "gold coin"}
local LOOT_BACKPACK = "jewelled backpack"

-- [[ DO NOT CHANGE ANYTHING BELOW THIS LINE. ]] --

for i, LOOT_ITEM in ipairs(LOOT_ITEMS) do
LOOT_ITEMS[i] = Item.GetID(LOOT_ITEM)
end

local VALID_CONTAINERS = {3253, 2853, 5949, 5950, 2869, 2861, 8860, 8861, 14249, 2872, 2864, 9605, 14248, 9601, 10326, 10324, 10325, 7342, 7343, 2871, 2863, 2865, 2857, 2870, 2862, 10202, 5801, 10327, 9604, 3244, 9602, 9603, 5926, 5927, 2868, 2860}

while (true) do
local FROM_CONTAINER, TO_CONTAINER = Container.GetFirst(), Container.GetByName(LOOT_BACKPACK)

while (FROM_CONTAINER:isOpen() and TO_CONTAINER:isOpen()) do
local FROM_CONTAINER_CURRENT_SPOT = 0

if (FROM_CONTAINER:Name():match("^Dead") or FROM_CONTAINER:Name():match("^Slain")) then
while (FROM_CONTAINER:ItemCount() + 1 > FROM_CONTAINER_CURRENT_SPOT and FROM_CONTAINER_CURRENT_SPOT < 20) do
local FROM_CONTAINER_ITEM_DATA = FROM_CONTAINER:GetItemData(FROM_CONTAINER_CURRENT_ SPOT)

if (table.find(LOOT_ITEMS, FROM_CONTAINER_ITEM_DATA.id)) then
local TO_CONTAINER_CURRENT_SPOT = 0

while (TO_CONTAINER:ItemCount() + 1 > TO_CONTAINER_CURRENT_SPOT and TO_CONTAINER_CURRENT_SPOT < 20) do
local TO_CONTAINER_ITEM_DATA = TO_CONTAINER:GetItemData(TO_CONTAINER_CURRENT_SPOT )

if (table.find(LOOT_ITEMS, TO_CONTAINER_ITEM_DATA.id) or not table.find(VALID_CONTAINERS, TO_CONTAINER_ITEM_DATA.id)) then
if (not (table.find(LOOT_ITEMS, TO_CONTAINER_ITEM_DATA.id) and math.max(TO_CONTAINER_ITEM_DATA.count, 1) == 100)) then
FROM_CONTAINER:MoveItemToContainer(FROM_CONTAINER_ CURRENT_SPOT, TO_CONTAINER:Index(), TO_CONTAINER_CURRENT_SPOT, math.max(FROM_CONTAINER_ITEM_DATA.count, 1))
break
else
TO_CONTAINER_CURRENT_SPOT = TO_CONTAINER_CURRENT_SPOT + 1
end
else
TO_CONTAINER_CURRENT_SPOT = TO_CONTAINER_CURRENT_SPOT + 1
end
end
else
FROM_CONTAINER_CURRENT_SPOT = FROM_CONTAINER_CURRENT_SPOT + 1
end
end
end

FROM_CONTAINER = FROM_CONTAINER:GetNext()
end

wait(100)
end