LO

getStringBar(Vr,Vm,quant) - Barra de progresso

Por loladobolado, 21 de out. de 2016 em Mods, funções e outros

6
2.2k
21 de outubro de 2016 às 10:36

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:

FyEaTid.png (40 quadradinhos)

 

O legal é que dá pra você modificar a largura da barrinha, mas manter os mesmos valores, como na foto:

mjuYHSM.png (60 quadradinhos)

 

Daí você pode modificar os valores, como por exemplo, 7 de 10 em 20 quadradinhos:

qziaKmu.png

 

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:
iZeZztu.png
 
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!
LordbaxxL
21 de outubro de 2016 às 13:39

Utilizo bastante a função que você mencionou, realmente são inúmeras formas de criação e edição para se fazer utilizando-a. Parabéns por trazê-la ao fórum, alguns não a conhecem.

AdministradorA
21 de outubro de 2016 às 15:32

Eu usaria esse no efeito de completo:

 

(alt + 254)

■■■■■■

■■■■■■■■■■■

■■■■■■■■

 

Achei genial @loladobolado, obrigado por compartilhar.

rohfagundesR
21 de outubro de 2016 às 17:06

eu gosto desse code apesar de n usar
mas ai foi vc msm q fez?
pq eu ja vi esse code em outro forum
se foi vc q fez parabens

drigoboD
21 de outubro de 2016 às 19:45

Tbm já vi esse sistema a uns anos com a mesma funcionalidade, barra etc... 

Fica aí a dúvida, mas se foi você que fez, então parabéns

1 ano depois...
garepG
14 de fevereiro de 2018 às 18:37

da para fazer um modulo para o otclient com a barra.