Project1

标题: [伸手必须猥琐]rxdata和load_data的格式 [打印本页]

作者: 电子最终龙    时间: 2008-6-13 21:47
标题: [伸手必须猥琐]rxdata和load_data的格式
最近在研究用RM里面的事件来重设数据库,在原有数据库(就是用RM编辑器来修改那个)以外自己另外建立数据。
事件调用Marshal.dump也成功了。
把保存后的rxdata覆盖到新工程中,工程启动不能,游戏启动不能。(这个还可以理解,因为里面的格式都被我改的面目全非了)。
接着又新建了一个工程,再把RPG::XXXX的格式全部改成对应格式。再把修改过的RXDATA覆盖进去,继续启动不能OTL
莫非必须完全按照原来RPG::XXXX里面的格式编写load_data才认?还是说要另外写数据库就必须另外写解读器? [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 3535    时间: 2008-6-13 21:54
你是怎样写的?
所有的$data_xxx全都是Array。(除了$data_system) [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 电子最终龙    时间: 2008-6-13 22:12
网络太RP工程不好传,以下是制作过程:
1、新建工程,命名为“伪·数据修改器”。
2、在“伪·数据修改器”的工程中使用脚本编辑器把游戏数据库(RPG::XXXX)的格式重新调整。
3、制作事件A,内容是用脚本在$data里面写内容
4、制作事件B,内容是用脚本调用Marshal.dump($data_xxxx, “xxxx.rxdata”)
5、运行“伪·数据修改器”,触发事件A,然后触发事件B
6、把修改过的"xxxx.rxdata"拿去别的工程用。

OTL到底哪里出问题(撞墙)
作者: IamI    时间: 2008-6-13 22:14
RPG::XXXX 再调整一遍%……
作者: Infrared    时间: 2008-6-13 22:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: 电子最终龙    时间: 2008-6-13 22:31
不用传工程吧…事件A写了什么…你贴上来就可以了吧…不是一些事件脚本就100MB吧?- -晕
[本贴由作者于 2008-6-13 14:18:11 最后编辑]

事件A的测试内容:
◆脚本:$data_actors[1].test = "我是测试用的"
已经在RPG::Actor里面追加了相应变量。
编写和保存似乎没有问题,原工程中调用P也可以显示出来。
但是放到别的工程就会报错。

作者: Infrared    时间: 2008-6-13 23:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: 电子最终龙    时间: 2008-6-13 23:38
新工程里面的RPG::Actor也作了对应修改,还是会报错
作者: IamI    时间: 2008-6-13 23:49
Marshal.dump(obj[, port][, limit])
把 obj 递归地写入文件。

File 和 MatchData 的实例,定义了特殊方法的对象等,不能被写入文件。若对这些不能被写入文件的对象使用该函数时,会引发 TypeError 异常。

可以向 port 指定一个 IO(或其子类)的实例。此时将返回 port。缺省时 dump 会返回保存着对象的字符串。

若使用了 limit 时,将只会保存 limit 层以内的关联对象(默认值为100层)。若将 limit 指定为负值时,将不会进行层数检查。
Marshal.dump($data_xxxx, “xxxx.rxdata”)

string可以直接转换成IO对象?……虽然事件执行通过了
作者: Infrared    时间: 2008-6-13 23:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: 电子最终龙    时间: 2008-6-14 00:08
》string可以直接转换成IO对象?……虽然事件执行通过了

{/gg}手误,前面还有file.open那几句的
作者: Infrared    时间: 2008-6-14 00:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: 电子最终龙    时间: 2008-6-14 00:26
以下引用Infrared于2008-6-13 16:10:24的发言:

$data_actors[1].test = "我是测试用的"
save_data($data_actors, "xxxx.rxdata")

- -|||确实这样写问题就解决了……希望复杂的数据也不会报错。
总之谢谢了。




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