Project1

标题: 能不能创建一个不受存档或者新开游戏影响的变量? [打印本页]

作者: MeowSnow    时间: 2013-1-4 22:36
标题: 能不能创建一个不受存档或者新开游戏影响的变量?
不管怎么重开游戏,保存游戏,那个变量都保持它最终一次的更改~
嗯,至少给这个变量单独生成一个独立存档?
唔,还有个问题是新开游戏的话到了调整这个变量的时候,
如果新开游戏需要更新的话,按最大的数字来,如果当前数字比新开游戏要更新的大,取消更新~
想在标题做个成就系统~我知道一个变量不够了……先试一下……到时候可以举一反三~
作者: 羞射了    时间: 2013-1-4 22:55
本帖最后由 hcm 于 2013-1-24 13:36 编辑

搜索并研究以下内容:
  1.    #存档方式
  2.     file = File.open(make_filename(@file_index), "wb")
  3.     write_save_data(file)#重点
  4.     file.close
  5.    #读档方式
  6.     file = File.open(filename, "rb")
  7.     read_save_data(file)#重点
  8.     file.close
复制代码
思路1:在需要的时候通过脚本可以手动调用存档和读档功能,这种存档可以自由命名,并且不被默认的存档读档所识别。

思路2:掌握思路1后,尝试修改两处“重点”,使得在需要保存读取档案的地方,同时保存读取多个存档的数据,随后才进入游戏。

作者: wingzeroplus    时间: 2013-1-5 09:11
本帖最后由 wingzeroplus 于 2013-1-5 09:13 编辑

我有个思路是利用重复写入数据库来识别
运行时需要改变独立变量的时候,通过运行时修改数据库的效果,比如利用改变999号敌人的HP记录需要的数值,$data_enemies[999].hp =某数值,之后在保存的时候反写回数据库,那么就达到永久修改了。新建游戏的时候,通过$data_enemies[999].hp来判断开启或者关闭成就(也可以将数值代入变量去判断)。同时也可以判断 新变量XX 与 $data_enemies[999].hp 数值大小,是否需要改变。当然不止是HP,其他用不上编号的敌人的能力都可以视为变量利用

PS:不过这种办法 一定要注意,万一写超了,比如STR给赋值了1000以上,写回去的话……工程报废……
作者: 羞射了    时间: 2013-1-5 13:40
write_save_data(file)#重点
read_save_data(file)#重点

这两个不是叫你去代入变量的,而是叫你看它们是如何定义的。

举例子说read_save_data(file)里会先读取file中某些数据库,然后刷新游戏场景。

你所要做的就是读取file的数据库后,读取另一个档案,比如法宝数据,然后再刷新游戏场景。

而保存游戏时也同样的,保存file后,再将法宝数据保存到一个档案。

因为法宝数据始终只有一个存档,所以无论何时都是可以继承的。

脚本举例:
Marshal.dump($game_variables, file)
首先你必须知道全局变量$然后上面的语句就是将$game_variables写入file
这里你能联想到什么吗??
事实上rm的存档并没有保存你游戏中所有的变量,只是将部分全局变量保存了下来。

假设你自己设置了一个变量或变量的集合,叫$继承 那么这个“$继承”就是默认不会写入存档的。

你必须通过Marshal.dump($继承, 文件名)的方式,将其保存下来。

然后在需要调用这个变量的地方,用 $继承 = Marshal.load(文件名) 将其读取出来。

说了这么多,别忘了第一篇里的file open 和 close
作者: 芯☆淡茹水    时间: 2013-1-5 17:07
当指定的变量数值改变,自动生成TXT文本保存在游戏文件夹里,(参照容错脚本)。
当开始新游戏或者读取存档后的第一件事,首先读取保存的TXT文本,赋予指定变量
相应的值。
呃~~~,这个只是初步的想法。
作者: zhangbanxian    时间: 2013-1-6 09:41
本帖最后由 zhangbanxian 于 2013-1-6 09:47 编辑

- -b事件脚本
把1号变量存入文件
  1. save_data($game_variables[1],"g_save.rxdata")
复制代码
从文件读出1号变量
  1. $game_variables[1] = load_data("g_save.rxdata") rescue 0
复制代码





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