Lol, bem legal mesmo parabéns reputado
- Fórum
- OTServ
- Recursos
- Scripting
- Mods, funções e outros
- Getcontainerslotsfree/getallcontainerfree
Getcontainerslotsfree/getallcontainerfree
Por Vodkart, 25 de ago. de 2012 em Mods, funções e outros
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

info
Grupo: Marquês
Registrado: 06/11/11
Posts: 1.1k
Reputação: +109
Char no Tibia: Stroked

kkk vodkart ganha rep por tudo omg, mais eu ainda n entendi pra q serve esse script...
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Nada mal, parabéns!
Bem útil até. Abraço.
É possível usar essas funções criadas em meu servidor? Como fazer para adiciona-las no servidor?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

É só adicionar as funções em:
Data > lib > 050-function.lua
Ok. Desculpe a ignorancia HASUHUHAS mas estou apenas começando a aprender scripts ^^
vlw.
info
Grupo: Conde
Registrado: 30/10/11
Posts: 625
Reputação: +101
Gênero: Masculino

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]






info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino
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)) endexemplo de talks
1°
nesse talk vai retornar quantos slot livres a primeira backpack tem, no caso á que está no slot dela.
2°
nessa talk vai retornar quantos slots livres possui mesmo se tiver backpack dentro de backpack.