| 赞 | 9 |
| VIP | |
| 好人卡 | |
| 积分 | 20 |
| 经验 | |
| 最后登录 | 2021-12-28 |
| 在线时间 | 231 小时 |
- 梦石
- 1
- 星屑
- 985
- 在线时间
- 231 小时
- 注册时间
- 2006-2-3
- 回帖
- 53
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
本帖最后由 zsefvv 于 2019-11-22 04:23 编辑
我这边是用事件脚本即时读档存档......
我在选项出现的位置存档,而读档后选项会被自动跳过......
(不知道什么原因,贴一下脚本准没错)
没有使用其他存档脚本了,存档只用了下面这个脚本。
[pre lang="ruby"]class Interpreter
def tosave #存档事件脚本
file = File.open("Save/save.rxdata", "wb")
# 生成描绘存档文件用的角色图形
characters = []
for i in 0...$game_party.actors.size
actor = $game_party.actors
characters.push([actor.character_name, actor.character_hue])
end
# 写入描绘存档文件用的角色数据
Marshal.dump(characters, file)
# 写入测量游戏时间用画面计数
Marshal.dump(Graphics.frame_count, file)
# 保存魔法编号
# (将编辑器保存的值以随机值替换)
$game_system.magic_number = $data_system.magic_number
# 写入各种游戏对像
Marshal.dump($game_system, file)
Marshal.dump($game_switches, file)
Marshal.dump($game_variables, file)
Marshal.dump($game_self_switches, file)
Marshal.dump($game_screen, file)
Marshal.dump($game_actors, file)
Marshal.dump($game_party, file)
Marshal.dump($game_troop, file)
Marshal.dump($game_map, file)
Marshal.dump($game_player, file)
file.close
end
def toload #读档事件脚本
file = File.open("Save/save.rxdata", "rb")
# 读取描绘存档文件用的角色数据
characters = Marshal.load(file)
# 读取测量游戏时间用画面计数
Graphics.frame_count = Marshal.load(file)
# 读取各种游戏对像
$game_system = Marshal.load(file)
$game_switches = Marshal.load(file)
$game_variables = Marshal.load(file)
$game_self_switches = Marshal.load(file)
$game_screen = Marshal.load(file)
$game_actors = Marshal.load(file)
$game_party = Marshal.load(file)
$game_troop = Marshal.load(file)
$game_map = Marshal.load(file)
$game_player = Marshal.load(file)
# 魔法编号与保存时有差异的情况下
# (加入编辑器的编辑过的数据)
if $game_system.magic_number != $data_system.magic_number
# 重新装载地图
$game_map.setup($game_map.map_id)
$game_player.center($game_player.x, $game_player.y)
end
# 刷新同伴成员
$game_party.refresh
file.close
# 还原 BGM、BGS
$game_system.bgm_play($game_system.playing_bgm)
$game_system.bgs_play($game_system.playing_bgs)
# 刷新地图 (执行并行事件)
$game_map.update
# 切换到地图画面
$scene = Scene_Map.new
end
end
[/pre]
还有一个问题,而且这个问题的产生原因可能也和前面那个问题是一样。
我这边还用了一个记录对话文本的脚本,我是设置按右键呼出记录.......
但是每次呼出后,也都会跳过当前对话。
最后还有一点小担心,我游戏中的文本是以外部文件的形式进行加载。
如果因为玩家读档存档的原因产生同个文件反复加载,会出现什么隐性问题吗? |
|