Eaí.
Estava criando um sistema de pet por channels, daí senti que seria legal fazer com que tivesse uma barrinha de experiência
Ficará tipo assim:
(40 quadradinhos)
O legal é que dá pra você modificar a largura da barrinha, mas manter os mesmos valores, como na foto:
(60 quadradinhos)
Daí você pode modificar os valores, como por exemplo, 7 de 10 em 20 quadradinhos:
A função é a seguinte:
function getStringBar(Vr,Vm,quant) local retorno = {barra,min=Vr,max=Vm,porcentagem=math.floor((Vr/Vm)*100)} local Q = quant/Vm Vr = Vr*Q Vm = Vm*Q str = "[" local trigger = false for i = 1, Vm do if i <= Vr then str = str .. "= else if not trigger then str = str .. "|" trigger = true end str = str .. "-" end end retorno.barra = str..]" return retornoend Ela retornará o seguinte array: retorno = {
barra (que será a barrinha inteira, tipo [=====|----------]
min (que é o valor usado, como o 7 da terceira foto)
max (o valor máximo usado, como o 10 da terceira foto)
porcentagem (que é a porcentagem do 7 para o 10, no caso 70%)
}
Exemplo de uso:
local gsb = getStringBar(10,20,50)doPlayerSendTextMessage(cid, "4", gsb.min.." "..gsb.barra.." "..gsb.max.." ("..gsb.porcentagem.."%)")
Que dará o seguinte resultado:
Daí vai de sua imaginação!
Esclarecendo:
> getStringBar(valor,valor máximo,quantidade de quadradinhos)
Esta função não é muito simples de se usar, mas quis deixar retornando o array mesmo, até pra aumentar as possibilidades de uso.
Talvez ela seja uma função daquelas que você usa uma vez a cada vinte códigos, mas sempre é bom deixá-la por perto.
Valeu!