Menu Customizável.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Menu Customizável.

Mensagem por Yugi Santos em Qui Maio 07, 2015 5:57 pm

Customizable Menu

  Introdução
  Eaer Galera, tudo bem? Eu estou trazendo para vocês um script que eu tinha aqui de um menu bem customizável, nele existe: Janela com nome do mapa, Janela de gold, Janela de Steps e Janela de hora, vocês podem mudar posições e etc.

  Script
Código:
=begin
                                  Customizable Menu
      Créditos: Juniortem
                                 
=end

module Juniortem_Config
#Configurações da janela do menu------------------------------------------------
  Pos_X = 200 #posição X
  Pos_Y = 137 #posição Y
  Back_R = 16 #coloque a cor R, o padrão é 16.
  Back_G = 16 #coloque a cor G, o padrão é 16.
  Back_B = 16 #coloque a cor B, o padrão é 16.
  Back_O = 128 #coloque 0 para o fundo ficar transparente, o padrão é 128.
 
#--------------------------- Configurações da Gold Window ----------------------
Gold_X = 200 #posição X da janela de gold
Gold_Y = 360 #posição y da janela de gold
Gold_Icon = 262 #Icon da janela de gold

#--------------------------- Configurações da Steps WIndow ---------------------
Step_X = 200 #posição X da janela de Steps
Step_Y = 305 #posição Y da janela de Steps
Step_Icon = 467 #Icon da janela de Steps

#--------------------------- Configurações da Map window -----------------------
Map_X = 0 #posição X da janela do Mapa
Map_Y = 0 #posição Y da janela do Mapa
Map_Height = 56 #Altura da janela do nome do mapa
Map_Width = 544 #Largura da janela do nome do mapa
Map_Icon = 205 #Icon da janela do Mapa

#----------------------------- Configurações da Janela da Hora -----------------
Time_X = 200 #posição X da janela da Hora
Time_Y = 82 #posição Y da janela da Hora
Time_Icon = 495 #Icon da janela da Hora
end

#===============================================================================
#                           Criação da Menu Command
#===============================================================================

class Window_MenuCommand < Window_Command
  include Juniortem_Config
  def self.init_command_position
    @@last_command_symbol = nil
  end
 
  def initialize
    super(Pos_X,Pos_Y)
    select_last
   
  end
 
  def window_width
   return 160
  end
 
  def visible_line_number
    item_max
  end
 
  def make_command_list
    add_main_commands
    add_original_commands
    add_save_command
    add_game_end_command
  end
 
  def add_original_commands
  end
 
  def add_main_commands
    add_command(Vocab::item,   :item, main_commands_enabled)
    add_command(Vocab::skill,  :skill, main_commands_enabled)
    add_command(Vocab::equip,  :equip, main_commands_enabled)
    add_command(Vocab::status, :status, main_commands_enabled)
  end
 
  def add_save_commands
    add_command(Vocab::save, :save, save_enabled)
  end
 
  def add_game_end_commands
    add_command(Vocab::game_end, :game_end)
  end
 
  def main_commands_enabled
    $game_party.exists
  end
 
  def save_enabled 
    !$game_system.save_disabled
  end
 
  def process_ok
    @@last_command_symbol = current_symbol
    super
  end
   
  def select_last
    select_symbol(@@last_command_symbol)
  end
