以下引用玄月于2009-2-4 22:55:23的发言:
顺序问题吧……今天就跟这个在纠纷,然后最后还是屈服了- -,拿100%能读取的变量来记录。。。最简单的方法还是读取多几次无用的数据吧。 = =
file = File.open(dir, mode)
Marshal.load( "" + file.read.split("")[n] )
以下引用Quarcy于2009-2-5 0:48:16的发言:
是根據「」分割的,所以可以用split來處理
file = File.open(dir, mode)
Marshal.load( "" + file.read.split("")[n] )
n 由 1 開始數
以下引用TERENCE于2009-2-5 0:19:35的发言:
呵呵~~
利用characters = []
可行了!!
以下引用Quarcy于2009-2-5 0:48:16的发言:
是根據「」分割的,所以可以用split來處理
file = File.open(dir, mode)
Marshal.load( "" + file.read.split("")[n] )
n 由 1 開始數
以下引用亿万星辰于2009-2-5 7:34:31的发言:
以下引用TERENCE于2009-2-5 0:19:35的发言:
呵呵~~
利用characters = []
可行了!!
你新放个变量进去到最前面也可以……
以下引用玄月于2009-2-5 8:33:10的发言:
读取存档的时候会不会错误啊
以下引用Quarcy于2009-2-5 0:48:16的发言:
是根據「」分割的,所以可以用split來處理
file = File.open(dir, mode)
Marshal.load( "" + file.read.split("")[n] )
n 由 1 開始數
以下引用OCTSJimmy于2009-2-5 9:49:24的发言:
这种方法似乎不行的吧?
因为感觉变量和开关的改变会使得存档文件的长短改变……那么一改变,鬼知道要取得哪个……
以下引用IamI于2009-2-5 11:17:57的发言:
这个要狠狠的PIA,喵的脚本编辑器是UTF-8编码,记事本是ASCII编码,如果你把他用记事本打开,Copy进编辑器,你会发现根本就不是那么回事,而且不同类型表示不同,根本没法用
要提高效率最简单的办法就是单独提文件出来保存。
以下引用沉影不器于2009-2-6 13:04:46的发言:
整理成函数更方便...
module Marshal
def self.read(port, sect, proc=nil)
str = ["\004\010"].pack("a*") ### - -||
return self.load(str + port.read.split(str)[sect+1], proc)
end
end
file = File.open("Save1.rvdata", "rb")
a=Marshal.read(file,1)
p a
[本贴由作者于 2009-2-6 13:14:51 最后编辑]
以下引用沉影不器于2009-2-6 13:04:46的发言:
整理成函数更方便...
module Marshal
def self.read(port, sect, proc=nil)
str = ["\004\010"].pack("a*") ### - -||
return self.load(str + port.read.split(str)[sect+1], proc)
end
end
file = File.open("Save1.rvdata", "rb")
a=Marshal.read(file,1)
p a
以下引用沉影不器于2009-2-6 13:04:46的发言:
str = ["\004\010"].pack("a*")
以下引用沉影不器于2009-2-6 18:45:39的发言:
回TERENCE:
p "".unpack("a*")
回亿万星辰:
我也不知道,中午赶时间匆忙测试,有时候"\004\010"就得到nil...["\004\010"].pack("a*")貌似不出错...困了想睡觉去,先在这行后面注释"### - -||"
以下引用Quarcy于2009-2-5 0:59:27的发言:
直接用Notepad打開文件一看就知道……RM的數據根本不設防
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |