Bom, este tutorial é bem simples e ensina como criar uma nova opção na tela título como Créditos, Mini-Games, Extra, Opções, etc. Através dos scripts RGSS.
Vamos lá:
Você deve encontrar o script de nome Scene_Tilte, para isso aperte F11 no rpg maker xp e na lista de scripts à esquerda selecione o script Scene_Tilte.
No script, você vai encontrar 3 linhas iguais as abaixo:
-------------------------
s1 = "Novo Jogo"
s2 = "Continuar"
s3 = "Sair"
-------------------------
Observe que Novo Jogo, Continuar e Sair estão na cor roxa no script, isto significa que são palavras que vão aparecer no jogo e que podem ser modificadas.
Para colocar uma nova opção não é preciso dizer muita coisa. Faça como o exemplo abaixo:
-------------------------
s1 = "Novo Jogo"
s2 = "Continuar"
s3 = "Créditos"
s4 = "Sair"
-------------------------
Sempre seguindo a ordem s1, s2, s3, s4, s5, etc... Você pode trocar a palavra Créditos por qualquer outra, apenas estou usando este exemplo.
Agora são 4 comandos ao invés de 3. Então é preciso mostrar para o script que surgiu um novo comando. Para isso encontre uma linha igual a esta:
--------------------------------------------------------------------------
@command_window = Window_Command.new(192, [s1, s2, s3])
--------------------------------------------------------------------------
Esta linha está indicando para o script quais os comandos existentes que são s1, s2 e s3 que já definidos antes são Novo Jogo, Continuar e Sair.
Apenas adicione o s4. Vai ficar assim:
------------------------------------------------------------------------------
@command_window = Window_Command.new(192, [s1, s2, s3, s4])
------------------------------------------------------------------------------
Bom, já da pra fazer um teste de como ficou. Quando iniciar o jogo observe que o novo comando já esta presente mais quando se clica nele a tela fecha. Por que isso?
Por que faltou definir o que o novo comando vai fazer.
Abra o script novamente e procure pelo método def update que são as linhas abaixo:
-----------------------------------------------
def update
@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
----------------------------------------------
Este método vai definir o que vai acontecer se você apertar o botão de ação sobre os comandos.
when 0 significa s1 já definido antes como Novo Jogo
when 1 significa s2 já definido antes como Continuar
when 2 significa s3 agora definido como Mini Games
Logo após when 2 está escrito assim command_shutdown. Troque por command_creditos.
Abaixo coloque o que o comando Sair (when 3) vai fazer.
Então vai ficar assim:
-----------------------------------------------
def update
@command_window.update
if Input.trigger?(Input::C)
case @command_window.index
when 0
command_new_game
when 1
command_continue
when 2
command_creditos
when 3
command_shutdown
end
end
end
----------------------------------------------
Agora vem a última parte: Definir o que o command_creditos vai fazer.
Após o último end do método def update adicione este código:
---------------------------------------------------------------
def command_creditos
$game_system.se_play($data_system.decision_se)
Audio.bgm_stop
Graphics.frame_count = 0
$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
$game_party.setup_starting_members
$game_map.setup(3)
$game_player.moveto(0, 0)
$game_player.refresh
$game_map.autoplay
$game_map.update
$scene = Scene_Map.new
end
--------------------------------------------------------------
Explicação:
def command_creditos
--> Estamos iniciando aqui a definição do command_creditos
$game_system.se_play($data_system.decision_se)
--> Reprodução da SE que vai tocar quando clicar sobre este comando
Audio.bgm_stop
--> Faz parar de tocar a BGM da tela título
Graphics.frame_count = 0
--> O contador de frames é resetado para que se conte o Tempo de 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
--> Todas estas linhas inicia cada objeto como variável, switchs, etc.
$game_party.setup_starting_members
--> Qual são os personagens que vão começar no jogo
$game_map.setup(3)
--> Aqui esta indicando qual é o mapa que o jogador será levado quando clicar sobre o comando Créditos. Onde está o número 3 coloque a id do mapa onde você vai fazer os eventos.
Este tutorial esta apenas ensinando como colocar uma nova opção na tela título. O que o comando vai fazer você vai definir através de eventos em um mapa a parte.
$game_player.moveto(0, 0)
--> Aqui é indicado qual as cordenadas X e Y que o personagem vai aparecer quando for mandado para o mapa que você definiu acima.
$game_player.refresh
--> Atualização do jogador
$game_map.autoplay
--> Rodar, de acordo com o mapa, a BGM e a BGS
$game_map.update
--> Atualizar mapa (executar processos paralelos)
$scene = Scene_Map.new
--> Chamar o mapa
end
--> fim da classe def command_creditos
Pronto! Agora é só fazer o teste e ver que quando clicado no comando Créditos o jogador vai ser mandado para o mapa que você definiu.
Crie um processo paralelo neste mapa e nele faça o que desejar, neste caso, os créditos.