查看: 2409|回复: 0

[已经过期] 修改报错脚本的问题

[复制链接]
梦石
0
星屑
2245
在线时间
1015 小时
注册时间
2015-10-17
回帖
1077
发表于 2017-9-29 14:31:22 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
下面这个脚本,有人说没有修改也会出现无效存档,帮忙看看哪里出了问题,谢谢

[pre lang="ruby"]#---------------------------------------------------------------------------
# *DataManager File Code1.2 date:2014.11.8 by.lyaci
#---------------------------------------------------------------------------
module DataManager
  INVTEXT = '无效存档...'
  CODEREXP = /:0x.{7}|[^0-9]/
  CODESTR = String.new
  def self.save_game_without_rescue(index)
    File.open(make_filename(index), "wb") do |file|
      $game_system.on_before_save
      Marshal.dump(make_save_header, file)
      data = Zlib::Deflate.deflate(Marshal.dump(make_save_contents).to_s)
      Marshal.dump(data, file)
      @last_savefile_index = index
    end
    file = File.open(make_filename(index), "ab")
    Marshal.dump(get_self_code, file)
    file.close
    return true
  end
  def self.load_game_without_rescue(index)
    File.open(make_filename(index), "rb") do |file|
      Marshal.load(file)      
      data = Zlib::Inflate.inflate(Marshal.load(file))
      extract_save_contents(Marshal.load(data))
      code = Marshal.load(file)
      unless code == get_self_code
        msgbox(INVTEXT)
        return false
      end
      reload_map_if_updated
      @last_savefile_index = index
    end
    return true
  end
  def self.get_self_code
    ini = [0].pack('L*')
    vif = Win32API.new("kernel32", "GetVolumeInformation", 'PPIP', 'V')
    vif.call("c:\\","\0"*128,128,ini);ini.unpack("L*")[-1]
  end
end[/pre]
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

在本版发帖返回顶部