设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3472|回复: 6
打印 上一主题 下一主题

[原创发布] 可以用事件直接存/读档(理论上支持无限存档)

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1034
在线时间
749 小时
注册时间
2013-2-15
帖子
116

开拓者

跳转到指定楼层
1
发表于 2014-6-2 15:34:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 九幽鬼少 于 2014-6-5 20:24 编辑

直接用事件脚本来存/读档
使用方法
存档(直接用事件脚本):
Save.save(存档位置)
读档(直接用事件脚本):
Load.load(存档位置)

RUBY 代码复制
  1. =begin
  2.  
  3. By   九幽鬼少
  4.  
  5. 使用方法
  6.  
  7. 存档(直接用事件脚本):
  8.  
  9. Save.save(存档位置)
  10.  
  11. 读档(直接用事件脚本):
  12.  
  13. Load.load(存档位置)
  14.  
  15. =end
  16.  
  17. module Save     
  18.   def self.save(index = nil)
  19.     @filename = "Save#{index}.rxdata" unless index.nil?
  20.     file = File.open(@filename, "wb")
  21.     characters = []
  22.     for i in 0...$game_party.actors.size
  23.       actor = $game_party.actors[i]
  24.       characters.push([actor.character_name, actor.character_hue])
  25.     end
  26.     Marshal.dump(characters, file)
  27.     Marshal.dump(Graphics.frame_count, file)
  28.     $game_system.save_count += 1
  29.     $game_system.magic_number = $data_system.magic_number
  30.     Marshal.dump($game_system, file)
  31.     Marshal.dump($game_switches, file)
  32.     Marshal.dump($game_variables, file)
  33.     Marshal.dump($game_self_switches, file)
  34.     Marshal.dump($game_screen, file)
  35.     Marshal.dump($game_actors, file)
  36.     Marshal.dump($game_party, file)
  37.     Marshal.dump($game_troop, file)
  38.     Marshal.dump($game_map, file)
  39.     Marshal.dump($game_player, file)
  40.     file.close
  41.   end
  42. end
  43. module Load   
  44.   def self.load(index = nil)
  45.     @filename = "Save#{index}.rxdata" unless index.nil?
  46.     file = File.open(@filename, "rb")
  47.     characters = Marshal.load(file)
  48.     Graphics.frame_count = Marshal.load(file)
  49.     $game_system        = Marshal.load(file)
  50.     $game_switches      = Marshal.load(file)
  51.     $game_variables     = Marshal.load(file)
  52.     $game_self_switches = Marshal.load(file)
  53.     $game_screen        = Marshal.load(file)
  54.     $game_actors        = Marshal.load(file)
  55.     $game_party         = Marshal.load(file)
  56.     $game_troop         = Marshal.load(file)
  57.     $game_map           = Marshal.load(file)
  58.     $game_player        = Marshal.load(file)
  59.     if $game_system.magic_number != $data_system.magic_number
  60.       $game_map.setup($game_map.map_id)
  61.       $game_player.center($game_player.x, $game_player.y)
  62.     end
  63.     $game_party.refresh
  64.     file.close
  65.     $game_system.bgm_play($game_system.playing_bgm)
  66.     $game_system.bgs_play($game_system.playing_bgs)
  67.     $game_map.update
  68.     $scene = Scene_Map.new
  69.   end
  70. end

评分

参与人数 2星屑 +17 收起 理由
1341093574 + 10 精品文章
欠K罗琳 + 7 好用

查看全部评分

Lv4.逐梦者

梦石
0
星屑
7921
在线时间
1049 小时
注册时间
2012-4-3
帖子
1271

开拓者

2
发表于 2014-6-2 18:27:13 手机端发表。 | 只看该作者
很好用的说,不错不错,在某些重要的操作之后存读档就有意思了。
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
39665
在线时间
7484 小时
注册时间
2009-7-6
帖子
13483

开拓者贵宾

3
发表于 2014-6-2 18:38:12 | 只看该作者
save和load的所属模块不应该相同吗……为什么会用上2个命名空间。

