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

SH HUD Personalizavel 1.0

Iniciado por LoboShow, 23/01/2013 às 17:26

23/01/2013 às 17:26 Última edição: 23/01/2013 às 17:28 por lobozero
SH HUD Personalizavel v1.0

Compativel com: RMVX
Compatibilidade: ?
Facilidade de uso: ?
Lag gerado: desprezível

[box class=titlebg]
Para que serve o script
[/box]
Script de HUD que utiliza imagens. Simples, fácil e sem lag!
Funções: Mostra o HP, MP, os status do personagem, o nome.

[box class=titlebg]
Instruções
[/box]
Copie o script acima do Main e estas imagens.
SeuProjeto/Graphics/System



(São TRÊS imagens ai em cima, então salve todas)
Renomeie como quiser e depois configure no script com os nomes das imagens.

[box class=titlebg]
Imagens
[/box]


[box class=titlebg]
Download
[/box]
#==============================================================================|
# SH HUD Personalizavel v1.0                                                   |
#  Craido por: Shepher                                                         |
#------------------------------------------------------------------------------|
# Configurações abaixo do: module Shepher_HUD                                  |
#  Essa HUD mostra apenas as informações do personagem principal               |
# Atualizada apenas quando necessário, sem lag.                                |
#  Agradecimentos: Rafidelis '-'                                               |
#==============================================================================|
module Shepher_HUD
# Imagem da barra de HP
Barra_HP = "HP-Bar"
# Imagem da barra de MP
Barra_MP = "MP-Bar"
# Imagem do fundo das barras
Base = "Bars-Base"
# Switch que ativa / desativa a HUD
HUD_Switch = 0 # Deixe 0 Para aparecer sempre.
# Opacidade da janela | Recomendo 0
Opacidade = 0
# Botão que mostra/nao mostra a hud!
Ativar_Botao = Input::R
end
class Window_HUD < Window_Base  
  def initialize
    super(0, 0,270, 120) #280,120
    self.opacity = (Shepher_HUD::Opacidade)
    actor = $game_party.members[0]
    @status = [actor.hp,actor.mp,actor.states]
    refresh
  end

  def update
    actor = $game_party.members[0]
    status = [actor.hp,actor.mp,actor.states]  
    if @status != status
      refresh
      show_state(actor,105,0)
      @status = status
    end
  end
  def refresh
    actor = $game_party.members[0]
    draw_hp(actor, 95, 25)
    draw_mp(actor, 95, 50)
    draw_actor_face(actor, 0, 0)
    show_state(actor, 105, 0)
    draw_actor_name(actor, 10,0)
    end
  end
   def show_state(actor, x, y)
    count = 0
    for state in actor.states
      draw_icon(state.icon_index, x + 24 * count, y )
      count += 1
      break if (24 * count > 76)
    end
  end
  def draw_hp(actor, x, y)
    back = Cache.system(Shepher_HUD::Base)
    cw = back.width
    ch = back.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x, y-ch+24, back, src_rect)
    meter = Cache.system(Shepher_HUD::Barra_HP)
    cw = meter.width  * actor.hp / actor.maxhp
    ch = meter.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x+5, y-ch+17, meter, src_rect)
  end  
  def draw_mp(actor, x, y)
    back = Cache.system(Shepher_HUD::Base)    
    cw = back.width
    ch = back.height
    src_rect = Rect.new(0, 0, cw, ch)    
    self.contents.blt(x, y-ch+24, back, src_rect)
    meter = Cache.system(Shepher_HUD::Barra_MP)    
    cw = meter.width  * actor.mp / actor.maxmp
    ch = meter.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x+5, y-ch+17, meter, src_rect)
  end

class Scene_Map
  alias shepher_hud_shepher_start start
  alias shepher_hud_shepher_update update
  alias shepher_hud_shepher_terminate terminate
  def start
    shepher_hud_shepher_start
    @show = true
    @hud = Window_HUD.new
  end
  def update
    shepher_hud_shepher_update
    @hud.update
    showing_hud
  end
  def terminate
    shepher_hud_shepher_terminate
    @hud.dispose
  end
  def showing_hud
    if Input.trigger?(Shepher_HUD::Ativar_Botao)
      if @show == true
        @show = false
      else
        @show = true
      end
    end
    if Shepher_HUD::HUD_Switch == 0 or $game_switches[Shepher_HUD::HUD_Switch] == true
      if @show == true
        @hud.visible = true
      elsif @show == false
        @hud.visible = false
      end
     else
       @hud.visible = false
     end
   end
end


[box class=titlebg]
Download
[/box]

[box class=titlebg]
Créditos e Avisos
[/box]
Shepher por fazer
Rafidelis pela ajuda(num codigo).