Ir para conteúdo

Getcontainerslotsfree/getallcontainerfree


Vodkart

Posts Recomendados

São funções para retornar quantos slots livres a Bp ou as BP possui.

 

function getContainerSlotsFree(container) -- by vodka
return getContainerCap(container)-getContainerSize(container)
end
function getAllContainerFree(container)  -- by vodka
local containers,soma = {},0
for i = 0, getContainerSize(container)-1 do
local item = getContainerItem(container, i)
if isContainer(item.uid) then
table.insert(containers, item.uid)
end
end
for _, check in pairs(containers) do
soma = soma + getContainerSlotsFree(check)
end
return (soma + getContainerSlotsFree(container))
end

 

exemplo de talks

 

 


function onSay(cid, words, param)
local item = getContainerSlotsFree(getPlayerSlotItem(cid, 3).uid)
return doPlayerSendTextMessage(cid,18,'You have '..item..' slots free in your primary backpack')
end

 

nesse talk vai retornar quantos slot livres a primeira backpack tem, no caso á que está no slot dela.

 

 

 

 

 function onSay(cid, words, param)
local item = getAllContainerFree(getPlayerSlotItem(cid, 3).uid)
return doPlayerSendTextMessage(cid,18,'You have '..item..' slots free in your backpack')
end

 

nessa talk vai retornar quantos slots livres possui mesmo se tiver backpack dentro de backpack.

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

seria melhor usando recursividade na get all,pra pega todas as bags(ai so pegaria as que tives dentro da primeira,mas n as que estivem dentro dessas)

acho que assim funciona,n testei

function getAllContainerFree(container)  -- by vodka

local containers,soma = {},0

for i = 0, getContainerSize(container)-1 do

local item = getContainerItem(container, i)

if isContainer(item.uid) then

soma = soma + getAllContainerFree(item.uid)

end

end

return (soma + getContainerSlotsFree(container))

end[code]

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

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