Project1

标题: 一口气把所有自定义全局变量存档 [打印本页]

作者: 奶油Da蛋糕    时间: 2009-9-11 21:04
标题: 一口气把所有自定义全局变量存档
  1. Marshal.dump($game_system, file)
  2. Marshal.dump($game_switches, file)
  3. Marshal.dump($game_variables, file)
  4. Marshal.dump($game_self_switches, file)
  5. Marshal.dump($game_screen, file)
  6. Marshal.dump($game_actors, file)
  7. Marshal.dump($game_party, file)
  8. Marshal.dump($game_troop, file)
  9. Marshal.dump($game_map, file)
  10. Marshal.dump($game_player, file)
复制代码
我现在才发现,只有这几个变量会写入存档。
=.=之前由于对脚本不太清晰,
并且比较偷懒,写脚本的时候都是很简单的用了全局变量
(并且都是很重要的,影响游戏终生剧情的……)
并且都无规则,如:$xiulian,$baba,$sm,$zh29998,$lc……
现在我想给所有全局变量一口气全部写入存档
在不影响游戏的其它变量的情况下,最便捷的方法是?
(难道必须一个一个的写吗..=.=我不要...)
作者: 66rpg学习    时间: 2009-9-11 21:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: zh99998    时间: 2009-9-11 21:18
你可以用global_variables来获取所有全局变量,但是严重反对把所有全局变量存进存档
比如一个最难以解决的问题就是那些不允许Marshal的对象
Marshal.dump(obj[,port][,limit])
把obj递归地写入文件. 若对那些不能被写入文件的对象使用该函数时, 会引发TypeError异常. 下列对象就不能被写入文件.

无名的Class/Module对象. (此时,将引发ArgumentError异常. 请参考Module.new来了解无名类的情况.)
其状态受到系统保护的那些对象. 具体说来就是以下实例. 例如Dir, File::Stat, IO及其子类File, Socket等.
MatchData, Data, Method, UnboundMethod,Proc, Thread, ThreadGroup, Continuation的实例.
定义了特殊方法的对象

作者: 奶油Da蛋糕    时间: 2009-9-11 21:39
好吧好吧,我放弃了,我去换成$game_v什么[n]好了....
虽然非常非常麻烦=.=
后悔当初学脚本没学精通=.=现在又要收拾烂摊子
原来存点美元这么难=.=
作者: 玄月    时间: 2009-9-12 00:44
一个一个写吧 = =
呆瓜~




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