Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

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.

1586174580897.png.b9fb8b5278690e8bdc1d271da74a7dbc.png

 

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo