Vai al contenuto


Toggle Chat RM - Chat Apri la Chat in un popup

E' severamente vietato richiedere supporto su RPG Maker in chat!
@  Melosx : (25 May 2012 - 08:30 PM) Buonasera a tutti
@  Hashmin : (25 May 2012 - 02:15 PM) ciao a tt!
@  Pech93 : (24 May 2012 - 01:55 PM) ho aggiunto delle composizioni originali!!! Chi le vuole ascoltare e dare qualche commento costruttivo?
@  MihaChan : (23 May 2012 - 09:19 PM) a parte i denti -che stanno decidendo di darmi noia in questi giorni-, tutto okay~
@  Melosx : (23 May 2012 - 09:18 PM) bene ^.^ ... Tu??
@  MihaChan : (23 May 2012 - 09:17 PM) come va? xD
@  MihaChan : (23 May 2012 - 09:16 PM) okay
@  MihaChan : (23 May 2012 - 09:16 PM) ah
@  Melosx : (23 May 2012 - 09:14 PM) ciao miha... ai dont spic inglisc
@  MihaChan : (23 May 2012 - 09:12 PM) how'sa goin'?
@  MihaChan : (23 May 2012 - 09:12 PM) ciao Mel!
@  Melosx : (23 May 2012 - 09:07 PM) ciao
@  MihaChan : (23 May 2012 - 09:06 PM) salve D:
@  Pech93 : (23 May 2012 - 08:05 PM) MIk?
@  Melosx : (23 May 2012 - 07:51 PM) VIENI SU MSN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@  Melosx : (23 May 2012 - 07:51 PM) MIIIIIIIIIIIIIIIIIIIKKKKKKKKKKKK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@  Melosx : (23 May 2012 - 07:46 PM) *iù
@  Melosx : (23 May 2012 - 07:38 PM) iu spin mi rai rau bebi rai rau laic a record bebi rau rau rau rau
@  Melosx : (23 May 2012 - 07:37 PM) lalalallalallalallallllllllllalalalallaaaaaaaaaaaaaaaaaaaaaa!!!!!!!!!!!!!!!!!!
@  Melosx : (23 May 2012 - 07:37 PM) lalalalala

Save compresso


  • Per cortesia connettiti per rispondere
Nessuna risposta a questa discussione

#1 OFFLINE   Ally

Ally

    Fondatori

  • Amministratori
  • 5558 Messaggi:
  • Localitàrpgmkr
  • Ruolo:
    Scripter
  • Progetto VX:
    Essence
  • Tool:
    RM2k/2k3

Inviato 20 October 2011 - 07:35 PM

Nome Script: Save compresso
Versione: 1.00
Autore/i: kaisouryouiki

Informazioni:
Lo script comprime i salvataggi in un unico file invece di dividerli ^^

Istruzioni:
Inserite semplicemente lo script sopra Main.

Script:
=begin
      ★セーブデータ一括管理★

      Save1.rvdata, Save2.rvdataのように通常セーブの数だけ生成されていく
      セーブファイルを、1つのセーブファイルにまとめて管理することができます。

      ● 注意 ●==========================================================
      再定義が非常に多いです。
      --------------------------------------------------------------------
      このスクリプトを導入する前のセーブデータは読み込めなくなります。
      ====================================================================

      ver1.00

      Last Update : 2010/08/06
      08/06 : 「セーブファイル破棄」に対応
      07/30 : 新規(FSMにて。ver0.50)

      ろかん   http://kaisouryouiki.web.fc2.com/
=end

$rsi = {} if $rsi == nil
$rsi["セーブデータ一括管理"] = true

class Window_SaveFile < Window_Base
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化  ※ 再定義
  #--------------------------------------------------------------------------
  def initialize(file_index, data)
    # 引数が変化しているので注意
    super(0, 56 + file_index % 4 * 90, 544, 90)
    @time_stamp = Time.at(0)
    @file_index = file_index
    @file_data  = data
    # 渡されたデータが空(empty)の際にセーブが存在しないとみなします。
    @file_exist = ! @file_data.empty?
    load_gamedata
    refresh
    @selected = false
  end
  #--------------------------------------------------------------------------
  # ● ゲームデータの一部をロード  ※ 再定義
  #--------------------------------------------------------------------------
  def load_gamedata
    # データそのものが渡されてきているのでファイルをopenする必要なし。
    if @file_exist
      @time_stamp     = @file_data[0]
      @characters     = @file_data[1]
      @frame_count    = @file_data[2]
      @last_bgm       = @file_data[3]
      @last_bgs       = @file_data[4]
      @game_system    = @file_data[5]
      @game_message   = @file_data[6]
      @game_switches  = @file_data[7]
      @game_variables = @file_data[8]
      @total_sec = @frame_count / Graphics.frame_rate
    end
  end
end

