Estou tendo um problema ao um script de AutoGold.
O script funciona porem gera o seguinte erro no console
TFS 1.2 - Protocolo 10.96
O Scripts:
creaturescripts:
function onKill(cid, target, lastHit)
local target_pos,target_name = getCreaturePosition(target),getCreatureName(target)
addEvent(executeAutoGold, 1000, cid, target_pos, target_name)
local loots = {2148, 2152, 2160}
if lastHit and getPlayerStorageValue(cid, 30001) == 1 then
addEvent(corpseRetireItems, 100, getCreaturePosition(target), cid, loots)
end
return true
end
Lib:
AUTO_LOOT_TAX = 0 -- Tax for using the service (in %) (min 0, max 100)
AUTO_LOOT_BANK = false -- Will the money go to the bank? If false, the money will go to the player
AUTO_LOOT_STORAGE = 38199 -- Storage of the status of the Auto Loot
function findItemsInContainer(ids, container)
local items_found = {}
local v_uids = {}
for i = 0, getContainerSize(container)-1 do
container_item = getContainerItem(container, i)
if isContainer(container_item.uid) then
local container_recursive = findItemsInContainer(ids, container_item.uid)
for a, b in ipairs(container_recursive) do
if not isInArray(v_uids, b.uid) then
table.insert(v_uids, container_item.uid)
table.insert(items_found, b)
end
end
end
if isInArray(ids, container_item.itemid) and not isInArray(v_uids, container_item.uid) then
table.insert(v_uids, container_item.uid)
table.insert(items_found, container_item)
end
end
return items_found
end
function executeAutoGold(cid, pos, target_name)
AUTO_LOOT_TAX = AUTO_LOOT_TAX > 100 and 100 or AUTO_LOOT_TAX < 0 and 0 or AUTO_LOOT_TAX
local corpse = getTileItemByType(pos, ITEM_TYPE_CONTAINER).uid
local total_count = 0
for a, b in ipairs(findItemsInContainer({ITEM_GOLD_COIN, ITEM_PLATINUM_COIN, ITEM_CRYSTAL_COIN}, corpse)) do
if b.itemid == ITEM_CRYSTAL_COIN then
total_count = total_count+b.type*10000
elseif b.itemid == ITEM_PLATINUM_COIN then
total_count = total_count+b.type*100
elseif b.itemid == ITEM_GOLD_COIN then
total_count = total_count+b.type
end
doRemoveItem(b.uid, b.type)
end
if AUTO_LOOT_BANK then
doPlayerSetBalance(cid, getPlayerBalance(cid)+math.ceil(total_count*(1-AUTO_LOOT_TAX/100)))
else
doPlayerAddMoney(cid, math.ceil(total_count*(1-AUTO_LOOT_TAX/100)))
end
return true
end
Erro Gerado no console:
.
Grato.