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

M+ Simple HUD 2.5 Ace

Iniciado por M3T, 14/10/2013 às 14:37

M+ Simple HUD
v2.5 (Ace)




Introdução e características
Opa! Venho aqui com a versão do VX Ace do meu script.
Esse é um dos primeiros scripts meus. É uma HUD bem convencional, mostra HP, MP e EXP como qualquer outra. Totalmente customizável, desde posição dos textos até as imagens.
Não causa lag ao seu jogo, atualiza somente quando necessário.
Perdi o meu tópico antigo porque não sei o que aconteceu com a Santuário, ela está fora do ar há algum tempo. Tinha muita coisa minha lá.




Instruções de Uso
Existem duas maneiras para você usar o script: baixe a demo, que é a mais simples, ou faça o seguinte:
1. Copie e cole o script abaixo na seção de scripts adicionais.
2. Baixe a pasta Special, em anexo, e extraia-a na pasta Graphics.
3. Customize as imagens como quiser e o script também.




Script

Spoiler
#==============================+ M+ Simple HUD +==============================#
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~v2+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#-----------------------------------Por M3T-----------------------------------#
=begin
                                 Versão 2.5ACE                                 
 Instruções:
 1. Cole o script na seção de scripts adicionais.
 2. Configura as opções inclusas nela ao seu gosto.
 3. Crie a pasta 'Special' dentro da Graphics, e lá coloque as imagens que tem 
 no tópico, com o nome que é mandado. OU Copie a pasta Special da demonstração
 do script.

 Características:
 -Mostra HP, MP, EXP, Nome do personagem, Char e Level;
 -Faz o uso de imagens para as barrinhas, em pastas diferentes;
 -Opção de desativar/ativar HUD quando quiser;
 -Dispositivo que só atualiza a HUD somente quando necessário, assim causando
 menos lag ao jogo(Obrigado Highlander por isso);
 -Opção de usar windowskin ou imagem como fundo;
 -Verificador de novas versões; -RETIRADO NESSA VERSÃO
 -Simples mas agradável.
 
 Agradecimentos especiais:
 Highlander - Autor do script de onde tirei o dispositivo usado neste meu.
 Marlos Gama - Foi observando um script dele que aprendi a mexer com as
 imagens como barrinhas de HP, por isso algumas partes podem ser parecidas.
 
 Obrigado por usar esse script! Estou muito agradecido ^.^
 Não se esqueça de dar os créditos.
=end

#- Configurações da HUD - altere ao seu gosto -#

module Simple_Hud
  Hud_Switch = 800 #Switch de visibilidade da HUD
  Hud_X = 0 #Posição X da HUD
  Hud_Y = 0 #Posição Y da HUD
  Hud_Comprimento = 250 #Comprimento da HUD
  Hud_Altura = 120 #Altura da HUD
  Hud_Opacidade = 0 #Opacidade da windowskin mostrada no fundo.
  Hud_Actor = 1 #ID do membro do grupo que terá informações mostradas
  Hud_Character = true #Mostrar gráfico do personagem? true para sim e false para não
  Hud_Level = true #Mostrar nível do personagem? true para sim e false para não
  Hud_Name = true #Mostrar nome do personagem? true para sim e false para não
  Hud_HP = true #Mostrar barra de HP? true para sim e false para não
  Hud_MP = true #Mostrar barra de MP? true para sim e false para não
  Hud_EXP = true #Mostrar barra de EXP? true para sim e false para não
  #Atenção: as configurações a seguir são somadas com a posição X ou Y da HUD normal,
  #ou seja, se a posição X da HUD é 20 e a da barra de HP é 10, então a posição da
  #barra de HP será 30.
  Hud_HP_X   = 10  #Posição X da barra de HP
  Hud_HP_Y   = 25  #Posição Y da barra de HP
  Hud_MP_X   = 10  #Posição X da barra de MP
  Hud_MP_Y   = 45  #Posição Y da barra de MP
  Hud_EXP_X  = 10  #Posição X da barra de EXP
  Hud_EXP_Y  = 65  #Posição Y da barra de EXP
  Hud_Char_X = 200 #Posição X do gráfico do personagem
  Hud_Char_Y = 50  #Posição Y do gráfico do personagem
  Hud_LvL_X  = 110 #Posição X do nível do personagem
  Hud_LvL_Y  = 2   #Posição Y do nível do personagem
  Hud_Name_X = 10  #Posição X do nome do personagem
  Hud_Name_Y = 2   #Posição Y do nome do personagem
  #A atenção dada anteriormente não vale para as configurações a seguir.
  Usar_imagem_de_fundo = true #Usar a imagem 'Hud_back.png' como fundo?
                              #true para sim; false para não.   
  Hud_ShowHPMPtext = true #Mostrar texto com o HP em cima da barrinha de HP e
                          #texto com o MP em cima da barrinha de MP?
                          #true = Sim; false = Não.
  Hud_ShowEXPText = true #O mesmo acima, porém com a EXP.
  
  Show_VersionAlert = true  #Alertar se uma nova versão está disponível?
                            #Recomendo marcar true durante o desenvolvimento do
                            #projeto e false antes de disponibilizá-lo.