class Scene_Title < Scene_Base
  #--------------------------------------------------------------------------
  # ● コンティニュー有効判定  ※ 再定義
  #--------------------------------------------------------------------------
  def check_continue
    @continue_enabled = false
    return unless File.exist?("Save.rvdata")
    file = File.open("Save.rvdata", "rb")
    for data in Marshal.load(file)
      @continue_enabled = ! data.empty?
      break if @continue_enabled
    end
    file.close
  end
end

class Scene_File < Scene_Base
  #--------------------------------------------------------------------------
  # ● ファイル名の取得
  #--------------------------------------------------------------------------
  def filename
    return "Save.rvdata"
  end
  #--------------------------------------------------------------------------
  # ● セーブファイルウィンドウの作成  ※ 再定義
  #--------------------------------------------------------------------------
  def create_savefile_windows
    @item_max = 4
    @savefile_windows = []
    load_data_list # この段階で全てのセーブデータを読み込む
    @item_max.times do |i|
      # ウィンドウ生成時にインデックスに該当するセーブデータを渡します。
      @savefile_windows.push(Window_SaveFile.new(i, @dataList[i]))
    end
  end
  #--------------------------------------------------------------------------
  # ● セーブの実行  ※ 再定義
  #--------------------------------------------------------------------------
  def do_save
    write_save_data
    return_scene
  end
  #--------------------------------------------------------------------------
  # ● ロードの実行  ※ 再定義
  #--------------------------------------------------------------------------
  def do_load
    read_save_data
    $scene = Scene_Map.new
    RPG::BGM.fade(1500)
    Graphics.fadeout(60)
    Graphics.wait(40)
    @last_bgm.play
    @last_bgs.play
  end
  #--------------------------------------------------------------------------
  # ● 全てのセーブが収まったデータを取得(ウィンドウ生成前に呼ばれるのみ)
  #--------------------------------------------------------------------------
  def load_data_list
    # ファイルが存在しない場合はデータ取得前にファイルを生成する
    unless File.exist?(filename)
      @dataList = []
      @item_max.times do @dataList << [] end
      save_data_list
    end
    file = File.open(filename, "rb")
    @dataList = Marshal.load(file)
    file.close
  end
  #--------------------------------------------------------------------------
  # ● 全てのセーブが収まったデータを保存(@dataListの内容変更時に呼ばれる)
  #--------------------------------------------------------------------------
  def save_data_list
    file = File.open(filename, "wb")
    Marshal.dump(@dataList, file)
    file.close
  end
  #--------------------------------------------------------------------------
  # ● セーブデータの書き込み  ※ 再定義
  #--------------------------------------------------------------------------
  def write_save_data
    characters = []
    for actor in $game_party.members
      characters.push([actor.character_name, actor.character_index])
    end
    $game_system.save_count += 1
    $game_system.version_id = $data_system.version_id
    @dataList[@index] = []        # クリア
    @dataList[@index] << Time.now # セーブした時間:タイムスタンプとして利用
    @dataList[@index] << characters
    @dataList[@index] << Graphics.frame_count
    @dataList[@index] << RPG::BGM::last
    @dataList[@index] << RPG::BGS::last
    @dataList[@index] << $game_system
    @dataList[@index] << $game_message
    @dataList[@index] << $game_switches
    @dataList[@index] << $game_variables
    @dataList[@index] << $game_self_switches
    @dataList[@index] << $game_actors
    @dataList[@index] << $game_party
    @dataList[@index] << $game_troop
    @dataList[@index] << $game_map
    @dataList[@index] << $game_player
    save_data_list # 保存
  end
  #--------------------------------------------------------------------------
  # ● セーブデータの読み込み  ※ 再定義
  #--------------------------------------------------------------------------
  def read_save_data
    Graphics.frame_count = @dataList[@index][2]
    @last_bgm            = @dataList[@index][3]
    @last_bgs            = @dataList[@index][4]
    $game_system         = @dataList[@index][5]
    $game_message        = @dataList[@index][6]
    $game_switches       = @dataList[@index][7]
    $game_variables      = @dataList[@index][8]
    $game_self_switches  = @dataList[@index][9]
    $game_actors         = @dataList[@index][10]
    $game_party          = @dataList[@index][11]
    $game_troop          = @dataList[@index][12]
    $game_map            = @dataList[@index][13]
    $game_player         = @dataList[@index][14]
    if $game_system.version_id != $data_system.version_id
      $game_map.setup($game_map.map_id)
      $game_player.center($game_player.x, $game_player.y)
    end
  end
  #--------------------------------------------------------------------------
  # ● ファイル破棄の実行
  #--------------------------------------------------------------------------
  def file_delete
    @dataList[@index] = []        # クリア
    save_data_list
  end
end

Immagine inserita
Spoiler




1 utente(i) stanno leggendo questa discussione

0 utenti, 1 ospiti, 0 utenti anonimi