赞 | 4 |
VIP | 211 |
好人卡 | 175 |
积分 | 7 |
经验 | 48096 |
最后登录 | 2014-1-9 |
在线时间 | 1327 小时 |
Lv2.观梦者 (?????)
- 梦石
- 0
- 星屑
- 728
- 在线时间
- 1327 小时
- 注册时间
- 2011-7-18
- 帖子
- 3184
|
本帖最后由 各种压力的猫君 于 2011-12-8 19:17 编辑
把这部分不需要初始化的变量储存到文件,
然后修改脚本每次新游戏时判断是否有这个文件,
如果有就在初始化变量之后读取这个文件,如果没有则只初始化。
请编辑标题加上制作工具种类。
- 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
复制代码 以上脚本插入到MAIN以上,在脚本头部可以设置不被初始化的变量、开关范围以及保存的文件名。
选择新游戏时以上设定好的变量/开关会保持最后一次存档的状态。 |
|