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

Project1

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

[已经解决] 请问全局存档脚本(二周目)怎么扩展变量、开关?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4890
在线时间
915 小时
注册时间
2015-7-1
帖子
362
跳转到指定楼层
1
发表于 2017-12-21 08:57:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我利用这个全局存档脚本制作二周目之余,添加一个成就系统,
成就系统由开关或者变量控制,
我想把控制成就系统的变量、开关写进全局存档,
以便在别的周目也能看到已经拥有的成就,
请问该脚本能不能扩展多几个变量或者开关呢?
脚本
【四季】已上架steam!欢迎大家来玩!

Lv3.寻梦者

梦石
0
星屑
1782
在线时间
579 小时
注册时间
2017-10-13
帖子
52
2
发表于 2017-12-21 12:18:20 | 只看该作者
变量控制的话。你只需要在新周开启的时候不清理成就所在变量就好了。
新周目开启需要判断变量是否需要清零的。力量上自己需要继承的数据外其他都清零

点评

而你所说的和我这个有关联吗?  发表于 2017-12-21 13:02
我想说的是 现在脚本只有一个变量可以储存全局变量 而这个变量我是用作于记录周目数 而我还需要扩展一个变量或者开关来储存成就  发表于 2017-12-21 13:01
???  发表于 2017-12-21 12:58
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23963
在线时间
3338 小时
注册时间
2011-7-8
帖子
3925

开拓者

3
发表于 2017-12-22 11:06:54 | 只看该作者
本帖最后由 guoxiaomi 于 2017-12-26 23:08 编辑
  1. #=============================================================================
  2. # Global_Save
  3. #-----------------------------------------------------------------------------
  4. # 管理全局存档的模块
  5. #=============================================================================
  6. module Global_Save
  7.   # 需要全局存档的变量 ID 和开关 ID
  8.   Global_Save_Variables = [1,2,3]
  9.   Global_Save_Switches = [1,2,3]
  10.   # 存档文件名
  11.   Global_Save_Path = "Save/GSave.rxdata"
  12.   #---------------------------------------------------------------------------
  13.   # 将一个对象写入全局存档
  14.   #     object : 要写入的对象
  15.   #---------------------------------------------------------------------------
  16.   def self.save_data
  17.     # 全局存档的文件名
  18.     filename = Global_Save_Path
  19.     # 打开文件(写入模式)
  20.     file = File.open(filename, "wb")
  21.     # 将 object 写入该文件
  22.     object = {}
  23.     object[:v] = Global_Save_Variables.collect{|key| $game_variables[key]}
  24.     object[:s] = Global_Save_Switches.collect{|key| $game_switches[key]}
  25.     Marshal.dump(object, file)
  26.     # 写入完成,关闭文件
  27.     file.close
  28.   end
  29.   #---------------------------------------------------------------------------
  30.   # 读取全局存档的数据
  31.   #---------------------------------------------------------------------------
  32.   def self.load_data
  33.     # 全局存档的文件名
  34.     filename = Global_Save_Path
  35.     # 如果存在全局存档,则读取,否则什么也不做
  36.     if FileTest.exist?(filename)
  37.       # 打开文件(读取模式)
  38.       file = File.open(filename, "rb")
  39.       # 读取文件中的数据,并把它放在指定 ID 的变量当中
  40.       object = Marshal.load(file)
  41.       Global_Save_Variables.zip(object[:v]).each{|key, value| $game_variables[key] = value}
  42.       Global_Save_Switches.zip(object[:s]).each{|key, value| $game_switches[key] = value}
  43.       # 读取完成,关闭文件
  44.       file.close
  45.     end
  46.   end
  47. end
复制代码

存储全局存档:
  1. Global_Save.save_data
复制代码

读取全局存档:
  1. Global_Save.load_data
复制代码

点评

如果这段代码没报错的话,就是替代你原有的脚本插入到main前。然后在事件-脚本中输入下面的一行代码完成全局变量、开关的存储  发表于 2017-12-25 18:03
我刚刚自己试了好一会...还是不明白怎么用...请问是怎么用的呢?  发表于 2017-12-22 13:30
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4890
在线时间
915 小时
注册时间
2015-7-1
帖子
362
4
 楼主| 发表于 2017-12-26 09:06:19 | 只看该作者
guoxiaomi 发表于 2017-12-22 11:06
存储全局存档:
读取全局存档:

这个我知道...但是主要用法上你没有给出参考的方法、说明啊...
多了几个变量和开关,都不知道怎么选择变量进行全局储存...
一开始我以为用法是调用存储代码,就能把定义的变量、开关储存并生成一个文件,
读取也是一条读取代码就完事那种
但是我用了后就报错了
这里是读取时报的错:


这里是储存时报的错:



之后我觉得也许不是这样用...
然后自己就各种瞎试各种报错了...
这里就不给出截图和说明了...

所以请问这脚本是...怎么使用的嘛?
是我用错了?还是脚本报错了?

点评

应该是我写错了,我找个时间改一下  发表于 2017-12-26 15:58
【四季】已上架steam!欢迎大家来玩!
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23963
在线时间
3338 小时
注册时间
2011-7-8
帖子
3925

开拓者

5
发表于 2017-12-26 23:11:23 | 只看该作者
L7-wind 发表于 2017-12-26 09:06
这个我知道...但是主要用法上你没有给出参考的方法、说明啊...
多了几个变量和开关,都不知道怎么选择变 ...

我把Global写成了Globla……已经修改了。

需要
1. 新建Save文件夹
2. 先存档才能读档。

你可以参考这个范例:
Project1.zip (201.9 KB, 下载次数: 143)

点评

测试了一下完全没问题啦!谢谢版主那么耐心帮忙!  发表于 2017-12-27 09:19

评分

参与人数 2星屑 +80 +2 收起 理由
RyanBern + 80 + 1 这猫叔
L7-wind + 1 认可答案

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-8 02:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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