end
#===============================================================================
#                           Criação da Scene_Menu
#===============================================================================
class Scene_Menu < Scene_MenuBase
  include Juniortem_Config
  def start
    super
    create_command_window
    create_background
    create_gold_window
    create_map_name_window
    create_time_window
    create_steps
  end

  def create_steps
    @steps = Window_Steps.new(Step_X , Step_Y, 160, 56)
  end

  def create_map_name_window
    @mapname = Window_JuniortemName.new(Map_X, Map_Y, Map_Width, Map_Height)
  end

  def create_time_window
    @time_window = Juniortem_Play_Time.new(Time_X, Time_Y, 160, 56)
  end
 
  def create_gold_window
    @gold_window = Window_Gold_Juniortem.new(Gold_X, Gold_Y, 160, 56)
  end
  #--------------------------------------------------------------------------
  # * Criaçã da janela de comando
  #--------------------------------------------------------------------------
  def create_command_window
    @command_window = Window_MenuCommand.new
    @command_window.z = 255
    @command_window.set_handler(:item,      method(:command_item))
    @command_window.set_handler(:skill,     method(:command_skill))
    @command_window.set_handler(:equip,     method(:command_equip))
    @command_window.set_handler(:status,    method(:command_status))
    @command_window.set_handler(:save,      method(:command_save))
    @command_window.set_handler(:game_end,  method(:command_game_end))
    @command_window.set_handler(:cancel,    method(:return_scene))
  end
  #--------------------------------------------------------------------------
  # * Criação do nome do mapa
  #--------------------------------------------------------------------------
  def create_background
    @background_sprite = Sprite.new
    @background_sprite.bitmap = SceneManager.background_bitmap
    @background_sprite.color.set(Back_R,Back_G,Back_B,Back_O)
  end
  #--------------------------------------------------------------------------
  # * Disposição do plano de fundo
  #--------------------------------------------------------------------------
  def dispose_background
    @background_sprite.dispose
  end
 
  #--------------------------------------------------------------------------
  # * Comando [Item]
  #--------------------------------------------------------------------------
  def command_item
    SceneManager.call(Scene_Item)
  end
  #--------------------------------------------------------------------------
  # * Comando [Habilidades]
  #--------------------------------------------------------------------------
  def command_skill
     SceneManager.call(Scene_Skill)
  end
  #--------------------------------------------------------------------------
  # * Comando [Equipamento]
  #--------------------------------------------------------------------------
   def command_equip
      SceneManager.call(Scene_Equip)
   end
  #--------------------------------------------------------------------------
  # * Comando [Status]
  #--------------------------------------------------------------------------
   def command_status
      SceneManager.call(Scene_Status)
   end
  #--------------------------------------------------------------------------
  # * Comando [Salvar]
  #--------------------------------------------------------------------------
  def command_save
    SceneManager.call(Scene_Save)
  end
  #--------------------------------------------------------------------------
  # * Comando [Fim do Jogo]
  #--------------------------------------------------------------------------
  def command_game_end
    SceneManager.call(Scene_End)
  end
end
#===============================================================================
#                     Window do Nome do Mapa                   
#===============================================================================
class Window_JuniortemName < Window_Base
  include Juniortem_Config
  def initialize(x, y, width,height)
    super(x, y, width,height)
    self.opacity = 300
    refresh
  end

  def refresh
    contents.clear
    self.draw_text(Juniortem_Config::Map_Icon,-15,150,50, $game_map.display_name)
    self.draw_icon(231, self. width - 48, 0)
    end
  end
#===============================================================================
#                      Window da hora do jogo               
#===============================================================================
class Juniortem_Play_Time < Window_Base
    def initialize(x, y, width, height)
    super(x, y, width, height)
    refresh
  end
 
 def refresh
    self.contents.clear
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60
    text = sprintf("%02d:%02d:%02d", hour, min, sec)
    draw_text(0, 0, 120, 24, text, 1)
    draw_icon(Juniortem_Config::Time_Icon, self.width - 48, 0)
  end
 
  def update
    super
    refresh if Graphics.frame_count / Graphics.frame_rate != @total_sec
  end
end
#===============================================================================
#                      Window da quantidade de passos                   
#===============================================================================
class Window_Steps < Window_Base
  def initialize(x, y, width, height)
    super(x, y, width, height)
    @steps = $game_party.steps
    refresh
  end
  def refresh
    self.contents.clear
    draw_icon(Juniortem_Config::Step_Icon, self.width - 48, 0)
    draw_text(-6, 0, 120, 24, @steps , 2)#.to_s
  end
end
#===============================================================================
#                      Window que mostra o dinheiro.                 
#===============================================================================
class Window_Gold_Juniortem < Window_Base
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super(x, y, width, height)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Renovação
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    icon = draw_icon(Juniortem_Config::Gold_Icon, self.width - 48, 0)
    draw_currency_value(value, icon , -14, 0, contents.width -
  end
  #--------------------------------------------------------------------------
  # * Aquisição do valor em dinheiro
  #--------------------------------------------------------------------------
  def value
    $game_party.gold
  end
  #--------------------------------------------------------------------------
  # * Abertura da janela
  #--------------------------------------------------------------------------
  def open
    refresh
    super
  end
end
#===============================================================================
#                              Fim  do Script             
#===============================================================================
avatar
Yugi Santos
Moderador
Moderador

Troféus e Medalhas :
Mensagens : 238
Data de inscrição : 25/03/2015

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum