Project1

标题: 如何解开项目中的rvdata2包 [打印本页]

作者: Flame_ustc    时间: 2015-9-24 00:37
标题: 如何解开项目中的rvdata2包
刚刚开始学习RM的纯新人,以前倒是玩过不少马头龙头的游戏,但是正式开始学习也就是最近的事。
起因就是突然心血来潮想做一个系统比较复杂的RPG游戏,而且是希望能够持续的完善下去,所以打算用git来管理整个项目的开发过程。
具体来说就是想编写一个独立的Ruby脚本,可以把数据库和脚本库中的所有内容都dump成文本格式。
在每次用编辑器修改后执行这个脚本,然后把rvdata2包和文本格式的一起提交,这样就能够清楚地看到所有的历史内容和每次修改的diff。

问题来了:我参考这个帖子成功的把Scripts.rvdata2的东西dump出来了,只不过做了一些修改,把load_data改成了Marshal.load。
但是当我想要类似的去dump其他rvdata2包时,因为没有RPG模块的源代码,所以Marshal.load会出错"undefined class/module RPG::"。
我试着从RGSS300.dll抽取RPG模块的定义,不过我的Ruby也是刚学所以完全不得其门而入。

还请大神指点
作者: 喵呜喵5    时间: 2015-9-24 09:41
不要使用那个帖子提到的方法提取其他数据文件

整个RPG模块你可以参考F1帮助文档中的 RPGVXAce 数据结构 这一章节(http://miaowm5.github.io/RMVA-F1/RPGVXAcecn/rgss/g_rpg_data.html),应该已经写得比较清楚了
作者: taroxd    时间: 2015-9-24 14:16
本帖最后由 taroxd 于 2015-9-24 22:22 编辑

https://rpg.blue/thread-383696-1-1.html
作者: Flame_ustc    时间: 2015-9-25 11:04
谢两位大神!
我先按照喵呜喵5的做法把F1帮助文档里的类定义复制出来,果然成功执行了Marshal.load,然后直接为每个对象执行to_s,其实已经达到了我最初的预期。
然而taroxd给出的脚本比我自己写的牛多了,可惜昨天回来的比较晚还没有来得及仔细阅读和研究,后续我会回在那个帖子里。




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