查看: 2946|回复: 1

[已经解决] 怎么用脚本存档?

[复制链接]

【欧皇】

梦石
3
星屑
2055
在线时间
1004 小时
注册时间
2013-8-19
回帖
3040

开拓者

发表于 2015-3-9 21:57:09 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
我想弄一个随时存档的
QQ:2223942063
Q群:365819625
贪吃方1.4
梦石
0
星屑
65
在线时间
389 小时
注册时间
2009-11-24
回帖
59
发表于 2015-3-10 14:04:11 | 显示全部楼层
[pre lang="ruby" line="1"]# 存档用下面这句
DataManager.save_game(第N号存档位置)
# 读档用下面这句
DataManager.load_game(第N号存档位置)

# ↓或者试试下面的脚本?(未测试)
# 存档:DataManager.my_save('存档文件名')
# 读档:DataManager.my_load('存档文件名')
module DataManager
        def self.my_save(filename)
                file = File.open(filename, "wb")
                $game_system.on_before_save
                Marshal.dump(make_save_header, file)
                Marshal.dump(make_save_contents, file)
        end
        def self.my_load(filename)
                if FileTest.exist?(filename)
                        file = File.open(make_filename(index), "rb")
                        Marshal.load(file)
                        extract_save_contents(Marshal.load(file))
                        reload_map_if_updated
                end
        end
end
# 附加:按F5存档,按F6读档
class Scene_Map < Scene_Base
        alias as897d6fas7f6a8s79 update
        def update
                as897d6fas7f6a8s79
                if Input.trigger?(:F5)
                        DataManager.my_save('即时存档.rvdata2')
                elsif Input.trigger?(:F6)
                        DataManager.my_load('即时存档.rvdata2')
                end
        end
end
[/pre]

点评

哦造鸟,可以结贴了  发表于 2015-3-11 11:59

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 认可答案

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部