Project1

标题: 怎么让系统自动存档 [打印本页]

作者: 子噜噜    时间: 2012-9-20 13:57
标题: 怎么让系统自动存档
怎么样设置一个事件为存档,另一个事件设为读取这个存档?
就是不打开存档页面的那种dsu_plus_rewardpost_czw
作者: 七夕小雨    时间: 2012-9-20 14:16
事件页  ——》脚本 ——》write_save_data(0)

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

作者: 子噜噜    时间: 2012-9-20 16:10
七夕小雨 发表于 2012-9-20 14:16
事件页  ——》脚本 ——》write_save_data(0)

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

出错了啊,显示“执行脚本时发生NoMethodError”
作者: 七夕小雨    时间: 2012-9-20 16:12
咦,你自己用了什么奇怪的存档系统嘛?
作者: 子噜噜    时间: 2012-9-20 16:19
七夕小雨 发表于 2012-9-20 16:12
咦,你自己用了什么奇怪的存档系统嘛?

普通的存档系统啊,我没改过
作者: 七夕小雨    时间: 2012-9-20 18:12


这是我差不多8年前的游戏工程的公共事件,就是这样一句呢
作者: hys111111    时间: 2012-9-21 14:06
七夕小雨 发表于 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(编号)就可以了。
作者: 子噜噜    时间: 2012-9-24 22:33
hys111111 发表于 2012-9-21 14:06
七夕小雨这样的高手怎么可能会犯这种错误?!
脚本都没有定义到。

懂了,谢谢哈




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1