Orb Menu [RPG Maker XP]
Publicado em 27 de novembro de 2015.Orb Menu é um script desenvolvido para o RPG Maker XP pelo Marcelo Cavaco que adiciona um menu de orbes ao seu projeto que está sendo criado utilizando-se este maker.
Ele pode ser personalizado, modificando-se o script. Convém ter alguma experiência com RGSS para entender melhor como se usa, para quê e e como ele pode ser customizado.
Utilização
Para testar o script é simples: Vá no menu, selecione a opção “ORB’s” e tecle [ENTER]. Baixe e teste a demo para ter uma idéia melhor.
Para usar o script, insira o código abaixo em cima do Main:
#==============================================================================
# Criado por Marcelo Cavaco (marcelocavaco@click21.com.br)
#==============================================================================
#==============================================================================
# module MC_Setup (Módulo Marcelo Cavaco)
#------------------------------------------------------------------------------
# Este módulo agrupa alguns atributos para que você possa
# personalizar o script à sua necessidade.
#==============================================================================
module MC_Setup
ICONES_DOS_ORBS = [ "001-Weapon01",
"002-Weapon02",
"003-Weapon03",
"004-Weapon04",
"005-Weapon05",
"006-Weapon06",
"007-Weapon07",
"008-Weapon08"]
IMAGENS_DOS_ORBS = ["orb1.jpg",
"orb2.jpg",
"orb1.jpg",
"orb2.jpg",
"orb1.jpg",
"orb2.jpg",
"orb1.jpg",
"orb2.jpg"]
LISTA_DE_ORBS = [ "ORB 01",
"ORB 02",
"ORB DE GELO",
"ORB DE FOGO",
"ORB 03",
"ORB 04",
"ORB 05",
"ORB 06"]
FUNDO_ORB = "orb.jpg"
class DescricaoOrb
# Variáveis públicas
attr_reader :nOrb
attr_reader :aDesc
def initialize(nIndice, aDescricao)
@nOrb = nIndice
@aDesc = aDescricao
end
end
aDescOrb0 = [ "1 - 1111 1111 1111 1111 1111 1111 1111",
"2 - 1111 1111 1111 1111 1111 1111",
"3 - 1111 1111 1111 1111 1111 1111 1111",
"4 - 1111 1111 1111 1111 1111",
"5 - 1111 1111 1111 1111 1111 1111" ]
aDescOrb1 = [ "1 - 2222 2222 2222 2222",
"2 - 2222 2222 2222 2222 2222",
"3 - 2222 2222 2222 2222 2222 2222",
"4 - 2222 2222 2222 2222 2222",
"5 - 2222 2222 2222 2222",
"6 - 2222 2222 2222 2222 2222"]
aDescOrb2 = [ "1 - 3333 3333 3333 3333 3333 3333 3333",
"2 - 3333 3333 3333 3333 3333 3333 3333",
"3 - 3333 3333 3333 3333 3333 3333 3333",
"4 - 3333 3333 3333 3333 3333 3333 3333",
"5 - 3333 3333 3333 3333 3333 3333 3333"]
aDescOrb3 = [ "1 - 4444 4444 4444 4444 4444 4444 4444",
"2 - 4444 4444 4444 4444 4444 4444",
"3 - 4444 4444 4444 4444 4444",
"4 - 4444 4444 4444 4444 4444 4444",
"5 - 4444 4444 4444 4444 4444 4444",
"6 - 4444 4444 4444 4444 4444",
"7 - 4444 4444 4444 4444 4444 4444 4444",
"8 - 4444 4444 4444 4444 4444 4444 4444 4444",
"9 - 4444 4444 4444 4444 4444 4444 4444",
"10 - 4444 4444 4444 4444 4444 4444",
"11 - 4444 4444 4444 4444 4444"]
aDescOrb4 = [ "1 - 4444 6789 1234 9678 9",
"2 - 6789 1234 9678 9",
"3 - 6789 1234 9678 9",
"4 - 6789 1234 9678 9",
"5 - 6789 1234 9678 9" ]
aDescOrb5 = [ "1 - 5555 6789 1234 9678 9",
"2 - 6789 1234 9678 9",
"3 - 6789 1234 9678 9",
"4 - 6789 1234 9678 9",
"5 - 6789 1234 9678 9" ]
aDescOrb6 = [ "1 - 6666 6789 1234 9678 9",
"2 - 6789 1234 9678 9",
"3 - 6789 1234 9678 9",
"4 - 6789 1234 9678 9",
"5 - 6789 1234 9678 9" ]
aDescOrb7 = [ "1 - 7777 6789 1234 9678 9",
"2 - 6789 1234 9678 9",
"3 - 6789 1234 9678 9",
"4 - 6789 1234 9678 9",
"5 - 6789 1234 9678 9" ]
DESCRICOES_ORBS = [ DescricaoOrb.new(0, aDescOrb0),
DescricaoOrb.new(1, aDescOrb1),
DescricaoOrb.new(2, aDescOrb2),
DescricaoOrb.new(3, aDescOrb3),
DescricaoOrb.new(4, aDescOrb4),
DescricaoOrb.new(5, aDescOrb5),
DescricaoOrb.new(6, aDescOrb6),
DescricaoOrb.new(7, aDescOrb7)]
def initialize
super
end
end
#==============================================================================
# Window_Base
#------------------------------------------------------------------------------
# Esta classe é para todos as janelas do jogo
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# - Desenhar uma Determinada Picture
#
# picture_name : Nome da Picture a ser desenhada
# x : Desenhar a partir da coordenada x
# y : Desenhar a partir da coordenada y
#--------------------------------------------------------------------------
def draw_picture(picture_name, x, y, cw, ch)
if FileTest.exist?("Graphics/Pictures/" + picture_name )
bitmap = RPG::Cache.picture(picture_name)
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y , bitmap, src_rect)
else
print "A figura Graphics/Pictures/" + picture_name + " não foi encontrada!\n\nEntre em contato com marcelocavaco@click21.com.br para mais detalhes..."
end
end
end
#==============================================================================
# Window_SelectOrb
#------------------------------------------------------------------------------
# Janela para selecionar qual o treinamento será efetuado
#==============================================================================
class Window_Descricao_Orbs < Window_Base
# Variáveis públicas
attr_reader :nIndex
attr_reader :aDescOrb
attr_reader :aLinhas
def alterar_orb(index)
@nIndex = index
@aDescOrb = MC_Setup::DESCRICOES_ORBS
@aLinhas = @aDescOrb[@nIndex].aDesc
refresh
end
#------------------------------------------------------------------------------
# método initialize da janela Window_Descricao_Orbs
#------------------------------------------------------------------------------
def initialize(index)
@nIndex = index
@aDescOrb = MC_Setup::DESCRICOES_ORBS
@aLinhas = @aDescOrb[@nIndex].aDesc
# Cálculos para centralizar a janela
@nLarguraJanela = 630
@nAlturaJanela = ((@aLinhas.size+3)*32)+4
nPosX = (640/2)-(@nLarguraJanela/2)
nPosY = (480/2)-(@nAlturaJanela/2)
# incializa a classe mãe
super( nPosX, nPosY, @nLarguraJanela, @nAlturaJanela)
# configura a área disponível para uso da janela
self.contents = Bitmap.new(width - 32, height - 32)
# configura a fonte da janela
self.contents.font.name = $fontface
# configura o tamanho da fonte da janela
self.contents.font.size = $fontsize
# redesenhando a janela
refresh
self.active = false
# indicando a posição da janela no eixo Z
self.z=50
end # fim do método initialize da classe Window_Descricao_Orbs
#------------------------------------------------------------------------------
# método refresh da janela Window_Descricao_Orbs
#------------------------------------------------------------------------------
def refresh
@nAlturaJanela = ((@aLinhas.size+3)*32)+4
nPosX = (640/2)-(@nLarguraJanela/2)
nPosY = (480/2)-(@nAlturaJanela/2)
# configura a área disponível para uso da janela
self.contents = Bitmap.new(@nLarguraJanela - 32, @nAlturaJanela - 32)
# indicando a skin da janela
self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name)
self.x = nPosX
self.y = nPosY
self.height = @nAlturaJanela
# limpando toda a janela
self.contents.clear
desenhar_texto(@nIndex)
end # fim do método refresh da classe Window_Descricao_Orbs
#------------------------------------------------------------------------------
# método draw_titulo da janela Window_Descricao_Orbs
#------------------------------------------------------------------------------
def draw_titulo(index, cTexto)
self.contents.blt(4, 4, RPG::Cache.icon(MC_Setup::ICONES_DOS_ORBS[index]), Rect.new(0, 0, 24, 24), 255)
self.contents.font.color = normal_color
self.contents.draw_text(4+30, 4, @nLarguraJanela, 32, cTexto, 0)
end
#------------------------------------------------------------------------------
# método refresh da janela Window_Descricao_Orbs
#------------------------------------------------------------------------------
def desenhar_texto(nIndex)
draw_titulo(nIndex, MC_Setup::LISTA_DE_ORBS[nIndex])
draw_picture(MC_Setup::IMAGENS_DOS_ORBS[nIndex], 4, 64, 400, 400)
# desenhandoa listagem de itens
for i in 0..@aLinhas.size
if @aLinhas[i] != nil then
self.contents.draw_text(200, 32*(i+2), @nLarguraJanela, 32, @aLinhas[i], 3)
end
end
end # fim do método refresh da classe Window_Descricao_Orbs
end # fim da classe Window_Descricao_Orbs
#------------------------------------------------------------------------------
# Fim da classe Window_Descricao_Orbs
#------------------------------------------------------------------------------
#==============================================================================
# Window_SelectOrb
#------------------------------------------------------------------------------
# Janela para selecionar qual o treinamento será efetuado
#==============================================================================
class Window_SelectOrb < Window_Selectable
# Variáveis públicas
attr_reader :aOrbs
attr_reader :aIcones
#------------------------------------------------------------------------------
# método initialize da janela Window_SelectOrb
#------------------------------------------------------------------------------
def initialize()
@aOrbs = MC_Setup::LISTA_DE_ORBS
@aIcones = MC_Setup::ICONES_DOS_ORBS
# Cálculos para centralizar a janela
nNumeroOpcoes = @aOrbs.size
nLarguraJanela = 250
nAlturaJanela = 32*(nNumeroOpcoes+1)
nPosX = (640/2)-(nLarguraJanela/2)
nPosY = (480/2)-(nAlturaJanela/2)
# incializa a classe mãe
super( nPosX, nPosY, nLarguraJanela, nAlturaJanela)
# configura a área disponível para uso da janela
self.contents = Bitmap.new(width - 32, height - 32)
# configura a fonte da janela
self.contents.font.name = $fontface
# configura o tamanho da fonte da janela
self.contents.font.size = $fontsize
# indicando quantos itens queremos na tela de comando
# itens igual ao total de valores no vetor @commands
self.index = @item_max = @aOrbs.size
# indicando quantas colunas queremos na tela de comando
# colunas igual ao número de itens
@column_max = 1
# redesenhando a janela
refresh
self.active = false
# indicando a posição inicial do cursor ao abrir a janela
self.index = 0
# indicando a posição da janela no eixo Z
self.z=50
end # fim do método initialize da classe Window_SelectOrb
#------------------------------------------------------------------------------
# método draw_item da janela Window_SelectOrb
#------------------------------------------------------------------------------
def draw_item(index, cTexto)
self.contents.blt(4, (index*32)+4, RPG::Cache.icon(@aIcones[index]), Rect.new(0, 0, 24, 24), 255)
self.contents.font.color = normal_color
self.contents.draw_text(4+30, index*32, 250, 32, cTexto, 0)
end
#------------------------------------------------------------------------------
# método refresh da janela Window_SelectOrb
#------------------------------------------------------------------------------
def refresh
# limpando toda a janela
self.contents.clear
# indicando a skin da janela
self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name)
# desenhandoa listagem de itens
for i in 0...@aOrbs.size
draw_item(i, @aOrbs[i])
end
end # fim do método refresh da classe Window_SelectOrb
end # fim da classe Window_SelectOrb
#------------------------------------------------------------------------------
# Fim da classe Window_SelectOrb
#------------------------------------------------------------------------------
#==============================================================================
# Window_PlayTime
#------------------------------------------------------------------------------
# Janela que exibe o tempo de jogo
#==============================================================================
class Window_PlayTime < Window_Base
#--------------------------------------------------------------------------
# - Inicialização dos Objetos
#--------------------------------------------------------------------------
def initialize
super(0, 0, 160, 80)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
refresh
end
#--------------------------------------------------------------------------
# - Atualização
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, 24, "Tempo de Jogo")
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.font.color = normal_color
self.contents.draw_text(4, 24, 120, 24, text, 2)
end
end
#==============================================================================
# Window_Steps
#------------------------------------------------------------------------------
# Janela que exibe a quantidade de passos
#==============================================================================
class Window_Steps < Window_Base
#--------------------------------------------------------------------------
# - Inicialização dos Objetos
#--------------------------------------------------------------------------
def initialize
super(0, 0, 160, 80)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
refresh
end
#--------------------------------------------------------------------------
# - Atualização
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, 32, "Passos")
self.contents.font.color = normal_color
self.contents.draw_text(4, 20, 120, 32, $game_party.steps.to_s, 2)
end
end
#------------------------------------------------------------------------------
# Scene_Orb
#------------------------------------------------------------------------------
# Classe que vai controlar as janelas de Orb's
#------------------------------------------------------------------------------
class Scene_Orb
#------------------------------------------------------------------------------
# método main executado toda vez que iniciamos o objeto
# (Scene_Orb.new)
#------------------------------------------------------------------------------
def main()
@spriteset = Sprite.new
@spriteset.bitmap = RPG::Cache.picture(MC_Setup::FUNDO_ORB)
# definindo uma variável para nossa janela de comandos principais
@command_window = Window_SelectOrb.new
# informando que queremos a janela de comandos ativada
@command_window.active = true
# informando que queremos a janela de comandos visível
@command_window.visible = true
@descricao_orb = Window_Descricao_Orbs.new(0)
@descricao_orb.active = false
@descricao_orb.visible = false
# executa a transição da tela
Graphics.transition
loop do
# atualiza os gráficos
Graphics.update
# atualiza as entradas
Input.update
# atualiza scene indefinidamente até que a scene seja fechada
update
if $scene != self
# se sair desta scene,
# para de executar este código
break
end # fim do if $scene != self
end # fim do comando loop do
# finaliza os gráficos e imagens
Graphics.freeze
@spriteset.dispose
# fecha todas as janelas que criamos nesta scene
@command_window.dispose
@descricao_orb.dispose
end # fim do método main da classe Scene_Orb
#------------------------------------------------------------------------------
# método update da classe Scene_Orb
#------------------------------------------------------------------------------
def update
# atualiza todas as janelas que criamos nesta scene
@command_window.update
@descricao_orb.update
if @command_window.active
update_command
elsif @descricao_orb.active
update_command_orb
end
end # fim do método update da classe Scene_Orb
#------------------------------------------------------------------------------
# método update_command_orb da classe Scene_Orb
#------------------------------------------------------------------------------
def update_command_orb
#verifica a tecla pressionada
if Input.trigger?(Input::B)
# se a tecla dgitada por [esc] ou X
# toca som de cancelar
$game_system.se_play($data_system.cancel_se)
@command_window.active = true # ativa a janela @command_window
@command_window.visible = true # torna a janela @command_window visível
@descricao_orb.active = false # desativa a janela @treinamento
@descricao_orb.visible = false # torna a janela @treinamento invisível
end # fim do if Input.trigger?
end # fim do método update_command_orb da classe Scene_Orb
#------------------------------------------------------------------------------
# método update_command da classe Scene_Orb
#------------------------------------------------------------------------------
def update_command
#verifica a tecla pressionada
if Input.trigger?(Input::B)
# se a tecla dgitada por [esc] ou X
# toca som de cancelar
$game_system.se_play($data_system.cancel_se)
@command_window.active = false # desativa a janela @command_window
@command_window.visible = false # torna a janela @command_window invisível
@descricao_orb.active = false # desativa a janela @nivel
@descricao_orb.visible = false # torna a janela @nivel invisível
# Mudar para a tela do Menu
$scene = Scene_Menu.new(4)
elsif Input.trigger?(Input::C)
# se a tecla digitada por [enter] ou C
# toca som de decisão
$game_system.se_play($data_system.decision_se)
@command_window.active = false # desativa a janela @command_window
@command_window.visible = false # torna a janela @command_window invisível
@descricao_orb.alterar_orb(@command_window.index)
@descricao_orb.active = true # ativa a janela @treinamento
@descricao_orb.visible = true # torna a janela @treinamento visível
end # fim do if Input.trigger?
end # fim do método update_command da classe Scene_Orb
end # fim da classe Scene_Orb
#------------------------------------------------------------------------------
# Fim da classe Scene_Orb
#------------------------------------------------------------------------------
#==============================================================================
# Scene_Menu
#------------------------------------------------------------------------------
# Esta classe processa a Tela de Menu
#==============================================================================
class Scene_Menu
#--------------------------------------------------------------------------
# - Inicialização dos Objetos
#
# menu_index : posição inicial do cursor de comando
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# - Processamento Principal
#--------------------------------------------------------------------------
def main
# Criar janela de comando
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Status"
s5 = "Orb's"
s6 = "Salvar"
s7 = "Fim de Jogo"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
@command_window.index = @menu_index
# Se o número de membros do Grupo de Heróis for 0
if $game_party.actors.size == 0
# Desabilar as janelas de Item, Habilidades, Equipamento e Status
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
# Se Salvar for Proibido
if $game_system.save_disabled
# Desabilitar Salvar
@command_window.disable_item(4)
end
# Criar janela de Tempo de Jogo
@playtime_window = Window_PlayTime.new
@playtime_window.x = 0
@playtime_window.y = 256
# Criar janela de Número Passos
@steps_window = Window_Steps.new
@steps_window.x = 0
@steps_window.y = 336
# Criar janela de Dinheiro
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 416
# Criar janela de Status
@status_window = Window_MenuStatus.new
@status_window.x = 160
@status_window.y = 0
# Criar janela de Nível
@nivel_window = Window_MenuStatus.new
@nivel_window.x = 160
@nivel_window.y = 0
# 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 Frame
update
# Abortar loop se a tela for alterada
if $scene != self
break
end
end
# Preparar para transiçõa
Graphics.freeze
# Exibição das janelas
@command_window.dispose
@playtime_window.dispose
@steps_window.dispose
@gold_window.dispose
@status_window.dispose
@nivel_window.dispose
end
#--------------------------------------------------------------------------
# - Atualização do Frame
#--------------------------------------------------------------------------
def update
# Atualizar janelas
@command_window.update
@playtime_window.update
@steps_window.update
@gold_window.update
@status_window.update
@nivel_window.update #
# Se a janela de comandos estiver ativo: chamar update_command
if @command_window.active
update_command
return
end
# Se a janela de Status estiver ativa: call update_status
if @status_window.active or @nivel_window.active
update_status
return
end
end
#--------------------------------------------------------------------------
# - Atualização do Frame (Quando a janela de Comandos estiver Ativa)
#--------------------------------------------------------------------------
def update_command
# Se o botão B for pressionado
if Input.trigger?(Input::B)
# Reproduzir SE de cancelamento
$game_system.se_play($data_system.cancel_se)
# Alternar para a tela do mapa
$scene = Scene_Map.new
return
end
# Se o botão C for pressionado
if Input.trigger?(Input::C)
# Se o comando for outro senão Salvar, Fim de Jogo e o número de Heróis no
# Grupo for 0
if $game_party.actors.size == 0 and @command_window.index < 4 # Reproduzir SE de erro $game_system.se_play($data_system.buzzer_se) return end # Ramificação por posição do cursor na janela de comandos case @command_window.index when 0 # Itens # Reproduzir SE de OK $game_system.se_play($data_system.decision_se) # Alternar para a tela de Itens $scene = Scene_Item.new when 1 # Habilidades # Play decision SE $game_system.se_play($data_system.decision_se) # Ativar o status da janela @command_window.active = false @status_window.active = true @status_window.index = 0 when 2 # Equipamentos # Reproduzir SE de OK $game_system.se_play($data_system.decision_se) # Ativar o status da janela @command_window.active = false @status_window.active = true @status_window.index = 0 when 3 # Status # Reproduzir SE de OK $game_system.se_play($data_system.decision_se) # Ativar o status da janela @command_window.active = false @status_window.active = true @status_window.index = 0 when 4 # Orb's Menu # Reproduzir SE de OK $game_system.se_play($data_system.decision_se) # Alternar para a tela de Orb's $scene = Scene_Orb.new() when 5 # Salvar # Se Salvar for proibido if $game_system.save_disabled # Reproduzir SE de erro $game_system.se_play($data_system.buzzer_se) return end # Reproduzir SE de OK $game_system.se_play($data_system.decision_se) # Alternar para a tela de save $scene = Scene_Save.new when 6 # Fim de Jogo # Reproduzir SE de OK $game_system.se_play($data_system.decision_se) # Alternar para a tela de Fim de Jogo $scene = Scene_End.new end return end end #-------------------------------------------------------------------------- # - Atualização do Frame (Quando o status da Janela estiver Ativo) #-------------------------------------------------------------------------- def update_status # Se o botão B for pressionado if Input.trigger?(Input::B) # Reproduzir SE de cancelamento $game_system.se_play($data_system.cancel_se) # Torna a janela de comandos ativa @command_window.active = true @status_window.active = false @status_window.index = -1 return end # Se o botão C for pressionado if Input.trigger?(Input::C) # Ramificação por posição do cursor na janela de comandos case @command_window.index when 1 # Habilidades # Se o limite de ação deste Herói for de 2 ou mais if $game_party.actors[@status_window.index].restriction >= 2
# Reproduzir SE de erro
$game_system.se_play($data_system.buzzer_se)
return
end
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Habilidades
$scene = Scene_Skill.new(@status_window.index)
when 2 # Equipamento
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Equipamento
$scene = Scene_Equip.new(@status_window.index)
when 3 # Status
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela de Status
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end
#==============================================================================
# Scene_Save
#------------------------------------------------------------------------------
# Esta classe processa o Save.
#==============================================================================
class Scene_Save < Scene_File
#--------------------------------------------------------------------------
# - Processamento de Decisão
#--------------------------------------------------------------------------
def on_decision(filename)
# Reproduzir Se de Save
$game_system.se_play($data_system.save_se)
# Graavar
file = File.open(filename, "wb")
write_save_data(file)
file.close
# Caso tenha sido chamdo por um evento...
if $game_temp.save_calling
# Limpar flag de chamado de save
$game_temp.save_calling = false
# Mudar para a tela do Mapa
$scene = Scene_Map.new
return
end
# Mudar para a tela do Menu (Alterado)
$scene = Scene_Menu.new(5)
end
#--------------------------------------------------------------------------
# - Processo de Cancelamento
#--------------------------------------------------------------------------
def on_cancel
# Reproduzir SE de cancelamento
$game_system.se_play($data_system.cancel_se)
# Caso tenha sido chamdo por um evento...
if $game_temp.save_calling
# Limpar flag de chamado de save
$game_temp.save_calling = false
# Mudar para a tela do Mapa
$scene = Scene_Map.new
return
end
# Mudar para a tela do Menu (Alterado)
$scene = Scene_Menu.new(5)
end
end
#==============================================================================
# Scene_End
#------------------------------------------------------------------------------
# Esta classe processa a tela de Game Over.
#==============================================================================
class Scene_End
#--------------------------------------------------------------------------
# - Atualização do Frame
#--------------------------------------------------------------------------
def update
# Atualizar janela de comandos
@command_window.update
# Se o botão B for pressionado
if Input.trigger?(Input::B)
# Reproduzir SE de cancelamento
$game_system.se_play($data_system.cancel_se)
# Alternar para a tela de Menu (alterado)
$scene = Scene_Menu.new(6)
return
end
# Se o botão C for pressionado
if Input.trigger?(Input::C)
# Ramificação por posição na janela de comandos
case @command_window.index
when 0 # Ir à tela de título
command_to_title
when 1 # Sair
command_shutdown
when 2 # Cancelar
command_cancel
end
return
end
end
#--------------------------------------------------------------------------
# - Processamento na Escolha do Comando Cancelar
#--------------------------------------------------------------------------
def command_cancel
# Reproduzir SE de OK
$game_system.se_play($data_system.decision_se)
# Alternar para a tela do Menu
$scene = Scene_Menu.new(6)
end
endDownload e ficha técnica
- Download (clique com o botão esquerdo do mouse ou toque no link)
- Desenvolvedor, publisher e/ou distribuidor: Marcelo Cavaco
- Sistema(s): Windows 98/98SE/Me/2000/XP/Vista/7
- Tamanho: 238KB (pacote de instalação e/ou espaço em disco)
- Licença: Grátis
- Categoria: Programação XP
- Tags: Em revisão, RPG Maker XP
- Adicionado por: LichKing
- Acessos: 125
Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!