评分

参与人数 1星屑 +5 收起 理由
九幽鬼少 + 5 塞糖

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1034
在线时间
749 小时
注册时间
2013-2-15
帖子
116

开拓者

4
 楼主| 发表于 2014-6-2 19:04:51 | 只看该作者
save和load的所属模块不应该相同吗……为什么会用上2个命名空间。

嗯嗯 分开来有助于记忆 Save.save括号内再加个存档位置 方便额
不过 fux2版主 说了 我就改改{:6_403:}
RUBY 代码复制
  1. =begin
  2.  
  3. By   九幽鬼少
  4.  
  5. 使用方法
  6.  
  7. 存档(直接用事件脚本):
  8.  
  9. System.save(存档位置)
  10.  
  11. 读档(直接用事件脚本):
  12.  
  13. System.load(存档位置)
  14.  
  15. =end
  16.  
  17. module System     
  18.   def self.save(index = nil)
  19.     @filename = "Save#{index}.rxdata" unless index.nil?
  20.     file = File.open(@filename, "wb")
  21.     characters = []
  22.     for i in 0...$game_party.actors.size
  23.       actor = $game_party.actors[i]
  24.       characters.push([actor.character_name, actor.character_hue])
  25.     end
  26.     Marshal.dump(characters, file)
  27.     Marshal.dump(Graphics.frame_count, file)
  28.     $game_system.save_count += 1
  29.     $game_system.magic_number = $data_system.magic_number
  30.     Marshal.dump($game_system, file)
  31.     Marshal.dump($game_switches, file)
  32.     Marshal.dump($game_variables, file)
  33.     Marshal.dump($game_self_switches, file)
  34.     Marshal.dump($game_screen, file)
  35.     Marshal.dump($game_actors, file)
  36.     Marshal.dump($game_party, file)
  37.     Marshal.dump($game_troop, file)
  38.     Marshal.dump($game_map, file)
  39.     Marshal.dump($game_player, file)
  40.     file.close
  41.   end
  42.  
  43.   def self.load(index = nil)
  44.     @filename = "Save#{index}.rxdata" unless index.nil?
  45.     file = File.open(@filename, "rb")
  46.     characters = Marshal.load(file)
  47.     Graphics.frame_count = Marshal.load(file)
  48.     $game_system        = Marshal.load(file)
  49.     $game_switches      = Marshal.load(file)
  50.     $game_variables     = Marshal.load(file)
  51.     $game_self_switches = Marshal.load(file)
  52.     $game_screen        = Marshal.load(file)
  53.     $game_actors        = Marshal.load(file)
  54.     $game_party         = Marshal.load(file)
  55.     $game_troop         = Marshal.load(file)
  56.     $game_map           = Marshal.load(file)
  57.     $game_player        = Marshal.load(file)
  58.     if $game_system.magic_number != $data_system.magic_number
  59.       $game_map.setup($game_map.map_id)
  60.       $game_player.center($game_player.x, $game_player.y)
  61.     end
  62.     $game_party.refresh
  63.     file.close
  64.     $game_system.bgm_play($game_system.playing_bgm)
  65.     $game_system.bgs_play($game_system.playing_bgs)
  66.     $game_map.update
  67.     $scene = Scene_Map.new
  68.   end
  69. end

回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2207
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

5
发表于 2014-6-2 20:23:11 | 只看该作者
感叹一下VA的DataManager是如此方便的一个东西呢~

也许可以用DataManager作为命名空间?(我瞎说的……)
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
319
在线时间
890 小时
注册时间
2009-10-12
帖子
1829
6
发表于 2014-6-3 18:13:08 | 只看该作者
有那么点意思。。。

对于事件标题,事件菜单应该有点用?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
257 小时
注册时间
2012-7-16
帖子
86
7
发表于 2016-1-10 10:44:17 | 只看该作者
你的脚本有个问题。
我做了个事件标题,当打开读档界面的时候没有使用过的存档位置它会出现提示,说什么找不到什么s什么的文件。
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-26 02:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表