Ir para conteúdo

[Encerrado] Bug no AUTOLOOT


willks123

Posts Recomendados

Pessoal alguem pode me ajudar resolver esse bug? -- Nao entendo muito de script, mas pelo que entendi esse erro acontece por que o char esta longe do corpo do bixo... E no script acho que esta para pegar se estiver proximo... Se puderem me ajudar, agradeço....

 

2h4dyd2.jpg

 

Spoiler

local function scanContainer(cid, position)
    local player = Player(cid)
    if not player then
        return
    end

    local corpse = Tile(position):getTopDownItem()
    if not corpse then
        return
    end

    if corpse:getType():isCorpse() and corpse:getAttribute(ITEM_ATTRIBUTE_CORPSEOWNER) == cid then
        for i = corpse:getSize() - 1, 0, -1 do
            local containerItem = corpse:getItem(i)
            if containerItem then
                for i = AUTOLOOT_STORAGE_START, AUTOLOOT_STORAGE_END do
                    if player:getStorageValue(i) == containerItem:getId() then
                        containerItem:moveTo(player)
                    end
                end
            end
        end
    end
end

function onKill(player, target)
    if not target:isMonster() then
        return true
    end

    addEvent(scanContainer, 100, player:getId(), target:getPosition())
    return true
end

 

 

Link para o comentário
Compartilhar em outros sites

Por curiosidade, o erro não está sendo no método .getsize?

for i = corpse:getSize() - 1, 0, -1 do

Na condição de repetição for a variável está recebendo o valor de .getsize() - 1, suponhamos que o getsize() retorne um valor igual a 0, i receberia um valor negativo que não é favorável para a condição de repetição. Já tentou remover este corpse:getSize() -1 ?

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
Em 04/12/2017 at 11:42, Rafael Gomes disse:

Por curiosidade, o erro não está sendo no método .getsize?


for i = corpse:getSize() - 1, 0, -1 do

Na condição de repetição for a variável está recebendo o valor de .getsize() - 1, suponhamos que o getsize() retorne um valor igual a 0, i receberia um valor negativo que não é favorável para a condição de repetição. Já tentou remover este corpse:getSize() -1 ?

uhm, Nao entendi bem, Como eu deveria deixar entao ?

for i = 0 do  ?

Link para o comentário
Compartilhar em outros sites

  • 4 months later...
Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...