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

Project1

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

[已经过期] 自动存读档

[复制链接]

Lv2.观梦者

梦石
0
星屑
380
在线时间
602 小时
注册时间
2014-5-8
帖子
699
跳转到指定楼层
1
发表于 2014-7-31 17:22:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如题,脚本可以实现自动存读档吗?进入游戏直接读档,退出游戏直接存档。不用玩家做任何操作。

Lv1.梦旅人

梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
帖子
1698

开拓者

2
发表于 2014-7-31 17:41:48 | 只看该作者
读档(1号档):
  1.     File.open("Save1.rxdata", "rb"){|f|Scene_Load.new.read_save_data(f)}
  2.     # 还原 BGM、BGS
  3.     $game_system.bgm_play($game_system.playing_bgm)
  4.     $game_system.bgs_play($game_system.playing_bgs)
  5.     # 刷新地图 (执行并行事件)
  6.     $game_map.update
  7.     # 切换到地图画面
  8.     $scene = Scene_Map.new
复制代码
存档(1号档):
  1. File.open("Save1.rxdata", "wb"){|f|Scene_Save.new.write_save_data(f)}
复制代码

点评

如果需要请直接复制粘贴到Scene_Title#new_game等command下  发表于 2014-7-31 17:42

评分

参与人数 1星屑 +66 收起 理由
RyanBern + 66 塞糖

查看全部评分


  -fk: -azogi:
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1743
在线时间
485 小时
注册时间
2006-1-7
帖子
1073
3
发表于 2014-7-31 18:08:52 | 只看该作者
以前修改过系统脚本、
做成了自动读取档案,还有自动存储
不过当时实现的方法,之支持一个存档,并且有存档默认就去读入
退出游戏的时候,就会自动存入。不管是ALT F4还是点红叉还是正常退出。
https://rpg.blue/thread-130054-1-1.html

点评

能实现自动存档,但为什么不能读档呢?那个标题的脚本我没改,因为我本来就跳过标题了,做的事件标题  发表于 2014-7-31 20:26
初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
380
在线时间
602 小时
注册时间
2014-5-8
帖子
699
4
 楼主| 发表于 2014-7-31 20:36:03 | 只看该作者
白鬼 发表于 2014-7-31 18:08
以前修改过系统脚本、
做成了自动读取档案,还有自动存储
不过当时实现的方法,之支持一个存档,并且有存档 ...

读档的时候这样

点评

我用的貌似是完整星  发表于 2014-7-31 20:41
我记得里面是4个吧?你用的哪个?部分读取的那个貌似一直有点问题。  发表于 2014-7-31 20:39
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1743
在线时间
485 小时
注册时间
2006-1-7
帖子
1073
5
发表于 2014-7-31 22:18:28 | 只看该作者
修改好了
  1. module Kernel

  2. alias origin_exit exit unless method_defined? :exit

  3. def exit(*args)
  4.    case $scene
  5.    when Scene_Map
  6.      AutoSave.common_save unless $game_system.map_interpreter.running?
  7.    when Scene_Battle
  8.      AutoSave.common_save unless $game_system.battle_interpreter.running?
  9.    else
  10.      if $scene.type != NilClass and $scene.type != Scene_Title
  11.        AutoSave.common_save
  12.      end
  13.    end
  14.    origin_exit(*args)
  15. end

  16. end


  17. module AutoSave

  18. if @scene_proc.nil?
  19.    @last_scene = nil.class
  20.    @scene_proc = proc do |value|
  21.      if value.nil? or value.is_a?(Scene_Title)
  22.        if @last_scene != NilClass and @last_scene != Scene_Title
  23.          AutoSave.common_save
  24.        end
  25.      end
  26.      @last_scene = value.type
  27.    end
  28.    trace_var(:$scene,@scene_proc)
  29. end

  30. module_function

  31. def common_save
  32.    filename = "System.rxdata"    #byakki
  33.    file = File.open(filename, "wb")
  34.    write_save_data(file)
  35.    file.close
  36. end
  37.   #--------------------------------------------------------------------------
  38.   # ● 写入存档数据
  39.   #     file : 写入用文件对像 (已经打开)
  40.   #--------------------------------------------------------------------------
  41. def write_save_data(file)
  42.     # 生成描绘存档文件用的角色图形
  43.     characters = []
  44.     for i in 0...$game_party.actors.size
  45.       actor = $game_party.actors[i]
  46.       characters.push([actor.character_name, actor.character_hue])
  47.     end
  48.     # 写入描绘存档文件用的角色数据
  49.     Marshal.dump(characters, file)
  50.     # 写入测量游戏时间用画面计数
  51.     Marshal.dump(Graphics.frame_count, file)
  52.     # 增加 1 次存档次数
  53.     $game_system.save_count += 1
  54.     # 保存魔法编号
  55.     # (将编辑器保存的值以随机值替换)
  56.     $game_system.magic_number = $data_system.magic_number
  57.     # 写入各种游戏对像
  58.     Marshal.dump($game_system, file)
  59.     Marshal.dump($game_switches, file)
  60.     Marshal.dump($game_variables, file)
  61.     Marshal.dump($game_self_switches, file)
  62.     Marshal.dump($game_screen, file)
  63.     Marshal.dump($game_actors, file)
  64.     Marshal.dump($game_party, file)
  65.     Marshal.dump($game_troop, file)
  66.     Marshal.dump($game_map, file)
  67.     Marshal.dump($game_player, file)
  68.   end
  69. end
复制代码
全部复制,完全替换掉  
自动【部分】存档
这个脚本的内容
当时弄的,乱七八糟的也不够完善
如果你用了这个的话
反回主菜单,也会直接再读入存档的,所以,还要自己去该掉 反回主菜单 这个选项
甚至是去掉

点评

居然和人物跟随系统的脚本产生冲突!麻烦在修复一下  发表于 2014-8-1 07:58
说一下,这个是用那个 自动存档,自动读取 完全型  发表于 2014-7-31 22:22

评分

参与人数 1星屑 +66 收起 理由
RyanBern + 66 塞糖

查看全部评分

初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
380
在线时间
602 小时
注册时间
2014-5-8
帖子
699
6
 楼主| 发表于 2014-8-1 08:00:12 | 只看该作者
白鬼 发表于 2014-7-31 22:18
修改好了全部复制,完全替换掉  
自动【部分】存档
这个脚本的内容

RUBY 代码复制
  1. @spriteset.setup_actor_character_sprites(characters)

点评

那你得把任务跟随脚本拿来啊。  发表于 2014-8-1 17:07
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 06:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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