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

Project1

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

[已经解决] 关于二周目中的附赠房间问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2016-8-13
帖子
5
跳转到指定楼层
1
发表于 2017-4-21 11:43:09 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
想要达到的效果是:游戏中使用某个物品可进入附赠房间,能显示收集过的故事或结局。
但一个结局完成后,重新读取存档记录或者重新开始游戏,如何使附赠房间中显示这些一周目收集的情报数据,而正在进行的周目中不会继承这些数据。
是要继承开关变量吗?脚本该如何写呢。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2016-8-13
帖子
5
8
 楼主| 发表于 2017-4-21 21:40:48 | 只看该作者
guoxiaomi 发表于 2017-4-21 20:52
所谓的“二周目”,其实是一个“公共存档”,所有的存档都能从这个文件里读取内容。

以我的脚本为例,假 ...

谢谢详解!!!
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23999
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

7
发表于 2017-4-21 20:52:53 | 只看该作者
本帖最后由 guoxiaomi 于 2017-4-21 21:02 编辑
rnh327 发表于 2017-4-21 18:40
恩恩原来这样,我懂了大概意思了。但是什么叫公共变量?我没有找到这个


所谓的“二周目”,其实是一个“公共存档”,所有的存档都能从这个文件里读取内容。

以我的脚本为例,假设需要一个数组是,用0表示cg未解锁,1表示cg已经解锁,
在任何存档中里执行这个之后
  1. $game_global.set('cg', [0,0,0,0,0])
复制代码


在任何存档中,都可以通过执行
  1. $game_global.cg
复制代码
来获得数组,同样也可以用set方法来设置这个数组,此数组是所有存档公用的。

所以,初始化的时候,在脚本编辑器的此脚本后面后面直接写:
  1. $game_global = Game_Global.new('global', {'win' => false, 'cg' => [0]*16})
复制代码

然后新游戏开始的时候,看是否为二周目,是的话读取cg数组到变量10,否则把变量10变成一个初始化的数组
  1. if $game_global.win
  2.   # 继承公共的 cg 数据
  3.   $game_variables[10] = $game_global.cg
  4. else
  5.   $game_variables[10] = [0]*16
  6. end
复制代码
这样,只读取 $game_variables[10] 就可以得到当前存档需要的cg数据,但是二周目的时候,公共的 cg 数据已经在新游戏的时候存入了 $game_variables[10] 里。要注意到,每个存档都有自己的 $game_variables[10] 。

需要知道第 3 个 cg 是否解锁,直接判断
  1. $game_variables[10][3] == 1
复制代码

当解锁新的cg,比如第 3 号,就要同时设置局域cg数据,和公共的cg数据,如果是通关的时候才保存存档里解锁的cg,就不写后面的部分,只要第 1 行。
  1. $game_variables[10][3] = 1
  2. # 写入 cg 数据到公共存档
  3. cg = $game_global.cg
  4. cg[3] = 1
  5. $game_global.set('cg', cg)
复制代码

通关的时候,设置win = true
  1. $game_global.set('win', true)
复制代码

并且把这里面收集的cg,写入公共存档
  1. $game_variables[10].each_index do |i|
  2.   # 如果第 i 个 cg 未解锁跳过
  3.   next if $game_variables[10][i] == 0
  4.   # 写入 cg 数据到公共存档
  5.   cg = $game_global.cg
  6.   cg[i] = 1
  7.   $game_global.set('cg', cg)
  8. end
复制代码

评分

参与人数 2星屑 +400 梦石 +1 收起 理由
天使喝可乐 + 300 醋瞎
RyanBern + 100 + 1 醋瞎

查看全部评分

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2016-8-13
帖子
5
6
 楼主| 发表于 2017-4-21 18:40:23 | 只看该作者
guoxiaomi 发表于 2017-4-21 17:54
意思是,有一个公共数组记录了所有解锁的cg。然后每个存档里也有一个数组变量存储当前存档已经解锁的cg。 ...

恩恩原来这样,我懂了大概意思了。但是什么叫公共变量?我没有找到这个
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2016-8-13
帖子
5
5
 楼主| 发表于 2017-4-21 17:55:35 | 只看该作者
guoxiaomi 发表于 2017-4-21 12:54
存1个存档间公用开关:“是否通关开启2周目”

新游戏开始的时候,判断此变量,如果是off,说明二周目没有 ...

不太一样吧,一周目获得的cg不是固定的,做附赠房间开关时并不知道玩家可以获得哪些cg。

点评

看看4楼,如果还不懂的话,晚点我再详细说明……  发表于 2017-4-21 17:57
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23999
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

4
发表于 2017-4-21 17:54:38 | 只看该作者
rnh327 发表于 2017-4-21 15:29
谢谢解答。但我希望做到的不是房间的开关,而是房间内的内容,比如一周目的时候得了一张cg,二周目走了另 ...


意思是,有一个公共数组记录了所有解锁的cg。然后每个存档里也有一个数组变量存储当前存档已经解锁的cg。

现在还是跟之前一样

1. 每次解锁了新的cg,同时修改当前存档的变量和公共变量。
2. 通关时打开公共的二周目开关
3. 新游戏时,如果公共的二周目开关打开,把公共的变量读入到当前存档的变量里。

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2016-8-13
帖子
5
3
 楼主| 发表于 2017-4-21 15:29:19 | 只看该作者
guoxiaomi 发表于 2017-4-21 12:54
存1个存档间公用开关:“是否通关开启2周目”

新游戏开始的时候,判断此变量,如果是off,说明二周目没有 ...

谢谢解答。但我希望做到的不是房间的开关,而是房间内的内容,比如一周目的时候得了一张cg,二周目走了另外一条路线没能拿到这张cg,但是进入附赠房间时这张cg是可以显示的{:2_249:}

点评

没有太大区别吧,二周目判断这个开关打开,就显示cg,或者类似的设置多个开关。  发表于 2017-4-21 17:45
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23999
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

2
发表于 2017-4-21 12:54:03 | 只看该作者
本帖最后由 guoxiaomi 于 2017-4-21 13:02 编辑

存1个存档间公用开关:“是否通关开启2周目”

新游戏开始的时候,判断此变量,如果是off,说明二周目没有开启,什么也不做。如果是on,打开开关“秘密房间钥匙”,这个开关不是公共的,而是每个存档自带的。
通关的时候打开开关“秘密房间的钥匙”和存档间公用开关“是否能通关开启二周目”。

这样的话在游戏里合适的时候判断开关“秘密房间的钥匙”就能决定获得钥匙的情况……

虽然二周目脚本很多,还是推荐一下自己写的:
https://rpg.blue/forum.php?mod=v ... amp;_dsign=268260b7
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 10:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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