继承存档
# @taroxd metadata 1.0
# @id inherit
# @display 继承存档
# @require taroxd_core
module Taroxd::Inherit

  Game_Interpreter.send :include, self

  module_function

  def save_inherit_data(filename, flag = true)
    save_data({actors: $game_actors, party: $game_party, flag: flag},
      filename)
  end

  def load_inherit_data(filename)
    contents     = load_data(filename)
    $game_actors = contents[:actors]
    $game_party  = contents[:party]
    contents[:flag]
  end
end
横向标题菜单
# @taroxd metadata 1.0
# @id horz_title_command
# @display 横向标题菜单
# @help 将标题菜单的选择窗口改为横向
module Taroxd
  HorzTitleCommand = true
end

class Window_TitleCommand < Window_Command
  #--------------------------------------------------------------------------
  # ● 获取窗口的宽度
  #--------------------------------------------------------------------------
  def window_width
    return 360
  end
  #--------------------------------------------------------------------------
  # ● 获取显示行数
  #--------------------------------------------------------------------------
  def visible_line_number
    return 1
  end
  #--------------------------------------------------------------------------
  # ● 获取列数
  #--------------------------------------------------------------------------
  def col_max
    return 3
  end
  #--------------------------------------------------------------------------
  # ● 获取行间距的宽度
  #--------------------------------------------------------------------------
  def spacing
    return 8
  end
  #--------------------------------------------------------------------------
  # ● 计算窗口内容的宽度
  #--------------------------------------------------------------------------
  def contents_width
    (item_width + spacing) * item_max - spacing
  end
  #--------------------------------------------------------------------------
  # ● 计算窗口内容的高度
  #--------------------------------------------------------------------------
  def contents_height
    item_height
  end
  #--------------------------------------------------------------------------
  # ● 获取首列位置
  #--------------------------------------------------------------------------
  def top_col
    ox / (item_width + spacing)
  end
  #--------------------------------------------------------------------------
  # ● 设置首列位置
  #--------------------------------------------------------------------------
  def top_col=(col)
    col = 0 if col < 0
    col = col_max - 1 if col > col_max - 1
    self.ox = col * (item_width + spacing)
  end
  #--------------------------------------------------------------------------
  # ● 获取尾列位置
  #--------------------------------------------------------------------------
  def bottom_col
    top_col + col_max - 1
  end
  #--------------------------------------------------------------------------
  # ● 设置尾列位置
  #--------------------------------------------------------------------------
  def bottom_col=(col)
    self.top_col = col - (col_max - 1)
  end
  #--------------------------------------------------------------------------
  # ● 确保光标在画面范围内滚动
  #--------------------------------------------------------------------------
  def ensure_cursor_visible
    self.top_col = index if index < top_col
    self.bottom_col = index if index > bottom_col
  end
  #--------------------------------------------------------------------------
  # ● 获取项目的绘制矩形
  #--------------------------------------------------------------------------
  def item_rect(index)
    rect = super
    rect.x = index * (item_width + spacing)
    rect.y = 0
    rect
  end
  #--------------------------------------------------------------------------
  # ● 获取对齐方向
  #--------------------------------------------------------------------------
  def alignment
    return 1
  end
  #--------------------------------------------------------------------------
  # ● 光标向下移动
  #--------------------------------------------------------------------------
  def cursor_down(wrap = false)
  end
  #--------------------------------------------------------------------------
  # ● 光标向上移动
  #--------------------------------------------------------------------------
  def cursor_up(wrap = false)
  end
  #--------------------------------------------------------------------------
  # ● 光标移至下一页
  #--------------------------------------------------------------------------
  def cursor_pagedown
  end
  #--------------------------------------------------------------------------
  # ● 光标移至上一页
  #--------------------------------------------------------------------------
  def cursor_pageup
  end
end
全局变量存档
# @taroxd metadata 1.0
# @display 全局变量存档
# @require taroxd_core
# @help 将 Taroxd::Global 哈希表中的对象写入存档。
# @id global
Taroxd::Global = {}
symbol = :taroxd_global

on_new_game = Taroxd::Global.method(:clear)

on_save = lambda do |contents|
  contents[symbol] = Taroxd::Global
  contents
end

on_load = lambda do |contents|
  data = contents[symbol]
  Taroxd::Global.replace(data) if data
end

DataManager.singleton_def_before :setup_new_game,        on_new_game
DataManager.singleton_def_with   :make_save_contents,    on_save
DataManager.singleton_def_after  :extract_save_contents, on_load