Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # ** M+ SaveOptions
- # * Por M3T
- # * 17/06/2014
- # * Criado a pedido de Petruncio1245 - Loja de Recursos
- #==============================================================================
- # Esse script requere um módulo de teclado.
- # Recomendado: "Full Keyboard Module", por Raizen.
- # Encontre-o aqui: http://centrorpg.com/rgss3/full-keyboard-module/
- # Para usar a configuração padrão, você vai necessitá-lo.
- #==============================================================================
- # ** Configuração
- # Tecla a ser pressionada - o correspondente ao seu módulo de teclado
- SaveOptions_Key = Key::O # Key::O = usado no script do Raizen. Pode mudar.
- # Switch que, quando ativada, o sistema não funcionará
- SaveOptions_Switch = 50
- # Termo que será usado na segunda opção da janela. Padrão: Carregar
- SaveOptions_LoadTerm = "Carregar"
- #==============================================================================
- # ** Window_SaveOptions
- #------------------------------------------------------------------------------
- # Esta é a janela para opções de save.
- #==============================================================================
- class Window_SaveOptions < Window_Command
- #--------------------------------------------------------------------------
- # * Inicialização do objeto
- #--------------------------------------------------------------------------
- def initialize
- super(0, 0)
- update_placement
- self.openness = 0
- open
- end
- #--------------------------------------------------------------------------
- # * Aquisição da largura da janela
- #--------------------------------------------------------------------------
- def window_width
- return 160
- end
- #--------------------------------------------------------------------------
- # * Atualização da posição da janela
- #--------------------------------------------------------------------------
- def update_placement
- self.x = (Graphics.width - width) / 2
- self.y = (Graphics.height - height) / 2
- end
- #--------------------------------------------------------------------------
- # * Criação da lista de comandos
- #--------------------------------------------------------------------------
- def make_command_list
- add_command(Vocab::save, :save_game)
- add_command(SaveOptions_LoadTerm, :load_game)
- add_command(Vocab::game_end, :game_end)
- end
- end
- #==============================================================================
- # ** Scene_SaveOptions
- #------------------------------------------------------------------------------
- # Esta classe executa o processamento da tela opções de save.
- #==============================================================================
- class Scene_SaveOptions < Scene_MenuBase
- #--------------------------------------------------------------------------
- # * Inicialização do processo
- #--------------------------------------------------------------------------
- def start
- super
- create_command_window
- end
- #--------------------------------------------------------------------------
- # * Processamento pré finalização
- #--------------------------------------------------------------------------
- def pre_terminate
- super
- close_command_window
- end
- #--------------------------------------------------------------------------
- # * Método de Atualização
- #--------------------------------------------------------------------------
- alias m_update update
- def update
- m_update
- key_update
- end
- #--------------------------------------------------------------------------
- # * Checagem de pressionamento de teclas
- #--------------------------------------------------------------------------
- def key_update
- if Input.trigger?(Input::B)
- close_command_window
- SceneManager.return
- end
- end
- #--------------------------------------------------------------------------
- # * Criação do plano de fundo
- #--------------------------------------------------------------------------
- def create_background
- super
- @background_sprite.tone.set(0, 0, 0, 128)
- end
- #--------------------------------------------------------------------------
- # * Criação da janela de comando
- #--------------------------------------------------------------------------
- def create_command_window
- @command_window = Window_SaveOptions.new
- @command_window.set_handler(:save_game, method(:command_save_game))
- @command_window.set_handler(:load_game, method(:command_load_game))
- @command_window.set_handler(:game_end, method(:command_game_end))
- end
- #--------------------------------------------------------------------------
- # * Fechamento da janela de comando
- #--------------------------------------------------------------------------
- def close_command_window
- @command_window.close
- update until @command_window.close?
- end
- #--------------------------------------------------------------------------
- # * Comando [Salvar]
- #--------------------------------------------------------------------------
- def command_save_game
- close_command_window
- SceneManager.call(Scene_Save)
- end
- #--------------------------------------------------------------------------
- # * Comando [Carregar]
- #--------------------------------------------------------------------------
- def command_load_game
- close_command_window
- SceneManager.call(Scene_Load)
- end
- #--------------------------------------------------------------------------
- # * Comando [Sair]
- #--------------------------------------------------------------------------
- def command_game_end
- close_command_window
- SceneManager.call(Scene_End)
- end
- end
- #==============================================================================
- # ** Scene_Map
- #------------------------------------------------------------------------------
- # Esta classe executa o processamento da tela de mapa.
- #==============================================================================
- class Scene_Map < Scene_Base
- alias m_update_scene update_scene
- def update_scene
- m_update_scene
- update_key unless scene_changing?
- end
- def update_key
- if Input.trigger?(SaveOptions_Key) && !$game_switches[SaveOptions_Switch]
- SceneManager.call(Scene_SaveOptions)
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement