| 本帖最后由 MCCF 于 2020-3-12 10:09 编辑 
 如果LZ是自己在尝试的话……我觉得善用脚本编辑器的“全局搜索”吧,可以很方便地找到需要查看的方法。
 
 存档的基本方法是DataManager.save_game(index),index是存档编号。
 内部实现很简单,把当前$game_variables和$game_player这些游戏实例用Marshal.dump塞进存档。然后外面再包装一个异常处理,防止无法写入导致脚本崩溃。
 
 读档是DataManager.load_game(index)。就是把当前的游戏实例设置成存档中所存储的。
 以前写过一个自动存档脚本,这种脚本的套路是,点击后不进入Scene_Save,直接操作DataManager存档。读档也一样。
 
 另外,如果要调整存档的内容的话,VA也提供了方法。比如:
 
 class << DataManager  #--------------------------------------------------------------------------  # ● 生成存档内容  #--------------------------------------------------------------------------  alias orig_make_save_contents make_save_contents  def make_save_contents    orig_make_save_contents    contents[:something] = $game_something  end  #--------------------------------------------------------------------------  # ● 展开存档内容  #--------------------------------------------------------------------------  alias orig_extract_save_contents extract_save_contents  def extract_save_contents(contents)    orig_extract_save_contents(contents)    $game_something = contents[:something]  endend
class << DataManager 
  #-------------------------------------------------------------------------- 
  # ● 生成存档内容 
  #-------------------------------------------------------------------------- 
  alias orig_make_save_contents make_save_contents 
  def make_save_contents 
    orig_make_save_contents 
    contents[:something] = $game_something 
  end 
  #-------------------------------------------------------------------------- 
  # ● 展开存档内容 
  #-------------------------------------------------------------------------- 
  alias orig_extract_save_contents extract_save_contents 
  def extract_save_contents(contents) 
    orig_extract_save_contents(contents) 
    $game_something = contents[:something] 
  end 
end 
这两个方法用于生成和获取存档的具体内容(contents)。
 |