O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

cRmGSS - SceneFile Confirmation

Iniciado por Raizen, 17/12/2012 às 17:27



  SceneFile Confirmation

Compativel com: RMVXAce
Compatibilidade :baixa
Facilidade de uso: fácil
Lag gerado: baixo

[box class=titlebg]
Condições de Uso
[/box]
  Pode ser modificado, desde que os devidos créditos permaneçam.

[box class=titlebg]
Para que serve o script
[/box]

  Adiciona uma janela de confirmação na Scene_File, cujas opções são:

- Salvar/Carregar/Reescrever
- Deletar
- Cancelar


[box class=titlebg]
Script.
[/box]

#==============================================================================
# ** SceneFile_Confirmation
#------------------------------------------------------------------------------
# Autor: JohnBolton
# Acesse : www.centrorpgmaker.com
#==============================================================================
# Adiciona uma janela de confirmação na Scene_File, cuja opções são:
#
# - Salvar/Carregar/Reescrever
# - Deletar
# - Cancelar 
# 
#==============================================================================

module Bolton92
  module Save_load_delete_confirmation
    Options = {
    
  #--------------------------------------------------------------------------
  # * Configurações
  #--------------------------------------------------------------------------
    
    "Option1_tosave" => "Salvar", 
    
    "Option1_torewrite" => "Reescrever",
    
    "Option1_toload" => "Carregar",
    
    "Option2" => "Deletar",
    
    "Option3" => "Cancelar"
    
    }
  end
end

#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
#  Esta classe gerencia os dados relacionados ao sistema. Também gerencia
# veículos, BGM, etc.
# A instância desta classe é referenciada por $game_system.
#==============================================================================

class Game_System
  #--------------------------------------------------------------------------
  # * Variáveis públicas
  #--------------------------------------------------------------------------
  attr_accessor :delete_enabled
  attr_accessor :index_save_confirmation
  #--------------------------------------------------------------------------
  # * Modificação do metodo initialize
  #--------------------------------------------------------------------------
  alias bolton92_system_initialize initialize
  def initialize
    bolton92_system_initialize
    @delete_enabled = 1
    @index_save_confirmation = 1
  end
end

#==============================================================================
# ** Window_Confirmation
#------------------------------------------------------------------------------
#  Esta janela para confirmação de Load/Save/Delete
#==============================================================================

class Window_Confirmation < Window_Command
  include Bolton92::Save_load_delete_confirmation
  #--------------------------------------------------------------------------
  # * Inicialização do processo
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0)
    update_placement
    self.openness = 0
    open
  end
  #--------------------------------------------------------------------------
  # * Aquisição da largura da janela
  #--------------------------------------------------------------------------
  def window_width
    return 160
  end
  #--------------------------------------------------------------------------
  #     x : coordenada X
  #     y : coordenada Y
  #--------------------------------------------------------------------------
  def update_placement
    self.x = (Graphics.width - width) / 2
    self.y = (Graphics.height - height) / 2
  end
  #--------------------------------------------------------------------------
  # * Criação da lista de comandos
  #--------------------------------------------------------------------------
  def make_command_list
    if $game_system.delete_enabled and $game_system.index_save_confirmation
      add_command(Options["Option1_torewrite"], :confirm)
    elsif $game_system.delete_enabled == false and $game_system.index_save_confirmation
      add_command(Options["Option1_tosave"], :confirm)
    elsif $game_system.index_save_confirmation == false
      add_command(Options["Option1_toload"], :confirm, $game_system.delete_enabled)
    end
    add_command(Options["Option2"], :delete, $game_system.delete_enabled)    
    add_command(Options["Option3"], :cancel)
  end
end

#==============================================================================
# ** Scene_File
#------------------------------------------------------------------------------
#  Esta classe executa o processamento da tela de salvar e carregar.
#==============================================================================
  
class Scene_File
  #--------------------------------------------------------------------------
  # * Modificação do metodo start
  #--------------------------------------------------------------------------
  alias bolton92_start start
  def start
    bolton92_start
    create_window_confirmation
    check_scene
  end
  #--------------------------------------------------------------------------
  # * Checagem da Scene atual (Scene_Load/Scene_Save)
  #--------------------------------------------------------------------------
  def check_scene
    if self.to_s.include?("Scene_Load")
      $game_system.index_save_confirmation = false
    else
      $game_system.index_save_confirmation = true
    end
  end
  #--------------------------------------------------------------------------
  # * Modificação do metodo update
  #--------------------------------------------------------------------------
  alias bolton92_update update
  def update    
    check_delete
    bolton92_update
  end
  #--------------------------------------------------------------------------
  # * Checagem da opção de deletação
  #--------------------------------------------------------------------------
  def check_delete
    index = sprintf("Save%02d.rvdata2", @index + 1)
    if File.exist?(index.to_s)
      $game_system.delete_enabled = true
    else
      $game_system.delete_enabled = false
    end
  end
  #--------------------------------------------------------------------------
  # * Atualização da seleção dos arquivos selecionados
  #--------------------------------------------------------------------------
  def update_savefile_selection
    unless @window_confirmation.active 
      if Input.trigger?(:C) 
        active_window_confirmation 
      elsif Input.trigger?(:B)
        Sound.play_cancel
        return_scene 
      end
      return update_cursor  
    end
  end
  #--------------------------------------------------------------------------
  # * Declaração da Window_Confirmation
  #--------------------------------------------------------------------------
  def create_window_confirmation
    @window_confirmation = Window_Confirmation.new
    @window_confirmation.set_handler(:confirm, method(:on_savefile_ok))
    @window_confirmation.set_handler(:delete, method(:delete))
    @window_confirmation.set_handler(:cancel, method(:on_savefile_cancel))
    restore_savefile_window
  end
  #--------------------------------------------------------------------------
  # * Metodo do comando :cancel
  #--------------------------------------------------------------------------
  def on_savefile_cancel
    restore_savefile_window
  end
  #--------------------------------------------------------------------------
  # * Processamento da exclusão do arquivo selecionado
  #--------------------------------------------------------------------------
  def delete
    if DataManager.delete_save_file(@index)
      restore_savefile_window
    end
  end
  #--------------------------------------------------------------------------
  # * Ativação da Window_Confirmation
  #--------------------------------------------------------------------------
  def active_window_confirmation
    Sound.play_ok
    create_window_confirmation
    @window_confirmation.active = true
    @window_confirmation.visible = true
    @window_confirmation.select_symbol(:confirm)
    @savefile_windows[@index].active = false
    @window_confirmation.refresh
  end  
  #--------------------------------------------------------------------------
  # * Ativação da lista de arquivos
  #--------------------------------------------------------------------------
  def restore_savefile_window
    @window_confirmation.active = false
    @window_confirmation.visible = false
    @savefile_windows[@index].active = true
    @savefile_windows[@index].refresh
  end
end 



Mais scripts do mesmo autor?
R -> Aqui


[box class=titlebg]
Imagens
[/box]

Spoiler
[close]


[box class=titlebg]
Download
[/box]

Não necessário

[box class=titlebg]
Créditos e Avisos
[/box]

JohnBolton