查看: 2843|回复: 7

[已经解决] 怎么让系统自动存档

[复制链接]
梦石
0
星屑
80
在线时间
153 小时
注册时间
2012-8-22
回帖
34
发表于 2012-9-20 13:57:23 | 显示全部楼层 |阅读模式

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

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

×
怎么样设置一个事件为存档,另一个事件设为读取这个存档?
就是不打开存档页面的那种

昨日的黄昏

梦石
0
星屑
1005
在线时间
937 小时
注册时间
2006-11-5
回帖
4020

第2届短篇游戏比赛季军第3届短篇游戏大赛小游戏及其他组季军

发表于 2012-9-20 14:16:28 | 显示全部楼层
事件页  ——》脚本 ——》write_save_data(0)

写入0号存档,当然也可以是1 2 3 4 5 6
[url=http://weibo.com/2238291690?s=6uyXnP]
回复

使用道具 举报

梦石
0
星屑
80
在线时间
153 小时
注册时间
2012-8-22
回帖
34
 楼主| 发表于 2012-9-20 16:10:06 | 显示全部楼层
七夕小雨 发表于 2012-9-20 14:16
事件页  ——》脚本 ——》write_save_data(0)

写入0号存档,当然也可以是1 2 3 4 5 6

出错了啊,显示“执行脚本时发生NoMethodError”
回复

使用道具 举报

昨日的黄昏

梦石
0
星屑
1005
在线时间
937 小时
注册时间
2006-11-5
回帖
4020

第2届短篇游戏比赛季军第3届短篇游戏大赛小游戏及其他组季军

发表于 2012-9-20 16:12:26 | 显示全部楼层
咦,你自己用了什么奇怪的存档系统嘛?
[url=http://weibo.com/2238291690?s=6uyXnP]
回复

使用道具 举报

梦石
0
星屑
80
在线时间
153 小时
注册时间
2012-8-22
回帖
34
 楼主| 发表于 2012-9-20 16:19:33 | 显示全部楼层
七夕小雨 发表于 2012-9-20 16:12
咦,你自己用了什么奇怪的存档系统嘛?

普通的存档系统啊,我没改过
回复

使用道具 举报

昨日的黄昏

梦石
0
星屑
1005
在线时间
937 小时
注册时间
2006-11-5
回帖
4020

第2届短篇游戏比赛季军第3届短篇游戏大赛小游戏及其他组季军

发表于 2012-9-20 18:12:52 | 显示全部楼层
无标题.jpg

这是我差不多8年前的游戏工程的公共事件,就是这样一句呢

点评

不过我也记得RGSS doesn't has this method的吧?  发表于 2012-9-20 18:26
[url=http://weibo.com/2238291690?s=6uyXnP]
回复

使用道具 举报

双子人

梦石
0
星屑
3205
在线时间
3619 小时
注册时间
2009-4-4
回帖
3901

开拓者

发表于 2012-9-21 14:06:38 | 显示全部楼层
七夕小雨 发表于 2012-9-20 18:12
这是我差不多8年前的游戏工程的公共事件,就是这样一句呢

七夕小雨这样的高手怎么可能会犯这种错误?!
脚本都没有定义到。



在main前面插入以下脚本
  1. #==============================================================================
  2. # ■ Auto_Save
  3. #------------------------------------------------------------------------------
  4. #  处理存档画面的类。
  5. #==============================================================================

  6. class Auto_Save
  7.   def initialize(file_index)
  8.     # 演奏存档 SE
  9.     $game_system.se_play($data_system.save_se)
  10.     # 写入存档数据
  11.     file = File.open(make_filename(file_index), "wb")
  12.     write_save_data(file)
  13.     file.close
  14.   end
  15.   def write_save_data(file)
  16.     # 生成描绘存档文件用的角色图形
  17.     characters = []
  18.     for i in 0...$game_party.actors.size
  19.       actor = $game_party.actors[i]
  20.       characters.push([actor.character_name, actor.character_hue])
  21.     end
  22.     # 写入描绘存档文件用的角色数据
  23.     Marshal.dump(characters, file)
  24.     # 写入测量游戏时间用画面计数
  25.     Marshal.dump(Graphics.frame_count, file)
  26.     # 增加 1 次存档次数
  27.     $game_system.save_count += 1
  28.     # 保存魔法编号
  29.     # (将编辑器保存的值以随机值替换)
  30.     $game_system.magic_number = $data_system.magic_number
  31.     # 写入各种游戏对像
  32.     Marshal.dump($game_system, file)
  33.     Marshal.dump($game_switches, file)
  34.     Marshal.dump($game_variables, file)
  35.     Marshal.dump($game_self_switches, file)
  36.     Marshal.dump($game_screen, file)
  37.     Marshal.dump($game_actors, file)
  38.     Marshal.dump($game_party, file)
  39.     Marshal.dump($game_troop, file)
  40.     Marshal.dump($game_map, file)
  41.     Marshal.dump($game_player, file)
  42.   end
  43.   def make_filename(file_index)
  44.     return "Save#{file_index + 1}.rxdata"
  45.   end
  46. end
复制代码
事件中使用Auto_Save.new(编号)就可以了。

点评

好吧,多年没用RM确实有些老糊涂了,原来当时是自己在Interpreter中定义了write_save_data(int)的方法,所以可以直接调用  发表于 2012-9-21 14:29
回复

使用道具 举报

梦石
0
星屑
80
在线时间
153 小时
注册时间
2012-8-22
回帖
34
 楼主| 发表于 2012-9-24 22:33:51 | 显示全部楼层
hys111111 发表于 2012-9-21 14:06
七夕小雨这样的高手怎么可能会犯这种错误?!
脚本都没有定义到。

懂了,谢谢哈
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部