Postado Dezembro 24, 2014 10 anos vamos analisar o erro que deu: [24/12/2014 17:18:36] (luaDoRemoveItem) Item not found ele tentou remover o item mas não havia item. Pra resolver isso vc precisa fazer duas coisas bem simples, pegar o uid do item coletado (não sei se a função já faz isso automaticamente) e fazer a checagem se aquele uid é válido. ficaria assim sem o callback: for posx = 490,496 do -- checar posição X, começo e final da sala for posy = 498,503 do -- checar posicao Y, começo e final da sala local pos = {x=posx, y=posy, z=5} local limpar = getTileItemById(pos, 1739) if limpar > 0 then doRemoveItem(limpar.uid) end end end se der erro só coloca ali na checagem if limpar.uid > 0 then Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Dezembro 25, 2014 10 anos Autor Essa combinação aqui deu certo @White: function onStepIn(cid) for posx = 490,496 do -- checar posição X, começo e final da sala for posy = 498,503 do -- checar posicao Y, começo e final da sala local pos = {x=posx, y=posy, z=5} local limpar = getTileItemById(pos, 1903) if limpar.uid > 0 then doRemoveItem(limpar.uid) end end end return TRUE end Mas acabei de perceber um detalhe adicional. Como faço para remover vários itens selecionado.Ex: Em uma sala tenho Itens 1, 2, 3, 4 e 5. Quero remover apenas os Itens 1, 2, 3 e 5. Queria uma tabela, onde eu possa adicionar os IDs dos itens que eu quero remover. Editado Dezembro 25, 2014 10 anos por Frenesy (veja o histórico de edições)
Postado Dezembro 25, 2014 10 anos Solução Mas acabei de perceber um detalhe adicional. Como faço para remover vários itens selecionado. Tente: function onStepIn(cid) local items = {1903, 1904, 1905} for posx = 490, 496 do for posy = 498, 503 do local pos = {x=posx, y=posy, z=5} for i = 1, #items do local limpar = getTileItemById(pos, items[i]) if limpar.uid > 0 then doRemoveItem(limpar.uid) end end end end return true end The corrupt fear us. The honest support us. The heroic join us.
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.