Características
Adiciona a opção de sobrescrever ou não os arquivos salvos.
Diferente do padrão do RPG Maker XP, que simplesmente sobrescreve ao clicar.
Screenshot
Como usar
Abra o RPG Maker com seu projeto.
Abra o Editor de Scripts (Tecla F11)
Cole o script acima do "Main"
Script
- Código:
#==============================================================================
# ** Scene_File
#------------------------------------------------------------------------------
# Scene básica para os menus Carregar e Salvar
#==============================================================================
class Scene_File
#--------------------------------------------------------------------------
# * Principal
#--------------------------------------------------------------------------
alias rpg_advocate_overwrite_confirm_file_main main
def main
rpg_advocate_overwrite_confirm_file_main
# Se a scene atual for Scene_Save
if self.is_a?(Scene_Save)
# Propõe confirmação opções para sobrescerver arquivo
@confirm_window.dispose
@yes_no_window.dispose
end
end
end
#==============================================================================
# ** Scene_Save
#==============================================================================
class Scene_Save < Scene_File
#--------------------------------------------------------------------------
# * Inicialização do objeto
#--------------------------------------------------------------------------
alias rpg_advocate_overwrite_confirm_save_initialize initialize
def initialize
rpg_advocate_overwrite_confirm_save_initialize
overwrite_confirm_window
end
#--------------
def overwrite_confirm_window
@confirm_window = Window_Base.new(120, 188, 400, 64)
@confirm_window.contents = Bitmap.new(368, 32)
string = "Substituir Arquivo?"
@confirm_window.contents.font.name = ["Tahoma"]
@confirm_window.contents.font.size = 18
@confirm_window.contents.draw_text(4, 0, 368, 32, string)
@yes_no_window = Window_Command.new(100, ["Sim", "Não"])
@confirm_window.visible = false
@confirm_window.z = 1500
@yes_no_window.visible = false
@yes_no_window.active = false
@yes_no_window.index = 1
@yes_no_window.x = 270
@yes_no_window.y = 252
@yes_no_window.z = 1500
@mode = 0
end
#--------------------------------------------------------------------------
# * Processa decisão
#--------------------------------------------------------------------------
alias rpg_advocate_overwrite_confirm_save_decision on_decision
def on_decision(filename)
if FileTest.exist?(filename)
@confirm_window.visible = true
@yes_no_window.visible = true
@yes_no_window.active = true
@mode = 1
else
rpg_advocate_overwrite_confirm_save_decision(filename)
end
end
# -----------------------------
def update
if @mode == 0
super
else
@help_window.update
@yes_no_window.update
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
if @yes_no_window.index == 0
filename = make_filename(@file_index)
$game_system.se_play($data_system.save_se)
file = File.open(filename, "wb")
write_save_data(file)
file.close
if $game_temp.save_calling
$game_temp.save_calling = false
$scene = Scene_Map.new
else
$scene = Scene_Menu.new(4)
end
else
@confirm_window.visible = false
@yes_no_window.visible = false
@yes_no_window.active = false
@yes_no_window.index = 1
@mode = 0
end
end
if Input.trigger?(Input::B)
@confirm_window.visible = false
@yes_no_window.visible = false
@yes_no_window.active = false
@yes_no_window.index = 1
@mode = 0
return
end
end
end
end
Perguntas Frequentes
Pergunta: Compatível com o VX/VXA?
Resposta: Não. ¯\_(ツ)_/¯