Ir para conteúdo
  • 0

ajuda autoloot doPlayerAddItemStacking


Scizorgame

Pergunta

Venho aqui para pedir que manje mais me ajude a corrigir essa função/sistema e se possivel aprimora-la, eu tentei arrumar isso de varios modos e no processo acabei bugando ainda mais até voltar a onde estava...

 

Esse sistema é o sistema do Mudrock que pode ser encontrado aqui.

 

\/ -- EDITADO -- \/

1)BUG CORRIGIDO

2)Aprimorar sistema se possivel

 

Se possivel aprimorar de uma forma em que se o loot x estiver em uma bag todos os proximos x vão tambem para essa bag ou para uma bag depois dessa quando a bag lotar.

Exemplo: você tem uma charizard bag com seeds conforme você vai pegando seeds elas vão agrupando nessa bag sem voltar pro inventario a cada 100 e quando lotar a bag inteira de seeds se você tiver uma outra bag dentro da charizard bag as seeds vão para essa nova bag.

 

O BUG

 

O bug era o seguinte, quando um player pegava um item do loot para o inventario e ele tinha 100 desse item e depois uma quantidade menor que 100 o item não vinha.

por exemplo:

Você tem primeiro um slot com 47 seeds e depois outro(s) com 100 seeds --sistema funcionava normalmente

Você tem um slot com 100 seeds e depois outro com 47 seeds --sistema não funcionava e o item sumia

 

 

CORREÇÃO

 

trocar a função doPlayerAddItemStacking no lib/some functions.lua por essa:

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
local it = getThing(x)
if getThing(x).type < 100 then
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
end
else
return doPlayerAddItem(cid, itemid, quant)
end
if piles == #item then
doPlayerAddItem(cid, itemid, quant)
end

end

 

Editado por Scizorgame
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Desculpa revivr topico , mais esse script ainda tem o seguinte bug, se dentro da bp do player tiver outra bp, e a bp principal do cara lotada, ele não adiciona os novos itens.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...