Postado Janeiro 4, 2015 10 anos Bom dia Eu peguei esse tutorial e fiz igualzinho http://www.tibiaking.com/forum/topic/41693-pda-autoloot-igual-pxg/ Ae o autoloot funciona direitinho só que quando dropa 2 itens diferentes ou + (ex: 20 screws e 1 magnet) tem que clicar 2x pra pegar os 2 loots e aparece esse erro: Mostrar conteúdo oculto [04/01/2015 14:22:10] [Error - Action Interface] [04/01/2015 14:22:10] data/actions/scripts/Autoloot.lua:onUse [04/01/2015 14:22:10] Description: [04/01/2015 14:22:10] (luaDoRemoveItem) Item not found [04/01/2015 14:22:10] [Error - Action Interface] [04/01/2015 14:22:10] data/actions/scripts/Autoloot.lua:onUse [04/01/2015 14:22:10] Description: [04/01/2015 14:22:10] (luaDoPlayerAddItem) Item not found [04/01/2015 14:22:10] [Error - Action Interface] [04/01/2015 14:22:10] data/actions/scripts/Autoloot.lua:onUse [04/01/2015 14:22:10] Description: [04/01/2015 14:22:10] data/lib/050-function.lua:226: attempt to index a boolean value [04/01/2015 14:22:10] stack traceback: [04/01/2015 14:22:10] data/lib/050-function.lua:226: in function 'getItemNameById' [04/01/2015 14:22:10] data/actions/scripts/Autoloot.lua:21: in function <data/actions/scripts/Autoloot.lua:2>
Postado Janeiro 6, 2015 10 anos Pena que não estou mais brincando com ot. Se quiser pra o erro parar de aparecer, procure por: for x=0, (getContainerSize(item.uid)) do local itens = getContainerItem(item.uid, x) --if isInArray(toloot, itens.itemid) then table.insert(items, {i=itens.itemid, q=itens.type}) doRemoveItem(itens.uid) --break --end end E substitua por: for x=0, (getContainerSize(item.uid)) do local itens = getContainerItem(item.uid, x) --if isInArray(toloot, itens.itemid) then if itens.uid ~= 0 then table.insert(items, {i=itens.itemid, q=itens.type}) doRemoveItem(itens.uid) end --break --end end Não vai ser surpresa se não funcionar, to meio "aereo". Editado Janeiro 6, 2015 10 anos por Gabrielbsales (veja o histórico de edições) Att. Featzen.
Postado Janeiro 6, 2015 10 anos Em 06/01/2015 em 10:19, Gabrielbsales disse: Não vai ser surpresa se não funcionar, to meio "aereo". irei testar aki , aereo sei .... Minhas Gambiarras Mostrar conteúdo oculto [PDA] Pokedex Mostrando o Catch http://www.tibiaking.com/forum/topic/54998-pda-arrumando-a-dex/?view=findpost&p=323041
Postado Janeiro 7, 2015 10 anos Solução Antes de tudo: Não deve-se fazer isso em situações em que são checados os items de um container: for x=0, (getContainerSize(item.uid)) do Supondo que o container tenha 8 slots, o looping será executado 9 vezes (por começar no 0). Assim, seria verificado um slot que não existe, ocasionando um erro. Obs.: Os slots começam a ser contados no 0, e não no 1. O correto seria: for x=0, getContainerSize(item.uid) - 1 do A propósito, acho mais viável colocar um simples actionid na tag da action, ao invés dos ids das corpses dos pokémons. Aí, num onDeath, bastaria setar este aid na corpse. @topic O problema é o seguinte: ao remover um item da corpse, o seguinte passa a ocupar o slot do que foi removido. Por exemplo, na corpse de um Charizard encontra-se, no slot 0, 33 essences of fire, e no slot 1, 1 nail. Com este código de autoloot, ao remover as 33 essences of fire, o nail passa a ocupar o antigo slot das essences of fire (no caso, o slot 0). Assim, na próxima execução do looping, não haverá item algum no slot 1, causando o erro. Há algumas maneiras de corrigir isso. A que lhe recomendo seguir é a seguinte: Troque: for x=0, (getContainerSize(item.uid)) do local itens = getContainerItem(item.uid, x) --if isInArray(toloot, itens.itemid) then table.insert(items, {i=itens.itemid, q=itens.type}) doRemoveItem(itens.uid) --break --end end por: for x=0, getContainerSize(item.uid) - 1 do local itens = getContainerItem(item.uid, 0) --if isInArray(toloot, itens.itemid) then table.insert(items, {i=itens.itemid, q=itens.type}) doRemoveItem(itens.uid) --break --end end Editado Janeiro 7, 2015 10 anos por zipter98 (veja o histórico de edições) não respondo pms solicitando suporte em programação/scripting
Postado Janeiro 11, 2015 10 anos Autor A sua script não funfou não mas com suas dicas eu consertei A propósito poderia explicar isso de por um simples action id?
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.