1 A 4ª OPÇÃO 25/4/2012, 16:22
RoqueFox
Membro II
A 4ª OPÇÃO
INTRODUÇÃO:Exibe uma quarta opção no menu de titulo.
CARACTERISTICAS:
Quando a opção é selecionada, ela teletransporta o personagem para um mapa
DEMO
Não necessita
SCRIPT:
- Código:
#==============================================================================
# 4 opção no menu
#
# Tutorial: Anakin skywalker ( www.rpgmakerbrasil.com)
# Montagem do script: Akimenerus ( www.santuariorpgmaker.com)
#------------------------------------------------------------------------------
# Cria uma 4 opção na tela titulo
#==============================================================================
class Scene_Title
#----------------------------------------------------------------------------
$menu_name_window = "Ajuda" # Defina o nome da quarta opção
$scene_grow = (1) # ID do mapa que vai ser teleportado
$map_portx = 0 # coordenada X do personagem ao ser teleportado
$map_porty = 0 # coordenada Y do personagem ao ser teleportado
#--------------------------------------------------------------------------
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($data_system.title_name)
# Criar uma janela de comandos
s1 = "Novo Jogo"
s2 = "Continuar"
s3 = $menu_name_window
s4 = "Sair"
@command_window = Window_Command.new(192, [s1, s2, s3, s4])
@command_window.back_opacity = 160
@command_window.x = 320 - @command_window.width / 2
@command_window.y = 288
# 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..99
if FileTest.exist?("Saves/Save#{i+1}.rxdata")
@continue_enabled = true
end
end
# Se Continuar estiver habilitado, mover o cursor para "Continuar"
# Se estiver desabilitado, o texto será mostrado em cinza
if @continue_enabled
@command_window.index = 1
else
@command_window.disable_item(1)
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 a janela de comandos
@command_window.dispose
# Exibir o gráfico de Título
@sprite.bitmap.dispose
@sprite.dispose
end
#--------------------------------------------------------------------------
# Atualização do Frame
#--------------------------------------------------------------------------
def update
# Atualizar a janela de comandos
@command_window.update
# Se o botão C for pressionado
if Input.trigger?(Input::C)
# ramificação pela posição do cursor
case @command_window.index
when 0 # Novo Jogo
command_new_game
when 1 # Continuar
command_continue
when 2 # Ajuda
command_nova_opcao
when 3 # Sair
command_shutdown
end
end
end
#--------------------------------------------------------------
# Comando: novo comando
#--------------------------------------------------------------
def command_nova_opcao
# Reprodução da SE que vai tocar quando clicar sobre este comando
$game_system.se_play($data_system.decision_se)
# Faz parar de tocar a musica da tela título
Audio.bgm_stop
# O contador de frames é resetado para que se conte o Tempo de Jogo
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
# são os personagens que vão começar no jogo
$game_party.setup_starting_members
# mapa pra qual vai ser teleportado o jogador
$game_map.setup($scene_grow)
# coordenadas do player no mapa
$game_player.moveto($map_portx,$map_porty)
# Atualização do jogador
$game_player.refresh
# Rodar, de acordo com o mapa, a BGM e a BGS
$game_map.autoplay
# Atualizar mapa (executar os processos paralelos)
$game_map.update
# Chamar o mapa desejado
$scene = Scene_Map.new
end
end
SCREENSHOTS:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
INSTRUÇÕES:
Cole o script acima do main.
Da linha 14 à 17 defina o nome da opção, a qual mapa ela levará o personagem e as ID de posição.
AGRADECIMENTOS:
À Anakin skywalker por montar o tutorial ([Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
À Areksu por montar o script [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]