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

loladobolado
em Mods, funções e outros

loladobolado

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/06/09Posts: 1

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!

Lordbaxx

Imperium Project
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 01/07/13Posts: 521

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.

LOGO OFICIAL.png

Administrador

xTibia 2017
avatar
Administrador
Administrador

INFOS

Grupo: AdministradorRegistrado: 09/07/05Posts: 5780Gênero: Outro

Eu usaria esse no efeito de completo:

 

(alt + 254)

■■■■■■

■■■■■■■■■■■

■■■■■■■■

 

Achei genial @loladobolado, obrigado por compartilhar.

DICA

Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.

 

 

rohfagundes

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 10/02/11Posts: 377

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

drigobo

Spriter Aprendiz
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/04/09Posts: 80Gênero: MasculinoChar no Tibia: Não jogo

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

PixelArt é um Estouro!
Acesse minha Galeria

 

garep

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 08/01/06Posts: 118Char no Tibia: Bahanot

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