function getItemsByActionIdOrItemId(uid, actionid, itemid, items)
if(not items) then
local items = {}
end
local item = getThing(uid)
if((not actionid or item.actionid == actionid) and (not itemid or item.itemid == itemid)) then
table.insert(items, item.uid)
end
if(isContainer(item.uid)) then
for bp_slot = 0, getContainerSize(item.uid) - 1 do
items = getItemsByActionIdOrItemId(getContainerItem(item.uid, bp_slot), actionid, itemid, items)
end
end
return items
end
function getPlayerItemsByActionIdOrItemId(cid, actionid, itemid)
local items = {}
if(not isPlayer(cid)) then
return items
end
for slot_id = CONST_SLOT_FIRST, CONST_SLOT_LAST do
local slot_item = getPlayerSlotItem(cid, slot_id)
if(slot_item.uid > 0) then
items = getItemsByActionIdOrItemId(slot_item.uid, actionid, itemid, items)
end
end
return items
end