Versione: 1.0
Autore/i: Shocks
Informazioni:
Una modifica al titolo standard con immagini ^^
Screenshots:
Spoiler
Istruzioni:
Tutto il necessario all'interno della Demo.
Vi lascio anche lo script ;)
Script:
#==============================================================================
# Sk's PicTitle
# Feito por: Shocks
# ReinoRPG - www.reinorpg.com
#------------------------------------------------------------------------------
# DESCRIÇÃO
#------------------------------------------------------------------------------
# Esse script torna a tela de título customizada por imagens.
#------------------------------------------------------------------------------
# INSTRUÇÕES
#------------------------------------------------------------------------------
# Adicionar abaixo da Scene_Title original, a configuração deve
# ser feita no módulo abaixo.
#==============================================================================
module Config_Title
#------------------------------------------------------------------------------
# Configuração
#------------------------------------------------------------------------------
# *Title representa "\Graphics\Titles".
# Title que representa o comando "Novo Jogo".
NEW_GAME = "PicTitle_NovoJogo"
# Title que representa o comando "Continuar".
CONTINUE = "PicTitle_Continuar"
# Title que representa o comando "Continuar" desabilitado.
CONTINUR = "PicTitle_DContinuar"
# Title que representa o comando "Sair".
EXITGAME = "PicTitle_Sair"
# Som do cursor. "Data" para o configurado no Database.
CURSOR = "105-Heal01"
# Som da escolha. "Data" para o configurado no Database.
OK = "Data"
#------------------------------------------------------------------------------
# Fim da Configuração
#------------------------------------------------------------------------------
end
class Scene_Title
#--------------------------------------------------------------------------
# Processamento Principal
#--------------------------------------------------------------------------
def main
# Se estiver em Teste de Batalha
if $BTEST
battle_test
return
end
# Carregar o Banco de Dados
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
# Criar um Sistema
$game_system = Game_System.new
# Criar um gráfico de título
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title(Config_Title::NEW_GAME)
@index_comando = 1
# O comando Continuar (s2) tem uma determinante
# Aqui é checado se existe algum arquivo de save
# Se estiver habilitado, tornar @continue_enabled verdadeiro; se estiver
# desabilitado, tornar falso
@continue_enabled = false
for i in 0..3
if FileTest.exist?("Save#{i+1}.rxdata")
@continue_enabled = true
end
end
# Reproduzir BGM de Título
$game_system.bgm_play($data_system.title_bgm)
# Parar de reproduzir BGS e ME
Audio.me_stop
Audio.bgs_stop
# Executar transição
Graphics.transition
# Loop principal
loop do
# Atualizar a tela de jogo
Graphics.update
# Atualizar a entrada de informações
Input.update
# Atualizar o frame
update
# Abortar o loop caso a tela tenha sido alterada
if $scene != self
break
end
end
# Preparar para transição
Graphics.freeze
# Exibir o gráfico de Título
@sprite.bitmap.dispose
@sprite.dispose
end
#--------------------------------------------------------------------------
# Atualização do Frame
#--------------------------------------------------------------------------
def update
if Input.trigger?(Input::UP)
if @index_comando == 1
@index_comando = 3
else
@index_comando -= 1
end
atualizar_comando = true
end
if Input.trigger?(Input::DOWN)
if @index_comando == 3
@index_comando = 1
else
@index_comando += 1
end
atualizar_comando = true
end
if atualizar_comando == true
if Config_Title::CURSOR == "Data"
$game_system.se_play($data_system.cursor_se)
else
Audio.se_play("Audio/SE/" + Config_Title::CURSOR, 90, 100)
end
@sprite.bitmap = RPG::Cache.title(Config_Title::NEW_GAME) if @index_comando == 1
@sprite.bitmap = RPG::Cache.title(Config_Title::CONTINUE) if @index_comando == 2
@sprite.bitmap = RPG::Cache.title(Config_Title::CONTINUR) if @index_comando == 2 and @continue_enabled == false
@sprite.bitmap = RPG::Cache.title(Config_Title::EXITGAME) if @index_comando == 3
atualizar_comando = false
end
# Se o botão C for pressionado
if Input.trigger?(Input::C)
command_new_game if @index_comando == 1
command_continue if @index_comando == 2
command_shutdown if @index_comando == 3
end
end
#--------------------------------------------------------------------------
# Comando: Novo Jogo
#--------------------------------------------------------------------------
def command_new_game
# Reproduzir SE de OK
if Config_Title::OK == "Data"
$game_system.se_play($data_system.decision_se)
else
Audio.se_play("Audio/SE/" + Config_Title::OK, 90, 100)
end
# Parar BGM
Audio.bgm_stop
# Aqui o contador de frames é resetado para que se conte o Tempo de Jogo
Graphics.frame_count = 0
# Criar cada tipo de objetos do jogo
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.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
# Configurar Grupo Inicial
$game_party.setup_starting_members
# Configurar posição inicial no mapa
$game_map.setup($data_system.start_map_id)
# Aqui o Jogador é movido até a posição inical configurada
$game_player.moveto($data_system.start_x, $data_system.start_y)
# Atualizar Jogador
$game_player.refresh
# Rodar, de acordo com o mapa, a BGM e a BGS
$game_map.autoplay
# Atualizar mapa (executar processos paralelos)
$game_map.update
# Mudar para a tela do mapa
$scene = Scene_Map.new
end
#--------------------------------------------------------------------------
# Comando: Continuar
#--------------------------------------------------------------------------
def command_continue
# Se Continuar estiver desabilitado
unless @continue_enabled
# Reproduzir SE de erro
$game_system.se_play($data_system.buzzer_se)
return
end
# Reproduzir SE de OK
if Config_Title::OK == "Data"
$game_system.se_play($data_system.decision_se)
else
Audio.se_play("Audio/SE/" + Config_Title::OK, 90, 100)
end
# Mudar para a tela de Carregar arquivos
$scene = Scene_Load.new
end
#--------------------------------------------------------------------------
# Comando: Sair
#--------------------------------------------------------------------------
def command_shutdown
# Reproduzir SE de OK
if Config_Title::OK == "Data"
$game_system.se_play($data_system.decision_se)
else
Audio.se_play("Audio/SE/" + Config_Title::OK, 90, 100)
end
# Diminuir o volume de BGM, BGS e ME
Audio.bgm_fade(800)
Audio.bgs_fade(800)
Audio.me_fade(800)
# Sair
$scene = nil
end
#--------------------------------------------------------------------------
# Teste de Batalha
#--------------------------------------------------------------------------
def battle_test
# Carregar Banco de Dados para o Teste de Batalha
$data_actors = load_data("Data/BT_Actors.rxdata")
$data_classes = load_data("Data/BT_Classes.rxdata")
$data_skills = load_data("Data/BT_Skills.rxdata")
$data_items = load_data("Data/BT_Items.rxdata")
$data_weapons = load_data("Data/BT_Weapons.rxdata")
$data_armors = load_data("Data/BT_Armors.rxdata")
$data_enemies = load_data("Data/BT_Enemies.rxdata")
$data_troops = load_data("Data/BT_Troops.rxdata")
$data_states = load_data("Data/BT_States.rxdata")
$data_animations = load_data("Data/BT_Animations.rxdata")
$data_tilesets = load_data("Data/BT_Tilesets.rxdata")
$data_common_events = load_data("Data/BT_CommonEvents.rxdata")
$data_system = load_data("Data/BT_System.rxdata")
# Aqui o contador de frames é resetado para que se conte o Tempo de Jogo
Graphics.frame_count = 0
# Criar cada tipo de objetos do jogo
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.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
# Configurar Grupo para o Teste de Batalha
$game_party.setup_battle_test_members
# Definir o ID do Grupo de Inimigos, a possibilidade de fuga e o Fundo de
# Batalha
$game_temp.battle_troop_id = $data_system.test_troop_id
$game_temp.battle_can_escape = true
$game_map.battleback_name = $data_system.battleback_name
# Reproduzri SE de início de batalha
$game_system.se_play($data_system.battle_start_se)
# Reproduzir BGM de batalha
$game_system.bgm_play($game_system.battle_bgm)
# Mudar para a tela de batalha
$scene = Scene_Battle.new
end
end
Demo:
http://www.4shared.c... ... Title.html