end
#- Fim das configurações -#
#- Início do script [Não altere nada abaixo.] -#

#Modificação na classe Game_Actor
class Game_Actor
  def m_exp1
    return exp - current_level_exp
  end
  def m_exp2
    return next_level_exp - current_level_exp
  end
end
#Início da classe Hud
class Hud < Window_Base
  include Simple_Hud
  def initialize
    @info = [] #Cria array vazia.
    super(Hud_X-16,Hud_Y-16,Hud_Comprimento,Hud_Altura) #Cria a HUD.
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 0
    #self.contents.font.name = "Arial Narrow" #Define a fonte. -tire o # para usar
    self.contents.font.size = 20 #Define o tamanho da fonte.
    refresh #Desenha a HUD.
  end
  def update
    refresh if condicao_de_atualizacao #Somente atualiza a HUD caso precise.
  end
  def refresh
    self.contents.clear #"Limpa" o conteúdo
    self.opacity = 0
    if $game_switches[Hud_Switch]
      self.opacity = 0 if Usar_imagem_de_fundo
      self.opacity = Hud_Opacidade unless Usar_imagem_de_fundo #Define a opacidade da HUD.
      if Usar_imagem_de_fundo
        b = Cache.load_bitmap("Graphics/Special/", "HudBack")
        beb = b.width
        beh = b.height
        b_rect = Rect.new(0, 0, beb, beh)
        self.contents.blt(0, 0, b, b_rect)
      end
      actor = $game_party.members[Hud_Actor-1]
      draw_actor_name(actor, Hud_Name_X, Hud_Name_Y) if Hud_Name #Mostra o nome do personagem.
      #Mostra fundo da barra de HP
      fd = Cache.load_bitmap("Graphics/Special/", "HudBase")
      bw = fd.width
      bh = fd.height
      fd_rect = Rect.new(0,0,bw,bh)
      self.contents.blt(Hud_HP_X,Hud_HP_Y,fd,fd_rect) if Hud_HP
      #Mostra HP
      barhp = Cache.load_bitmap("Graphics/Special/", "HudHP")
      bhw = barhp.width * actor.hp / actor.mhp
      bhh = barhp.height
      barhp_rect = Rect.new(0,0,bhw,bhh)
      self.contents.blt(Hud_HP_X,Hud_HP_Y,barhp,barhp_rect) if Hud_HP
      #Mostra fundo da barra de MP
      fd2 = Cache.load_bitmap("Graphics/Special/", "HudBase")
      bw2 = fd2.width
      bh2 = fd2.height
      fd2_rect = Rect.new(0,0,bw2,bh2)
      self.contents.blt(Hud_MP_X,Hud_MP_Y,fd2,fd2_rect) if Hud_MP
      #Mostra MP
      barmp = Cache.load_bitmap("Graphics/Special/", "HudMP")
      bhw2 = barmp.width * actor.mp / actor.mmp
      bhh2 = barmp.height
      barmp_rect = Rect.new(0,0,bhw2,bhh2)
      self.contents.blt(Hud_MP_X,Hud_MP_Y,barmp, barmp_rect) if Hud_MP
      #Mostra fundo da barra de EXP
      fd3 = Cache.load_bitmap("Graphics/Special/", "HudBase")
      bw3 = fd2.width
      bh3 = fd2.height
      fd3_rect = Rect.new(0,0,bw3,bh3)
      self.contents.blt(Hud_EXP_X,Hud_EXP_Y,fd3,fd3_rect) if Hud_EXP
      #Mostra barra de EXP
      barxp = Cache.load_bitmap("Graphics/Special/", "HudEXP")
      bhw3 = barxp.width * actor.m_exp1 / actor.m_exp2
      bhh3 = barxp.height
      barxp_rect = Rect.new(0,0,bhw3,bhh3)
      self.contents.blt(Hud_EXP_X,Hud_EXP_Y,barxp,barxp_rect) if Hud_EXP
      draw_character(actor.character_name, actor.character_index, Hud_Char_X, Hud_Char_Y) if Hud_Character#Mostra o char do personagem
      if Hud_ShowHPMPtext
        #Mostra a quantidade de HP
        hp = actor.hp
        maxhp = actor.mhp
        self.contents.draw_text(Hud_HP_X+8, Hud_HP_Y, 100, 20, hp.to_s + "/" + maxhp.to_s)
        #Mostra a quantidade de MP
        mp = actor.mp
        maxmp = actor.mmp
        self.contents.font.color = text_color(0)
        self.contents.draw_text(Hud_MP_X+8, Hud_MP_Y, 100, 20, mp.to_s + "/" + maxmp.to_s)
      end
      if Hud_ShowEXPText
        #Mostra a quantidade de EXP
        current = actor.exp
        nextexp = actor.next_level_exp
        self.contents.draw_text(Hud_EXP_X+8, Hud_EXP_Y, 100, 20, current.to_s + "/" + nextexp.to_s)
      end
      draw_actor_level(actor, Hud_LvL_X, Hud_LvL_Y) if Hud_Level #Mostra Level
      if $scene.is_a?(Scene_Menu) || $scene.is_a?(Scene_Battle)
        self.contents.clear
      end
    end
  end
  def condicao_de_atualizacao
    a = $game_party.members[Hud_Actor-1]
    @sw = $game_switches[Hud_Switch]
    infos = [a.id,a.character_name,a.character_index,a.hp,a.mp,a.level,a.name, a.exp, @sw] 
    return update_infos if @info != infos
    return false
  end
  
  def update_infos
    a = $game_party.members[Hud_Actor-1]
    @info[0] = a.id
    @info[1] = a.character_name
    @info[2] = a.character_index
    @info[3] = a.hp
    @info[4] = a.mp
    @info[5] = a.level
    @info[6] = a.name
    @info[7] = a.exp
    @info[8] = $game_switches[Hud_Switch]
    return true
  end
