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

Danka Customizable HUD

Iniciado por Danka, 22/11/2012 às 22:33

22/11/2012 às 22:33 Última edição: 23/11/2012 às 00:02 por Cezar
Danka Customizable HUD

  Introdução
  Aeee, CRM ta voltando mas não é isso que vou falar aqui ¬¬. Irei falar sobre uma HUD que é altamente modificável, você pode mudar praticamente tudo nela.

  Screenshots

  Script
#==============================================================================#
#                       Danka Comfigurable HUD                                 #
#==============================================================================#
#              Créditos: Juniortem por ter feito.                              #
#==============================================================================#
#     È uma HUD bem customizável, você pode mudar praticamente tudo, ela mostra#
#     o HP, MP, Level, a Face, Os status e a Classe, e você pode mudar todas as#
#     posições                                                                 #
#==============================================================================#
# Log: Script Criado - 25/09/2012                                              #
#==============================================================================#
#Configurações Abaixo.
module Danka_Config
Hud_opacity = 500 #opacidade da janela da hud, deixe 0 para ficar invisivel.
Tecl = :X  #tecla que quando apertada faz a Window aparecer no mapa, X é A
Hud_x = 20 #posição horizontal da HUd
Hud_y = 0 #posição vertical da HUd
Hud_heigth = 300 #altura da HUD
Hud_width = 120 #largura da HUD
Face_X = 0 #posição X da face
Face_Y = 0 #posição Y da face
Hp_X = 100 #posição x do HP
Hp_Y = 0 #posição y do HP
Mp_X = 100 #posição X do MP
Mp_Y = 20 #posição Y do MP
Status_Name_X = 100 #Posição X do nome "Status"
Status_Name_Y = 65 #posição Y do nome "status"
Status_Icons_X = 170 #posição X dos icones de status
Status_Icons_Y = 65 #posição Y dos icones de Status
Level_X = 225 #posição do level X
Level_Y = 45 #posição do level Y
Class_X = 100 #posição X da Classe
Class_Y = 45 #posição Y da classe
end
#==============================================================================#
#                     Corrige o Bug do Dispose das Faces, Valeu Raizen         #
#==============================================================================#
class Window_Base < Window
  def draw_face(face_name, face_index, x, y, enabled = true)
    bitmap = Cache.face(face_name)
    rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, 96, 96)
    contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
  end
end
#==============================================================================#
#                           Criação da HUD                                     #
#==============================================================================#
class Danka_HUD < Window_Base
  include Danka_Config
  def initialize
    super(Hud_x,Hud_y,Hud_heigth,Hud_width)
    self.opacity = Hud_opacity #Opacidade da HUD
    self.visible = false
    data_actor
    refresh
  end
#==============================================================================#
#                        Dados do Herói                                        #
#==============================================================================#
  def data_actor
    @actor = $game_party.members[0]
    @data = []
    @data[0] = @actor.face_name
    @data[1] = @actor.name
    @data[2] = @actor.level
    @data[3] = @actor.states
    @data[4] = @actor.hp
    @data[5] = @actor.mp
    @data[6] = @actor.class
  end
#==============================================================================#
#                        Atualizar Hud?                                        #
#==============================================================================#
  def need_to_update
    return true unless @data[0] == @actor.face_name
    return true unless @data[1] == @actor.name
    return true unless @data[2] == @actor.level
    return true unless @data[3] == @actor.states
    return true unless @data[4] == @actor.hp
    return true unless @data[5] == @actor.mp
    return true unless @data[6] == @actor.class
    return false
  end
#==============================================================================#
#                                Atualiza                                      #  
#==============================================================================#
  def update
  super
  refresh if need_to_update
  self.visible = true if Input.press?(Tecl)
end

#==============================================================================#
#                        Atualiza o Conteudo.                                  #         
#==============================================================================#
  def refresh
   contents.clear
  self.draw_actor_face(@actor, Face_X, Face_Y)
  self.draw_actor_hp(@actor,Hp_X,Hp_Y)
  self.draw_actor_mp(@actor,Mp_X,Mp_Y)
  self.draw_actor_icons(@actor,Status_Icons_X,Status_Icons_Y)
  self.draw_actor_class(@actor,Class_X,Class_Y)
  self.draw_actor_level(@actor,Level_X,Level_Y)
  self.draw_text(Status_Name_X,Status_Name_Y,width,line_height,"Status:")
   end
end
#==============================================================================#
#                              Coloca a HUD no Mapa                            #
#==============================================================================#
class Scene_Map < Scene_Base
  alias hud_start start
  alias hud_update update
  alias hud_terminate terminate
 def start
  @hud = Danka_HUD.new
  hud_start
 end
 def update
   @hud.update
   hud_update
 end
 def terminate
   @hud.dispose
   hud_terminate
 end
end

#==============================================================================#
#                                Fim do Script                                 #
#==============================================================================#

  Créditos
  Bom, se for usar a minha HUD, deverá da créditos a Danka/Juniortem, não poste este script em outros fórums sem a minha permissão.
...

Gostei da HUD, só acho que ela ocupa espaço demais na tela.
To Die Is To Find Out If Humanity Ever Conquers Death

È mesmo. xD
Mas da para diminui-la, é só mecher nas configurações. xD

Até Loder. o/
...