O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Takkun Gradient HUD

Iniciado por Takkun, 02/05/2014 às 14:42

02/05/2014 às 14:42 Última edição: 02/05/2014 às 14:52 por Takkun




Esse script adiciona uma HUD (HP, MP e EXP) com barras feitas via Gradient.

  • Fácil de customizar as cores e outras opções.
  • Código Refeito (Gera menos Lag que a versão anterior).



Nenhuma incompatibilidade conhecida.

Imagens
[close]

[box2 class=black title=Script]
#===============================================================================
# * [VXACE] Takkun Gradient HUD
#-------------------------------------------------------------------------------
# * Por Takkun
# * Versão: 1.0 BR
# * Lançada em: 02/05/2014
#===============================================================================
$centrorpg = [] if $centrorpg.nil?
$centrorpg << ["Takkun Gradient HUD",1.0]
#===============================================================================
# ■  Modulo de Configuração
#===============================================================================
module TakkunGradient
  Vocab_HP = "HP" #Nome que irá aparecer na barra de HP.
  Vocab_MP = "MP" #Nome que irá aparecer na barra de MP.
  Vocab_EXP = "EXP" #Nome que irá aparecer na barra de EXP.
  HP1 = Color.new(50,0,0) #Cor primária da barra de HP.
  HP2 = Color.new(222,26,50) #Cor secundária da barra de HP.
  MP1 = Color.new(50,60,60) #Cor primária da barra de MP.
  MP2 = Color.new(0,240,50) #Cor secudária da barra de MP.
  EXP1 = Color.new(141,63,180) #Cor primária da barra de EXP.
  EXP2 = Color.new(96,47,121) #Cor secudária da barra de EXP.
  Fundo1 = Color.new(0,0,0) #Cor primária do fundo das barras.
  Fundo2 = Color.new(240,240,80) #Cor secudária do fundo das barras.
  Fonte = "Trebuchet MS" #Fonte a ser usada nos textos.
  Fonte_Size = 20 #Tamanho da fonte a ser usada nos textos.
end
#==============================================================================
# ■  Fim - Modulo de Configuração
#==============================================================================
class Takkun_Gradient_HUD < Sprite
  def initialize(view)
  super(view)
    @ch1 = TakkunGradient::HP1
    @ch2 = TakkunGradient::HP2
    @cm1 = TakkunGradient::MP1
    @cm2 = TakkunGradient::MP2
    @ce1 = TakkunGradient::EXP1
    @ce2 = TakkunGradient::EXP2
    @back = TakkunGradient::Fundo1     
    @back2 = TakkunGradient::Fundo2
    self.bitmap = Bitmap.new(200,200)
    self.bitmap.font.name = TakkunGradient::Fonte
    self.bitmap.font.size = TakkunGradient::Fonte_Size
    self.z = 300
    update
  end
  def update
    super
    self.bitmap.clear
    actor = $game_actors[1]
    hp = $game_actors[1].hp
    mhp = $game_actors[1].mhp
    wb = 116 * hp / mhp
    self.bitmap.fill_rect(10, 10, 120, 10, @back)
    self.bitmap.fill_rect(11, 11, 118, 8, @back2)
    self.bitmap.fill_rect(12, 12, 116, 6, @back)
    self.bitmap.gradient_fill_rect(12, 12, wb, 6, @ch1, @ch2)
    self.bitmap.draw_text(10, 0, 200, 24, TakkunGradient::Vocab_HP)
    mp = $game_actors[1].mp
    mmp = $game_actors[1].mmp
    wb = 116 * mp / mmp
    self.bitmap.fill_rect(10, 30, 120, 10, @back)
    self.bitmap.fill_rect(11, 31, 118, 8, @back2)
    self.bitmap.fill_rect(12, 32, 116, 6, @back)
    self.bitmap.gradient_fill_rect(12, 32, wb, 6, @cm1, @cm2)
    self.bitmap.draw_text(10, 20, 200, 24, TakkunGradient::Vocab_MP)
    exp = $game_actors[1].exp.to_f
    lexp = $game_actors[1].next_level_exp.to_f
    wb = 116 * exp / lexp
    self.bitmap.fill_rect(10, 50, 120, 10, @back)
    self.bitmap.fill_rect(11, 51, 118, 8, @back2)
    self.bitmap.fill_rect(12, 52, 116, 6, @back)
    self.bitmap.gradient_fill_rect(12, 52, wb, 6, @ce1, @ce2)
    self.bitmap.draw_text(10, 40, 200, 24, TakkunGradient::Vocab_EXP)
 end
  def dispose
    self.bitmap.dispose
    super
  end
