Veja este tópico : LINK
info
Grupo: Lorde
Registrado: 22/07/12
Posts: 2.2k
Reputação: +453
Char no Tibia: Kissy

Esse system de autoloot que está nesse tópico é antigo e precisa de talkaction, oque eu estou usando é automatico e está funcionando perfeitamente o unico problema é que só puxa de loot em loot ao ínves de puxa todos loots de uma vez
UP
UP
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

@@Neymar Jr, tenta assim:
function onUse(cid, item, frompos, item2, topos)
if getItemAttribute(item.uid, "corpseowner") ~= cid then
doPlayerSendCancel(cid, "Não foi você que matou esse pokemon.")
return true
end
local items = {}
for x = 0, getContainerSize(item.uid) do
local itens = getContainerItem(item.uid, 0)
if itens and itens.uid > 0 and itens.itemid ~= 0 then
items[#items + 1] = {i = itens.itemid, q = itens.type}
doRemoveItem(itens.uid)
end
for y=1, #items do
doPlayerAddItemStacking(cid, items[y].i, items[y].q)
doPlayerSendTextMessage(cid, 20, "Looted " .. items[y].q .. "x " .. getItemNameById(items[y].i) .. ".")
end
if #items > 0 then
return true
else
return false
end
end
end
Editado Agosto 7 por Bruno Minervino
info
Grupo: Conde
Registrado: 14/04/15
Posts: 956
Reputação: +333
Gênero: Masculino

Esse system de autoloot que está nesse tópico é antigo e precisa de talkaction, oque eu estou usando é automatico e está funcionando perfeitamente o unico problema é que só puxa de loot em loot ao ínves de puxa todos loots de uma vez
UP
UP
Cara isto deve ser algum problema com seu tfs ou algum script dando conflito ou até mesmo vc colocou errado! porque eu testei várias vezes e puxava tudo de uma vez!
Cara isto deve ser algum problema com seu tfs ou algum script dando conflito ou até mesmo vc colocou errado! porque eu testei várias vezes e puxava tudo de uma vez!
Eu coloquei certinho , só que está puxando de 1 em 1 grupo de item
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

Eu coloquei certinho , só que está puxando de 1 em 1 grupo de item
Você tentou usar o que eu postei?
Você tentou usar o que eu postei?
aquele é com comando e esse meu é automatico
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

aquele é com comando e esse meu é automatico
Man, eu refiz o seu e postei aqui no tópico....
Presta atenção ai...
Testa pra ver se foi, apenas a função onUse...a outra não teve necessidade de alteração.
Man, eu refiz o seu e postei aqui no tópico....
Presta atenção ai...
Testa pra ver se foi, apenas a função onUse...a outra não teve necessidade de alteração.
Desculpa não tinha visto , mais testei e está dando esse erro e o item some
[07/08/2015 13:26:25] [Error - Action Interface] [07/08/2015 13:26:25] data/actions/scripts/Autoloot.lua:onUse [07/08/2015 13:26:25] Description: [07/08/2015 13:26:25] data/actions/scripts/Autoloot.lua:16: attempt to concatenate field 'q' (a nil value) [07/08/2015 13:26:25] stack traceback: [07/08/2015 13:26:25] data/actions/scripts/Autoloot.lua:16: in function <data/actions/scripts/Autoloot.lua:1>
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

Desculpa não tinha visto , mais testei e está dando esse erro e o item some
[07/08/2015 13:26:25] [Error - Action Interface] [07/08/2015 13:26:25] data/actions/scripts/Autoloot.lua:onUse [07/08/2015 13:26:25] Description: [07/08/2015 13:26:25] data/actions/scripts/Autoloot.lua:16: attempt to concatenate field 'q' (a nil value) [07/08/2015 13:26:25] stack traceback: [07/08/2015 13:26:25] data/actions/scripts/Autoloot.lua:16: in function <data/actions/scripts/Autoloot.lua:1>
Editei, da uma olhada...
Editei, da uma olhada...
Está a mesma coisa do original, puxando um item de cada vez
ex: se tiver 2 items e o player aperta apenas 1 vez no corpo ai só vai vim um item , eu queria que viesse os items todos do loot apenas do primeiro clique
UP
UP
info
Grupo: Marquês
Registrado: 03/02/13
Posts: 1.2k
Reputação: +254
Gênero: Masculino
Char no Tibia: Partiu Baladinha

Tópico Movido
Este tópico foi movido de "OTServ → Suporte OTServ → Suporte Scripting"
para "OTServ → Suporte OTServ → Suporte Scripting → Pedidos e dúvidas resolvidos - Scripting".





info
Grupo: Campones
Registrado: 13/06/15
Posts: 47
Reputação: +3
Olá estou usando um auto loot system 100% que o @zipter98 postou aqui no fórum , mais ele está apenas puxando um item de cada vez pra backpack , teria como colocar pra puxar todos os loots que estão no corpo do pokémon pra a backpack?
parte na lib:
function doPlayerAddItemStacking(cid, itemid, quant) local item = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid) local piles = 0 if #item > 0 then for i,x in pairs(item) do if getThing(x).type < 100 then local it = getThing(x) doTransformItem(it.uid, itemid, it.type+quant) if it.type+quant > 100 then doPlayerAddItem(cid, itemid, it.type+quant-100) end else piles = piles+1 end break end else return doPlayerAddItem(cid, itemid, quant) end if piles == #item then doPlayerAddItem(cid, itemid, quant) end endscript do action:
--local toloot = {11441, 11441, 11443, 11444, 11445, 11446, 11447, 11448, 11449,11450, 11451, 11452, 11453, 11454, 12618, 12232, 12244} function onUse(cid, item, frompos, item2, topos) if getItemAttribute(item.uid, "corpseowner") ~= cid then doPlayerSendCancel(cid, "Não foi você que matou esse pokemon.") return true end local items = {} for x=0, (getContainerSize(item.uid)) do local itens = getContainerItem(item.uid, 0) if itens and itens.uid > 0 and itens.itemid ~= 0 then --if isInArray(toloot, itens.itemid) then table.insert(items, {i=itens.itemid, q=itens.type}) doRemoveItem(itens.uid) --break --end end for y=1, #items do doPlayerAddItemStacking(cid, items[y].i, items[y].q) doPlayerSendTextMessage(cid, 20, "Looted "..items[y].q.."x "..getItemNameById(items[y].i)..".") end if #items > 0 then return true else return false end end end