zero
Membro Especial
Postagens : 301 Data de inscrição : 14/05/2009
| Assunto: Novo Menu de Entrada Ter Out 13, 2009 3:11 pm | |
| Novo Menu de Entrada
Introdução: Esse script modifica um pouco o menu de entrada, deixando num estilo muito massa.
Screen:Como Usar: Basta copiar o script e colar em cima de Main.script: - Código:
-
#============================================================================== # Novo Menu de Entrada - GuiRPG #------------------------------------------------------------------------------ # Esse script Modifica o Menu de Entrada #==============================================================================
class Scene_Title < Scene_Base #-------------------------------------------------------------------------- # Processo principal #-------------------------------------------------------------------------- def main if $BTEST # Se for teste de batalha battle_test # Teste inicia else # Se você está jogando normal super # Vá ao processo principal end end #-------------------------------------------------------------------------- # Inicialização do processo #-------------------------------------------------------------------------- def start super load_database # Carrega o banco de dados create_game_objects # Cria os objetos do jogo check_continue # Verifica se há arquivos salvos create_title_graphic # Cria o gráfico de título create_command_window # Cria a janela de comandos play_title_music # Toca a música de título end #-------------------------------------------------------------------------- # Transição #-------------------------------------------------------------------------- def perform_transition Graphics.transition(20) end #-------------------------------------------------------------------------- # Início do processo #-------------------------------------------------------------------------- def post_start super open_command_window end #-------------------------------------------------------------------------- # Preparação para fim do processo #-------------------------------------------------------------------------- def pre_terminate super close_command_window end #-------------------------------------------------------------------------- # Fim do processo #-------------------------------------------------------------------------- def terminate super dispose_command_window snapshot_for_background dispose_title_graphic end #-------------------------------------------------------------------------- # Atualização da tela #-------------------------------------------------------------------------- def update super @command_window.update if Input.trigger?(Input::C) case @command_window.index when 0 command_new_game when 1 command_continue when 2 command_shutdown end end end #-------------------------------------------------------------------------- # Carregamento do banco de dados #-------------------------------------------------------------------------- def load_database $data_actors = load_data("Data/Actors.rvdata") $data_classes = load_data("Data/Classes.rvdata") $data_skills = load_data("Data/Skills.rvdata") $data_items = load_data("Data/Items.rvdata") $data_weapons = load_data("Data/Weapons.rvdata") $data_armors = load_data("Data/Armors.rvdata") $data_enemies = load_data("Data/Enemies.rvdata") $data_troops = load_data("Data/Troops.rvdata") $data_states = load_data("Data/States.rvdata") $data_animations = load_data("Data/Animations.rvdata") $data_common_events = load_data("Data/CommonEvents.rvdata") $data_system = load_data("Data/System.rvdata") $data_areas = load_data("Data/Areas.rvdata") end #-------------------------------------------------------------------------- # Carregamento do banco de dados para teste de batalha #-------------------------------------------------------------------------- def load_bt_database $data_actors = load_data("Data/BT_Actors.rvdata") $data_classes = load_data("Data/BT_Classes.rvdata") $data_skills = load_data("Data/BT_Skills.rvdata") $data_items = load_data("Data/BT_Items.rvdata") $data_weapons = load_data("Data/BT_Weapons.rvdata") $data_armors = load_data("Data/BT_Armors.rvdata") $data_enemies = load_data("Data/BT_Enemies.rvdata") $data_troops = load_data("Data/BT_Troops.rvdata") $data_states = load_data("Data/BT_States.rvdata") $data_animations = load_data("Data/BT_Animations.rvdata") $data_common_events = load_data("Data/BT_CommonEvents.rvdata") $data_system = load_data("Data/BT_System.rvdata") end #-------------------------------------------------------------------------- # Criação dos objetos do jogo #-------------------------------------------------------------------------- def create_game_objects $game_temp = Game_Temp.new $game_message = Game_Message.new $game_system = Game_System.new $game_switches = Game_Switches.new $game_variables = Game_Variables.new $game_self_switches = Game_SelfSwitches.new $game_actors = Game_Actors.new $game_party = Game_Party.new $game_troop = Game_Troop.new $game_map = Game_Map.new $game_player = Game_Player.new end #-------------------------------------------------------------------------- # Verifica se há arquivos salvos #-------------------------------------------------------------------------- def check_continue @continue_enabled = (Dir.glob('Save*.rvdata').size > 0) end #-------------------------------------------------------------------------- # Criação do gráfico de título #-------------------------------------------------------------------------- def create_title_graphic @sprite = Sprite.new @sprite.bitmap = Cache.system("Title") end #-------------------------------------------------------------------------- # Dispose do gráfico de título #-------------------------------------------------------------------------- def dispose_title_graphic @sprite.bitmap.dispose @sprite.dispose end #-------------------------------------------------------------------------- # Criação da janela de comandos #-------------------------------------------------------------------------- def create_command_window s1 = Vocab::new_game s2 = Vocab::continue s3 = Vocab::shutdown @command_window = Window_Command.new(544, [s1, s2, s3],3)
if @continue_enabled # Se houver arquivos salvos @command_window.index = 1 # Opção habilitada else # Se não houver arquivos salvos @command_window.draw_item(1, false) # Opção desabilitada end @command_window.openness = 0 @command_window.open end #-------------------------------------------------------------------------- # Dispose da janela de comandos #-------------------------------------------------------------------------- def dispose_command_window @command_window.dispose end #-------------------------------------------------------------------------- # Abre a janela de comandos #-------------------------------------------------------------------------- def open_command_window @command_window.open begin @command_window.update Graphics.update end until @command_window.openness == 255 end #-------------------------------------------------------------------------- # Fecha a janela de comandos #-------------------------------------------------------------------------- def close_command_window @command_window.close begin @command_window.update Graphics.update end until @command_window.openness == 0 end #-------------------------------------------------------------------------- # Toca a música de título #-------------------------------------------------------------------------- def play_title_music $data_system.title_bgm.play RPG::BGS.stop RPG::ME.stop end #-------------------------------------------------------------------------- # Verifica se há uma Posição Inicial de Personagem #-------------------------------------------------------------------------- def confirm_player_location if $data_system.start_map_id == 0 print "A Posição Inicial de Personagem não foi definida." exit end end #-------------------------------------------------------------------------- # Comando: Novo Jogo #-------------------------------------------------------------------------- def command_new_game confirm_player_location Sound.play_decision $game_party.setup_starting_members # A equipe (party) inicial $game_map.setup($data_system.start_map_id) # Posição inicial no mapa $game_player.moveto($data_system.start_x, $data_system.start_y) $game_player.refresh $scene = Scene_Map.new RPG::BGM.fade(1500) close_command_window Graphics.fadeout(60) Graphics.wait(40) Graphics.frame_count = 0 RPG::BGM.stop $game_map.autoplay end #-------------------------------------------------------------------------- # Comando: Continuar #-------------------------------------------------------------------------- def command_continue if @continue_enabled Sound.play_decision $scene = Scene_File.new(false, true, false) else Sound.play_buzzer end end #-------------------------------------------------------------------------- # Comando: Sair #-------------------------------------------------------------------------- def command_shutdown Sound.play_decision RPG::BGM.fade(800) RPG::BGS.fade(800) RPG::ME.fade(800) $scene = nil end #-------------------------------------------------------------------------- # Teste de batalha #-------------------------------------------------------------------------- def battle_test load_bt_database # Carrega o banco de dados para o teste create_game_objects # Cria os objetos do jogo Graphics.frame_count = 0 # Inicialização da contagem de frames $game_party.setup_battle_test_members $game_troop.setup($data_system.test_troop_id) $game_troop.can_escape = true $game_system.battle_bgm.play snapshot_for_background $scene = Scene_Battle.new end end
Créditos e Agradecimentos:
- GuiRPG por cirar os script
- Zero por postar no TWEG
|
|