end
class Spriteset_Map
  alias :or_initialize :initialize
  def initialize
    @hud = Takkun_Gradient_HUD.new(@viewport2)
    or_initialize
  end
  alias :or_update :update
  def update
    @hud.update if Graphics.frame_count % 5 == 1
    or_update
  end
  alias :or_dispose :dispose
  def dispose
    @hud.dispose
    or_dispose
  end
end
[/box2]

Créditos:

  • Eu: Por criar o Script.
  • Pexavi: Por sua aula a muito tempo atrás que me ajudou a criar HUDs dessa maneira.

Ahh ficou legalzinho xD, ainda prefiro os com imagens, mas em si ficou atrativo para algo só com code e ainda colocou várias opções ;)

Citação de: Raizen online 02/05/2014 às 19:28
Ahh ficou legalzinho xD, ainda prefiro os com imagens, mas em si ficou atrativo para algo só com code e ainda colocou várias opções ;)

Obrigado Raizen! :DD
Sim irei fazer uma versão via imagens dessa HUD num futuro próximo. 'haha
Obrigado parceiro pelo seu comentário, pretendo fazer novas adições em breve.
Aquele abraço parceiro.

Takkun!-

Olá. Ainda sou bastante novato no VX Ace, e estou a tentar aprender Ruby. Olhando para este código, há algo que julgo não perceber muito bem e gostaria de saber se me podiam explicar :) A entrada "self.bitmap.fill_rect" basicamente determina o início de um novo rectângulo, e suponho que os quatro valores seguintes são de posição x, y, e as cores usadas nas barras, certo? Entretanto os valores do "self.bitmap.gradient" sugerem que o gradient começa a partir do x(12) e do y(12), mas não consigo entender a "dependência" do código - se eu não quisesse usar um gradiente (ou seja, usaria apenas cores sólidas), como seria o indicado? Sei que não pode ser uma simples questão de eliminar "self.bitmap.gradient_fill_rect" (mas penso estar associado aos valores @ch1 e @ch2)...

O lag é porque você redesenha os gráficos todo frame. Coloque uma condição para desenhar apenas se os valores mudarem e problema resolvido :ok:

ótimo sistema, eu realmente estou adorando seus scripts, sou iniciante de certa forma, mas adorei realmente esse, estava precisando mesmo.
VLW!!! :clap:

Citação de: ManecBR3 online 03/02/2016 às 17:06
ótimo sistema, eu realmente estou adorando seus scripts, sou iniciante de certa forma, mas adorei realmente esse, estava precisando mesmo.
VLW!!! :clap:
Outra coisa, como faço pra tirar e colocar a hud na hora que eu quiser?

O sistema de aviso de HP\MP fico bom, mas no caso de colocar uma barra de stamina e quando o jogador correr ou usar um ataque com um sistema abs, tem como usar esse scripts? ou pelo menos alguém conhece um que possa usar?  :wow:
Os scripts são como mulheres: são difíceis de entender e ao mínimo erro que você faça, ferra tudo.

HUD Minimalista porem tem um charme muito interessante, combina com qualquer temática de game :).

no meu não tá pegando

Citação de: nomefausoJOHN online 26/06/2019 às 17:38
no meu não tá pegando
É só colocar na área de scripts no RMVXAce, se você não especificar como fez e o que está acontecendo, não podemos te ajudar