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

Project1

 找回密码
 注册会员
搜索

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

查看数: 1770 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-11-20 16:53

正文摘要:

本帖最后由 muffethb 于 2021-11-21 15:39 编辑 想搞个删除对应文件就会改变剧情的游戏,可是全局变量脚本只能用一个,多了就会弹出”发生SystemSrackError。stack level too deep“,太痛苦了,老哥们有什么办法 ...

回复

muffethb 发表于 2021-11-21 15:39:06
喵呜喵5 发表于 2021-11-21 14:53
改用这个脚本
第3、4、5、6行表示全局变量1-4分别储存在文件名 System1-4 的文件中,你可以按照自己的需要 ...

好的谢谢!
喵呜喵5 发表于 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 认可答案

查看全部评分

muffethb 发表于 2021-11-21 08:15:14
喵呜喵5 发表于 2021-11-20 19:42
你用的是谁的全局变量脚本?

您的
喵呜喵5 发表于 2021-11-20 19:42:34
你用的是谁的全局变量脚本?
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-16 01:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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