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

Project1

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

[已经解决] [已经解决]如何实现将不同的变量储存到不同的文件里?

[复制链接]

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21100
在线时间
9345 小时
注册时间
2012-6-19
帖子
7107

开拓者短篇九导演组冠军

1
发表于 2021-11-20 19:42:34 | 显示全部楼层
你用的是谁的全局变量脚本?
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21100
在线时间
9345 小时
注册时间
2012-6-19
帖子
7107

开拓者短篇九导演组冠军

2
发表于 2021-11-21 14:53:24 | 显示全部楼层
改用这个脚本
第3、4、5、6行表示全局变量1-4分别储存在文件名 System1-4 的文件中,你可以按照自己的需要修改
变量值变动的时候会自动保存文件,每次获取变量值时会自动读取文件(因此如果你在一个并行事件中不停的判断或者修改全局变量可能会有效率问题,如果你有这个需求可以说一下,我再调整调整)

  1. class Game_Variables
  2.   M5_20211121_VAR = [
  3.     { var: 1, file: "system1.rvdata2" },
  4.     { var: 2, file: "system2.rvdata2" },
  5.     { var: 3, file: "system3.rvdata2" },
  6.     { var: 4, file: "system4.rvdata2" },
  7.   ]
  8.   alias m5_20211121_get []
  9.   alias m5_20211121_set []=
  10.   def [](variable_id)
  11.     M5_20211121_VAR.each do |v|
  12.       if v[:var] == variable_id
  13.         return load_data(v[:file]) unless Dir.glob(v[:file]).empty?
  14.       end
  15.     end
  16.     m5_20211121_get(variable_id)
  17.   end
  18.   def []=(variable_id, value)
  19.     M5_20211121_VAR.each do |v|
  20.       save_data(value, v[:file]) if v[:var] == variable_id
  21.     end
  22.     m5_20211121_set(variable_id, value)
  23.   end
  24. end
复制代码

评分

参与人数 1星屑 +100 收起 理由
alexncf125 + 100 认可答案

查看全部评分

回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-6-4 12:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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