Postado Abril 18, 2020 5 anos Olá Tibia King. Tudo bem ? Venho hoje pra trazer um script que encontrei em um outro fórum, ele será útil para implementar em seu servidor. Vamos deixa de conversa fiada e vamos ao que interessa. ? Informações. Esse script e feito pra você que precisa consultar todas as casas para um item específico. O script procura em todos os itens da casa por um item especificado por você e não importa se ele está oculto na mochila ou em outro lugar porque o encontrará. Script. data\talkactions\scripts\query_houses.lua Citar function onSay(player, words, param) if not player:getGroup():getAccess() then return true end if player:getAccountType() < ACCOUNT_TYPE_GOD then return false end local searchItemId = tonumber(param) for _, house in pairs(Game.getHouses()) do for _, tile in pairs(house:getTiles()) do for _, item in pairs(tile:getItems()) do if item ~= nil then local isFound = false if item:isContainer() then local items = item:getItemsById(searchItemId) isFound = #items > 0 else isFound = item:getId() == searchItemId end if isFound then local position = item:getPosition() player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Item position is: " .. position.x .. ", " .. position.y .. ", " .. position.z .. ".") end end end end end return false end <talkaction words="/queryhouses" separator=" " script="query_houses.lua" /> data\lib\core\container.lua (Coloque isto ao final do arquivo) Citar function Container.getItemsById(self, itemId) local list = {} for index = 0, (self:getSize() - 1) do local item = self:getItem(index) if item then if item:isContainer() then local rlist = item:getItemsById(itemId) if type(rlist) == 'table' then for _, v in pairs(rlist) do table.insert(list, v) end end else if item:getId() == itemId then table.insert(list, item) end end end end return list end Comando: /queryhouses 3082 Para consultar por um ID de item. Créditos. Erikas Kontenis - OTLAND 95% @amoxicilina 5% - por trazer pra cá. rs'
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.