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

Project1

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

[已经解决] 想做个快速保存的脚本

[复制链接]

Lv4.逐梦者

梦石
2
星屑
6639
在线时间
501 小时
注册时间
2018-3-23
帖子
533

R考场第七期银奖

1
发表于 2020-3-12 10:05:05 | 显示全部楼层
本帖最后由 MCCF 于 2020-3-12 10:09 编辑

如果LZ是自己在尝试的话……我觉得善用脚本编辑器的“全局搜索”吧,可以很方便地找到需要查看的方法。

存档的基本方法是DataManager.save_game(index),index是存档编号。
内部实现很简单,把当前$game_variables和$game_player这些游戏实例用Marshal.dump塞进存档。然后外面再包装一个异常处理,防止无法写入导致脚本崩溃。

读档是DataManager.load_game(index)。就是把当前的游戏实例设置成存档中所存储的。
以前写过一个自动存档脚本,这种脚本的套路是,点击后不进入Scene_Save,直接操作DataManager存档。读档也一样。

另外,如果要调整存档的内容的话,VA也提供了方法。比如:
RUBY 代码复制
  1. class << DataManager
  2.   #--------------------------------------------------------------------------
  3.   # ● 生成存档内容
  4.   #--------------------------------------------------------------------------
  5.   alias orig_make_save_contents make_save_contents
  6.   def make_save_contents
  7.     orig_make_save_contents
  8.     contents[:something] = $game_something
  9.   end
  10.   #--------------------------------------------------------------------------
  11.   # ● 展开存档内容
  12.   #--------------------------------------------------------------------------
  13.   alias orig_extract_save_contents extract_save_contents
  14.   def extract_save_contents(contents)
  15.     orig_extract_save_contents(contents)
  16.     $game_something = contents[:something]
  17.   end
  18. end

这两个方法用于生成和获取存档的具体内容(contents)。

评分

参与人数 1+1 收起 理由
b200077 + 1 我很赞同

查看全部评分

祝好。
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-18 02:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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