Postado Abril 13, 2015 10 anos 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 retorno end 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! Editado Abril 13, 2015 10 anos por Godfather (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.