BlackFeather 发表于 2010-4-4 18:59:52

覆盖提示

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================


#在覆盖存档的时候弹出对话框提示
class Scene_Save < Scene_File
# -----------------------------
  def initialize
    super("")
    @confirm_window = Window_Base.new(120, 188, 400, 64)
    @confirm_window.contents = Bitmap.new(368, 32)
    string = "确定要覆盖这个进度吗?"
    @confirm_window.contents.font.name = "黑体"
    @confirm_window.contents.font.size = 24
    @confirm_window.contents.draw_text(4, 0, 368, 32, string)
    @yes_no_window = Window_Command.new(100, ["覆盖", "取消"])
    @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
# -----------------------------
  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
      $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
      return
    end
    $scene = Scene_Menu.new(4)
    end
  end
# -----------------------------
  def update
    if @mode == 0
      super
    else
      @yes_no_window.update
      if Input.trigger?(Input::C)
        $game_system.se_play($data_system.decision_se)
        if @yes_no_window.index == 0
          @yes_no_window.visible = false
          @yes_no_window.active = false
          @confirm_window.visible = false
          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
# -----------------------------
  def on_cancel
    $game_system.se_play($data_system.cancel_se)
    if $game_temp.save_calling
      $game_temp.save_calling = false
      $scene = Scene_Map.new
      return
    end
    $scene = Scene_Menu.new(4)
  end
# -----------------------------
  def write_save_data(file)
    characters = []
    for i in 0...$game_party.actors.size
      actor = $game_party.actors
      characters.push()
    end
    Marshal.dump(characters, file)
    Marshal.dump(Graphics.frame_count, file)
    $game_system.save_count += 1
    $game_system.magic_number = $data_system.magic_number
    Marshal.dump($game_system, file)
    Marshal.dump($game_switches, file)
    Marshal.dump($game_variables, file)
    Marshal.dump($game_self_switches, file)
    Marshal.dump($game_screen, file)
    Marshal.dump($game_actors, file)
    Marshal.dump($game_party, file)
    Marshal.dump($game_troop, file)
    Marshal.dump($game_map, file)
    Marshal.dump($game_player, file)
  end
end

class Scene_File
  alias carol3_main main
  def main
    carol3_main
    if self.is_a?(Scene_Save)
      @confirm_window.dispose
      @yes_no_window.dispose
    end
  end
end


#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================


与存档类脚本……

最爱南宫煌 发表于 2010-4-5 19:39:50

这个啊,比较实用的……

BlackFeather 发表于 2010-4-9 18:17:01

就是可惜会与存档类脚本冲突——只能用一个,除非仔细研究自己改

最爱南宫煌 发表于 2010-4-9 18:34:01

晕菜,还起冲突啊?
页: [1]
查看完整版本: 覆盖提示