Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # • Menu Sample Red..
- #==============================================================================
- # Autor: Dax
- # Versão: 1.1
- # Site: www.dax-soft.weebly.com
- # Requerimento: Dax Core
- #==============================================================================
- # • Descrição:
- #------------------------------------------------------------------------------
- # Um menu simples, que contém apenas as opções Item/Carregar, e mostra
- # o status do jogador de uma maneira bem simples.
- #==============================================================================
- Dax.register(:menu_sample_red, "Dax", 1.1) {
- #==============================================================================
- # • Configurações do Menu.
- #==============================================================================
- module MenuSampleRed
- MP_SHOW = 1 # Switche que ao ser ligada mostra o MP é ao ser desligada não mostra.
- AGE = 13 # Idade do jogador.
- end
- #==============================================================================
- # • DataManager
- #==============================================================================
- class << DataManager
- #--------------------------------------------------------------------------
- # * Número máximo de arquivos salvos
- #--------------------------------------------------------------------------
- def savefile_max
- return 4
- end
- #--------------------------------------------------------------------------
- # * Salvar a criação de cabeçalho
- #--------------------------------------------------------------------------
- def make_save_header
- header = {}
- header[:characters] = $game_party.characters_for_savefile
- header[:playtime_s] = $game_system.playtime_s
- header[:map_name] = $game_map.display_name || ""
- header
- end
- end
- #==============================================================================
- # • Scene_Menu
- #==============================================================================
- Dax.remove(:Scene_Menu)
- class Scene_Menu < Scene_MenuBase
- include MenuSampleRed
- #----------------------------------------------------------------------------
- # • Inicialização dos objetos.
- #----------------------------------------------------------------------------
- def start
- super
- @windowMenuCommand = Window_MenuCommand.new
- @windowMenuCommand.set_handler(:item, method(:item))
- @windowMenuCommand.set_handler(:load, method(:load))
- @actor = $game_actors[1]
- @windowMenuStatus = Window_Base.new(190, Graphics.height - (128+16), 300, 128)
- @windowMenuStatus.draw_actor_face(@actor, 0, 0)
- @windowMenuStatus.draw_actor_name(@actor, 103, 26)
- @windowMenuStatus.draw_text_ex(103, 51, "Idade: ")
- @windowMenuStatus.draw_text_ex(165, 51, AGE)
- @windowMenuStatus.draw_actor_hp(@actor, 103, 0, 164)
- @windowMenuStatus.draw_actor_mp(@actor, 103, 74, 164) if $game_switches[MP_SHOW]
- end
- #----------------------------------------------------------------------------
- # • Método do item.
- #----------------------------------------------------------------------------
- def item
- return SceneManager.call(Scene_Item)
- end
- #----------------------------------------------------------------------------
- # • Método do load.
- #----------------------------------------------------------------------------
- def load
- return SceneManager.call(Scene_Load)
- end
- #----------------------------------------------------------------------------
- # • Atualização dos objetos.
- #----------------------------------------------------------------------------
- def update
- super
- trigger?(:B) { return_scene }
- end
- end
- #==============================================================================
- # ** Window_MenuCommand
- #==============================================================================
- class Window_MenuCommand < Window_Command
- #--------------------------------------------------------------------------
- # * Inicialização do objeto
- #--------------------------------------------------------------------------
- def initialize
- super(42, Graphics.height - 114)
- end
- #--------------------------------------------------------------------------
- # * Aquisição da largura da janela
- #--------------------------------------------------------------------------
- def window_width
- return 138
- end
- #--------------------------------------------------------------------------
- # * Aquisição do número de linhas exibidas
- #--------------------------------------------------------------------------
- def visible_line_number
- item_max
- end
- #--------------------------------------------------------------------------
- # * Criação da lista de comandos
- #--------------------------------------------------------------------------
- def make_command_list
- add_main_commands
- end
- #--------------------------------------------------------------------------
- # * Adição dos comandos principais
- #--------------------------------------------------------------------------
- def add_main_commands
- add_command("Item", :item, main_commands_enabled)
- add_command("Carregar", :load, main_commands_enabled)
- end
- #--------------------------------------------------------------------------
- # * Definição de habilitação dos comandos principais
- #--------------------------------------------------------------------------
- def main_commands_enabled
- $game_party.exists
- end
- end
- #==============================================================================
- # • Scene_Item
- #==============================================================================
- class Scene_Item < Scene_ItemBase
- #--------------------------------------------------------------------------
- # * Inicialização do processo
- #--------------------------------------------------------------------------
- def start
- super
- @help_window = Window_Help.new(1)
- @help_window.viewport = @viewport
- create_item_window
- end
- #--------------------------------------------------------------------------
- # * Criação da janela de itens
- #--------------------------------------------------------------------------
- def create_item_window
- @item_window = Window_ItemList.new(4, Graphics.height - 148, Graphics.width-8, 128)
- @item_window.viewport = @viewport
- @item_window.help_window = @help_window
- @item_window.set_handler(:ok, method(:on_item_ok))
- @item_window.set_handler(:cancel, method(:return_scene))
- @item_window.category = :item
- @item_window.activate
- @item_window.select_last
- end
- #--------------------------------------------------------------------------
- # * Usando um item
- #--------------------------------------------------------------------------
- def use_item
- super
- @item_window.redraw_current_item
- end
- end
- #==============================================================================
- # ** Window_SaveFile
- #==============================================================================
- class Window_SaveFile < Window_Base
- #--------------------------------------------------------------------------
- # * Renovação
- #--------------------------------------------------------------------------
- def refresh
- contents.clear
- change_color(normal_color)
- name = Vocab::File + " #{@file_index + 1}"
- draw_text(4, 0, 200, line_height, name)
- @name_width = text_size(name).width
- draw_party_characters(102, 58)
- draw_playtime(0, contents.height - line_height, contents.width - 4, 2)
- draw_mapname(0, 0, contents.width-4, 2)
- end
- #--------------------------------------------------------------------------
- # * Desenho dos personagens do grupo
- # x : coordenada X
- # y : coordenada Y
- #--------------------------------------------------------------------------
- def draw_party_characters(x, y)
- header = DataManager.load_header(@file_index)
- return unless header
- header[:characters].each_with_index do |data, i|
- draw_face(data[0], data[1], x + i * 96, y-64, true)
- end
- end
- #----------------------------------------------------------------------------
- # • Desenhar a face.
- #----------------------------------------------------------------------------
- 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, 72)
- contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
- bitmap.dispose
- end
- #----------------------------------------------------------------------------
- # • Desenhar o nome do mapa.
- #----------------------------------------------------------------------------
- def draw_mapname(x, y, width, align)
- header = DataManager.load_header(@file_index)
- return unless header
- draw_text(x, y, width, line_height, header[:map_name], 2)
- end
- end
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement