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

Project1

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

[已经解决] 能不能创建一个不受存档或者新开游戏影响的变量?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1291
在线时间
6552 小时
注册时间
2010-12-30
帖子
8949
跳转到指定楼层
1
发表于 2013-1-4 22:36:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
不管怎么重开游戏,保存游戏,那个变量都保持它最终一次的更改~
嗯,至少给这个变量单独生成一个独立存档?
唔,还有个问题是新开游戏的话到了调整这个变量的时候,
如果新开游戏需要更新的话,按最大的数字来,如果当前数字比新开游戏要更新的大,取消更新~
想在标题做个成就系统~我知道一个变量不够了……先试一下……到时候可以举一反三~

点评

- -b脚本比较长,换行前加个\,像这样save_data\ ($game_variables[1],"g_save.rxdata")  发表于 2013-1-8 15:25

Lv1.梦旅人

梦石
0
星屑
47
在线时间
976 小时
注册时间
2011-4-30
帖子
860
2
发表于 2013-1-4 22:55:20 | 只看该作者
本帖最后由 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后,尝试修改两处“重点”,使得在需要保存读取档案的地方,同时保存读取多个存档的数据,随后才进入游戏。

点评

T^T试着将重点带入变量或者开关出错了  发表于 2013-1-4 23:52
怎样指定保存一个变量或者开关呢?\(^o^)/~  发表于 2013-1-4 23:26

评分

参与人数 1星屑 +66 收起 理由
hcm + 66 感谢回答

查看全部评分

湿滑落式骑!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
568 小时
注册时间
2012-9-7
帖子
611
3
发表于 2013-1-5 09:11:10 | 只看该作者
本帖最后由 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 16:42
写段范例吧T^T  发表于 2013-1-5 16:13

评分

参与人数 1星屑 +66 收起 理由
hcm + 66 感谢回答

查看全部评分

FTM正式版已经发布,点击图片开启传送门
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
47
在线时间
976 小时
注册时间
2011-4-30
帖子
860
4
发表于 2013-1-5 13:40:35 | 只看该作者
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

点评

写段范例吧T^T ,我不懂脚本……都是复制过去就用了……  发表于 2013-1-5 16:13

评分

参与人数 1星屑 +50 收起 理由
hcm + 50 感谢回答

查看全部评分

湿滑落式骑!
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33671
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

5
发表于 2013-1-5 17:07:36 | 只看该作者
当指定的变量数值改变,自动生成TXT文本保存在游戏文件夹里,(参照容错脚本)。
当开始新游戏或者读取存档后的第一件事,首先读取保存的TXT文本,赋予指定变量
相应的值。
呃~~~,这个只是初步的想法。

点评

看楼下:  发表于 2013-1-7 13:52
RM都支持生成读取TXT?写段范例吧T^T ,我不懂脚本……都是复制过去就用了……  发表于 2013-1-5 23:50

评分

参与人数 1星屑 +30 收起 理由
hcm + 30 感谢回答

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
帖子
1305
6
发表于 2013-1-6 09:41:29 | 只看该作者
本帖最后由 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
复制代码

点评

T^T加上\还是出错……  发表于 2013-1-8 15:32
T^T执行起来不知道为什么会出错  发表于 2013-1-8 15:12

评分

参与人数 1星屑 +30 收起 理由
hcm + 30 感谢回答

查看全部评分

好歹当年也当过大魔王过,orz
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-8 01:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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