楼主: TERENCE

Marshal.load(file)读取数据 順序层次的问题(纯讨论)

  [复制链接]
梦石
0
星屑
50
在线时间
54 小时
注册时间
2008-5-12
回帖
124
发表于 2009-2-5 08:59:27 | 显示全部楼层
直接用Notepad打開文件一看就知道……RM的數據根本不設防
你是個好人>////<
回复

使用道具 举报

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
回帖
2623
 楼主| 发表于 2009-6-12 08:00:00 | 显示全部楼层
以下引用Quarcy于2009-2-5 0:59:27的发言:

直接用Notepad打開文件一看就知道……RM的數據根本不設防

眼力那么地好....
我都看不出来分界在何处的(符号)说!

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复

使用道具 举报

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
回帖
5038

贵宾

发表于 2009-2-5 15:34:31 | 显示全部楼层
以下引用TERENCE于2009-2-5 0:19:35的发言:

呵呵~~
利用characters = []
可行了!!

你新放个变量进去到最前面也可以……
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

魔王 ⑨

梦石
0
星屑
90
在线时间
379 小时
注册时间
2006-10-16
回帖
3980

贵宾

发表于 2009-2-5 16:33:10 | 显示全部楼层
读取存档的时候会不会错误啊
回复

使用道具 举报

匿·蹤

梦石
0
星屑
65
在线时间
99 小时
注册时间
2006-3-19
回帖
404
发表于 2009-2-5 17:49:24 | 显示全部楼层
以下引用Quarcy于2009-2-5 0:48:16的发言:

是根據「」分割的,所以可以用split來處理

   file = File.open(dir, mode)
   Marshal.load( "" + file.read.split("")[n] )


n 由 1 開始數


这种方法似乎不行的吧?
因为感觉变量和开关的改变会使得存档文件的长短改变……那么一改变,鬼知道要取得哪个……
卐忍 → 解忍 → 元忍 → 隐忍 → 卍忍 → 匿踪(最终)
完全退步到了卐忍阶段
回复

使用道具 举报

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
回帖
2623
 楼主| 发表于 2009-2-5 19:08:00 | 显示全部楼层
以下引用亿万星辰于2009-2-5 7:34:31的发言:


以下引用TERENCE于2009-2-5 0:19:35的发言:

呵呵~~
利用characters = []
可行了!!

你新放个变量进去到最前面也可以……
以下引用玄月于2009-2-5 8:33:10的发言:

读取存档的时候会不会错误啊

我觉得不要放新的变量(Marshal.dump(obj, file))进去比较妥当
有加新的一层的Marshal.dump(obj, file),
读档时就必须按位置新加一层Marshal.load(file),

如果在做存档转移时,会在Marshal.load(file)层次少一层容易把资料放错变量
或因为先前没有那一层资料而读取错误。

(这里说的存档转移,也代表  游戏进行到一半的存档,如果中途改了Save Load 相关脚本)


如果利用characters = []
在读取,存取视窗生成角色图片的回圈范围稍加注意就可以,
如果是要显示当存档前的地图,
只要利用nil值去判断....
是否做存档转移时之前沒存到的錯誤。

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复

使用道具 举报

孤独守望

梦石
0
星屑
3144
在线时间
1535 小时
注册时间
2006-10-16
回帖
4223

开拓者贵宾

发表于 2009-2-5 19:17:57 | 显示全部楼层
以下引用Quarcy于2009-2-5 0:48:16的发言:

是根據「」分割的,所以可以用split來處理

   file = File.open(dir, mode)
   Marshal.load( "" + file.read.split("")[n] )


n 由 1 開始數

这个要狠狠的PIA,喵的脚本编辑器是UTF-8编码,记事本是ASCII编码,如果你把他用记事本打开,Copy进编辑器,你会发现根本就不是那么回事,而且不同类型表示不同,根本没法用
要提高效率最简单的办法就是单独提文件出来保存。

你是对的
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复

使用道具 举报

梦石
0
星屑
50
在线时间
54 小时
注册时间
2008-5-12
回帖
124
发表于 2009-2-5 19:34:45 | 显示全部楼层
以下引用OCTSJimmy于2009-2-5 9:49:24的发言:

这种方法似乎不行的吧?
因为感觉变量和开关的改变会使得存档文件的长短改变……那么一改变,鬼知道要取得哪个……

內容大小完全不關我事,甚至裏面有多少個元素都不關我事,我祗是根據段分割符號把數據重新分割開來,然後轉義。
以下引用IamI于2009-2-5 11:17:57的发言:

这个要狠狠的PIA,喵的脚本编辑器是UTF-8编码,记事本是ASCII编码,如果你把他用记事本打开,Copy进编辑器,你会发现根本就不是那么回事,而且不同类型表示不同,根本没法用
要提高效率最简单的办法就是单独提文件出来保存。

扶額……果然不能理解嗎?
無論甚麼碼都好,在二進制當中保持一致就可以了。你不會以為I/O還會因為編碼的差異而讀出來的東西有本質的不同吧?如果是這樣,那麼Matz的大腦真的進水了。

總之自己試一下就很清楚
你是個好人>////<
回复

使用道具 举报

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
回帖
2623
 楼主| 发表于 2009-2-5 20:04:28 | 显示全部楼层
LS别生气
其实你的答案是正解的了

只是在RM脚本编辑器里头显示显示很丑


昨天本来要认可你的,但是先被前面的人抢先了
SORRY啦!!

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复

使用道具 举报

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
回帖
2623
 楼主| 发表于 2009-2-6 07:29:13 | 显示全部楼层
疑~~本帖得到版主鼓励!?而且还改变主题排序??


无论原因如何谢谢BZ redant 的鼓励和加分!!

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部