| 
 
| 赞 | 5 |  
| VIP | 211 |  
| 好人卡 | 175 |  
| 积分 | 8 |  
| 经验 | 48096 |  
| 最后登录 | 2014-1-9 |  
| 在线时间 | 1327 小时 |  
 Lv2.观梦者 (?????) 
	梦石0 星屑814 在线时间1327 小时注册时间2011-7-18帖子3184 
 | 
| 本帖最后由 各种压力的猫君 于 2011-12-8 19:17 编辑 
 把这部分不需要初始化的变量储存到文件,
 然后修改脚本每次新游戏时判断是否有这个文件,
 如果有就在初始化变量之后读取这个文件,如果没有则只初始化。
 
 请编辑标题加上制作工具种类。
 
 以上脚本插入到MAIN以上,在脚本头部可以设置不被初始化的变量、开关范围以及保存的文件名。复制代码module DUMPVARSWISETTINGS
  # 不需要初始化的变量的范围,以下代表从11号-13号变量。
  VAR_MIN = 11
  VAR_MAX = 13
  # 不需要初始化的开关的范围,以下代表从12号-16号变量。
  SWI_MIN = 12
  SWI_MAX = 16
  # 保存的文件名
  FILENAME = "Data/save_varswi.rxdata"
end
#==============================================================================
# ■ Scene_Save
#------------------------------------------------------------------------------
#  处理存档画面的类。
#==============================================================================
class Scene_Save < Scene_File
  alias old_on_decision on_decision
  def on_decision(filename)
    save_variables
    old_on_decision(filename)
  end
  def save_variables
    file = File.open(DUMPVARSWISETTINGS::FILENAME, "wb")
    $save_variables = []
    for i in DUMPVARSWISETTINGS::VAR_MIN..DUMPVARSWISETTINGS::VAR_MAX
      $save_variables.push $game_variables[i]
    end
    Marshal.dump($save_variables, file)
    $save_switches = []
    for i in DUMPVARSWISETTINGS::SWI_MIN..DUMPVARSWISETTINGS::SWI_MAX
      $save_switches.push $game_switches[i]
    end
    Marshal.dump($save_switches, file)
    file.close
  end
end
#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
#  处理标题画面的类。
#==============================================================================
class Scene_Title
  alias old_command_new_game command_new_game
  def command_new_game
    old_command_new_game
    if FileTest.exist?(DUMPVARSWISETTINGS::FILENAME)
      file = File.open(DUMPVARSWISETTINGS::FILENAME, "rb")
      $save_variables = Marshal.load(file)
      $save_switches  = Marshal.load(file)
      file.close
      for i in DUMPVARSWISETTINGS::VAR_MIN..DUMPVARSWISETTINGS::VAR_MAX
        $game_variables[i] = $save_variables[i - DUMPVARSWISETTINGS::VAR_MIN]
      end
      for i in DUMPVARSWISETTINGS::SWI_MIN..DUMPVARSWISETTINGS::SWI_MAX
        $game_switches[i] = $save_switches[i - DUMPVARSWISETTINGS::SWI_MIN]
      end
    end
  end
end
选择新游戏时以上设定好的变量/开关会保持最后一次存档的状态。
 | 
 |