本帖最后由 英顺的马甲 于 2016-6-22 01:04 编辑
望月神绮 发表于 2016-6-22 00:04
RyanBern大大说了我的心理话QAQ
跪求帮忙,只是稍微防一防。
RM的存档修改的方法不外乎就那几个,也就是说只要在存档上随便做点小手脚基本上就GG了
比如说这样:
unless $ORIGINAL_SCENE_SAVE $ORIGINAL_SCENE_SAVE = Scene_Save.clone $ORIGINAL_SCENE_LOAD = Scene_Load.clone $ORIGINAL_WINDOW_SAVEFILE = Window_SaveFile.clone end class Scene_Save < $ORIGINAL_SCENE_SAVE def on_decision(filename) super(filename) buffer = "" File.open(filename, "rb"){|f|buffer = Zlib::Deflate.deflate(f.read)} File.open(filename, "wb"){|f|f.write [Zlib.crc32(buffer), buffer].pack("La*")} end end class Scene_Load < $ORIGINAL_SCENE_LOAD def on_decision(filename) crc = 0; buffer = "" File.open(filename, "rb"){|f|crc, buffer = f.read.unpack("La*")} File.open(filename, "wb"){|f|f.write Zlib::Inflate.inflate(buffer)} if crc == Zlib.crc32(buffer) super(filename) end end class Window_SaveFile < $ORIGINAL_WINDOW_SAVEFILE def initialize(index, filename) @file_exist = FileTest.exist?(filename) if @file_exist File.open(filename, "rb"){|f|@crc, @buffer = f.read.unpack("La*")} File.open(filename, "wb"){|f|f.write Zlib::Inflate.inflate(@buffer)} end super(index, filename) if @file_exist File.open(filename, "wb"){|f|f.write [@crc, @buffer].pack("La*")} end end end
unless $ORIGINAL_SCENE_SAVE
$ORIGINAL_SCENE_SAVE = Scene_Save.clone
$ORIGINAL_SCENE_LOAD = Scene_Load.clone
$ORIGINAL_WINDOW_SAVEFILE = Window_SaveFile.clone
end
class Scene_Save < $ORIGINAL_SCENE_SAVE
def on_decision(filename)
super(filename)
buffer = ""
File.open(filename, "rb"){|f|buffer = Zlib::Deflate.deflate(f.read)}
File.open(filename, "wb"){|f|f.write [Zlib.crc32(buffer), buffer].pack("La*")}
end
end
class Scene_Load < $ORIGINAL_SCENE_LOAD
def on_decision(filename)
crc = 0; buffer = ""
File.open(filename, "rb"){|f|crc, buffer = f.read.unpack("La*")}
File.open(filename, "wb"){|f|f.write Zlib::Inflate.inflate(buffer)} if crc == Zlib.crc32(buffer)
super(filename)
end
end
class Window_SaveFile < $ORIGINAL_WINDOW_SAVEFILE
def initialize(index, filename)
@file_exist = FileTest.exist?(filename)
if @file_exist
File.open(filename, "rb"){|f|@crc, @buffer = f.read.unpack("La*")}
File.open(filename, "wb"){|f|f.write Zlib::Inflate.inflate(@buffer)}
end
super(index, filename)
if @file_exist
File.open(filename, "wb"){|f|f.write [@crc, @buffer].pack("La*")}
end
end
end
但这只是最简单的手脚,稍微厉害一些的人还没打开脚本就看破了
还有个方法就是利用真假存档掩护,假存档光明正大的摆在那让人改,但是每次读取时读取的都是藏在别处的真存档 |