end 
# Introduzir a HUD a Scene_Map
class Scene_Map
  alias hud_main main
  def main
    @Hud = Hud.new
    hud_main
    @Hud.dispose
  end
  alias hud_update update
  def update
    hud_update
    @Hud.update
  end
end
#- Fim do script. -#
#================================ M+ Scripts ================================#
[close]




Screenshots





Downloads
Aqui tem os downloads do anexo, mas no dropbox, que pode ser mais rápido de baixar e se o anexo der problema você baixa aqui. (No anexo, a demo não coube)
Demo
Pasta Special




Considerações finais
Se gostou do script e quer usá-lo no seu projeto, por favor, cite meu nome nos créditos =D
Modifique-o a vontade, mas peça minha autorização caso queira postar sua versão modificada.
Pode ocorrer de eu atualizar o script, então encontre changelogs e downloads primeiro no meu site: http://m3t.eu5.org/ (Estou sem saco pra terminar ele de uma vez por todas, está incompleto)

Obrigado e até mais \o

[Anexo excluído pelo administrador]

Muito Bom meu Ammigo Parabens , Sua HUD e Bem Bonita
so ocupa um espacinho grande mais nada de mais gostei mto
Very Good, Espero ver mais Scripts Seus
e Chamativa +Ouro continue sempre assim  Um grande Abraço

@ Mepps

M3T voltando a ativa! \õ
Gostei de ver o script bem legal mesmo, já havia visto na Santuário a versão VX eu tinha até convertido para VXAce mais não a postei, mais mesmo assim obrigado por dividir com a gente.
A converti um script seu espero que não tenha problema. (Pois queria usa-ló no VXAce e sabia que poderia ser útil para mais alguém então postei)

http://centrorpg.com/rgss3/m3t-moveblock-1-0-convertido-de-vx-para-vxace/

Aquele abraço.
Faalco!~


Citação de: Mepps online 14/10/2013 às 14:41
Muito Bom meu Ammigo Parabens , Sua HUD e Bem Bonita
so ocupa um espacinho grande mais nada de mais gostei mto
Very Good, Espero ver mais Scripts Seus
e Chamativa +Ouro continue sempre assim  Um grande Abraço

@ Mepps
Valeu cara,
Sobre o tamanho da HUD, dá pra mudar as imagens e customizar os valores no script. Como eu disse, ela é totalmente customizável. =)

Citação de: Faalco online 14/10/2013 às 14:52
M3T voltando a ativa! \õ
Gostei de ver o script bem legal mesmo, já havia visto na Santuário a versão VX eu tinha até convertido para VXAce mais não a postei, mais mesmo assim obrigado por dividir com a gente.
A converti um script seu espero que não tenha problema. (Pois queria usa-ló no VXAce e sabia que poderia ser útil para mais alguém então postei)

http://centrorpg.com/rgss3/m3t-moveblock-1-0-convertido-de-vx-para-vxace/

Aquele abraço.
Faalco!~



Olá!
Legal que tenha convertido meu script. Sem problema nenhum. Mas esse aí era tão simples que era mais viável fazer um novo do que converter. Mas enfim.. =D