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

Project1

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

[已经解决] 请问如何将指定变量存入/读取RXDATA文件中?

[复制链接]

Lv1.梦旅人

井蓝

梦石
0
星屑
58
在线时间
351 小时
注册时间
2011-1-14
帖子
277
跳转到指定楼层
1
发表于 2012-5-17 19:29:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
比如说我设置了一个5号变量为10,将此变量存入一个RXDATA中(随便取什么名)
因为这个五号变量在以后的游戏中会变,而之前变化的数据要一直读取,所以我想到了将变量存入RXDATA中
我参考过自动存档脚本,结果啥都没搞出来

Lv1.梦旅人

梦·贤者

梦石
0
星屑
50
在线时间
1141 小时
注册时间
2007-12-15
帖子
4100
2
发表于 2012-5-17 20:42:59 | 只看该作者
本帖最后由 tommay 于 2012-5-17 20:50 编辑

save_data($game_variables[5], "xx.rxdata")
不过还是没想明白为什么一定要存存储

点评

$game_variables[5] = load_data("xx.rxdata")  发表于 2012-5-18 12:46
那如何读取呢?  发表于 2012-5-18 12:30
http://rpg.blue/home.php?mod=space&uid=34951&do=blog&id=12799
回复

使用道具 举报

Lv6.析梦学徒

Fuzzy Ginkgo
Taciturn Knight

梦石
0
星屑
60819
在线时间
1934 小时
注册时间
2010-6-26
帖子
1605

烫烫烫开拓者

3
发表于 2012-5-17 20:49:33 | 只看该作者
本帖最后由 orzfly 于 2012-5-18 15:11 编辑
  1. class Game_EternalStorage
  2.   attr_reader :filename
  3.   def initialize(fn)
  4.     @filename = fn
  5.     @data = (open fn, "rb" do |f| Marshal.load(f) end rescue nil) || {}
  6.   end
  7.   def save
  8.     open @filename, "wb" do |f| Marshal.dump(@data, f) end
  9.   end
  10.   def [](key); @data[key] || 0; end
  11.   def []=(k, v); @data[k] = v; end
  12. end

  13. $ges = Game_EternalStorage.new("Save9999.rxdata")
复制代码
读取:$ges[:key]
设置:$ges[:key] = 233
保存:$ges.save


‘‘──orzfly于2012-5-17 20:52补充以下内容

例子
事件里

脚本:$ges["一周目通关次数"] += 1
脚本:$ges.save
’’���

点评

強大@@!  发表于 2012-5-18 15:10
我的言论只代表我个人的观点,不代表雇主及/或任何第三方的立场。
Opinions expressed are solely my own and do not express the views or opinions of my employer and/or any third parties.
捐赠 | GitHub
回复

使用道具 举报

Lv1.梦旅人

井蓝

梦石
0
星屑
58
在线时间
351 小时
注册时间
2011-1-14
帖子
277
4
 楼主| 发表于 2012-5-17 21:31:19 | 只看该作者
本帖最后由 帕克 于 2012-5-17 21:37 编辑
orzfly 发表于 2012-5-17 20:49
读取:$ges[:key]
设置:$ges[:key] = 233
保存:$ges.save


$ges[$game_variables[9].to_s] = 10
$ges.save

$ges["$game_variables[9].to_s"] = 10
$ges.save

$ges["$game_variables[9]"] = 10
$ges.save

$ges[$game_variables[9]] = 10
$ges.save

均不可以这样输出,我想写入变量
回复

使用道具 举报

Lv6.析梦学徒

Fuzzy Ginkgo
Taciturn Knight

梦石
0
星屑
60819
在线时间
1934 小时
注册时间
2010-6-26
帖子
1605

烫烫烫开拓者

5
发表于 2012-5-17 22:06:01 | 只看该作者
本帖最后由 orzfly 于 2012-5-17 22:07 编辑

$ges[10] = $game_variables[9]
$ges.save

= =b

游戏一开始的时候,执行
$game_variables[9] = $ges[10]
读入变量不就可以了……
我的言论只代表我个人的观点,不代表雇主及/或任何第三方的立场。
Opinions expressed are solely my own and do not express the views or opinions of my employer and/or any third parties.
捐赠 | GitHub
回复

使用道具 举报

Lv1.梦旅人

井蓝

梦石
0
星屑
58
在线时间
351 小时
注册时间
2011-1-14
帖子
277
6
 楼主| 发表于 2012-5-18 12:29:05 | 只看该作者
orzfly 发表于 2012-5-17 22:06
$ges[10] = $game_variables[9]
$ges.save



该错误频繁出现
回复

使用道具 举报

Lv6.析梦学徒

Fuzzy Ginkgo
Taciturn Knight

梦石
0
星屑
60819
在线时间
1934 小时
注册时间
2010-6-26
帖子
1605

烫烫烫开拓者

7
发表于 2012-5-18 12:31:17 | 只看该作者
抱歉疏忽了
那个脚本第八行的 Marshal.save 改成 Marshal.dump
我的言论只代表我个人的观点,不代表雇主及/或任何第三方的立场。
Opinions expressed are solely my own and do not express the views or opinions of my employer and/or any third parties.
捐赠 | GitHub
回复

使用道具 举报

Lv1.梦旅人

井蓝

梦石
0
星屑
58
在线时间
351 小时
注册时间
2011-1-14
帖子
277
8
 楼主| 发表于 2012-5-20 13:04:31 | 只看该作者
好吧- -我纠结了0.0,两个都可以用,不过orzfly的开创了新的方法- -所以认可他的吧= =
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 18:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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