Project1

标题: 战斗后存档报错 [打印本页]

作者: zsefvv    时间: 2019-11-23 10:30
标题: 战斗后存档报错
本帖最后由 zsefvv 于 2019-11-23 10:32 编辑

我这边是地图即时战斗roguelike.....
每个房间都会存一次档,只要有触发过战斗。
再次存档就会弹出如下错误。



已经全局搜索proc了,但是也不知道具体原因,也不像是bitmap没释放干净的锅。

要看工程的话加企鹅109955453,工程比较大.......
如果有大佬能帮忙解决掉这些BUG,可以有偿.....(至少300RMB左右)

存档脚本如下
RUBY 代码复制
  1. class Interpreter
  2. def tosave   #存档事件脚本
  3.     file = File.open("Save/save.rxdata", "wb")
  4.         # 生成描绘存档文件用的角色图形
  5.         characters = []
  6.     for i in 0...$game_party.actors.size
  7.       actor = $game_party.actors[i]
  8.       characters.push([actor.character_name, actor.character_hue])
  9.     end
  10.         # 写入描绘存档文件用的角色数据
  11.         Marshal.dump(characters, file)
  12.         # 写入测量游戏时间用画面计数
  13.         Marshal.dump(Graphics.frame_count, file)
  14.         # 保存魔法编号
  15.         # (将编辑器保存的值以随机值替换)
  16.         $game_system.magic_number = $data_system.magic_number
  17.         # 写入各种游戏对像
  18.         Marshal.dump($game_system, file)
  19.         Marshal.dump($game_switches, file)
  20.         Marshal.dump($game_variables, file)
  21.         Marshal.dump($game_self_switches, file)
  22.         Marshal.dump($game_screen, file)
  23.         Marshal.dump($game_actors, file)
  24.         Marshal.dump($game_party, file)
  25.         Marshal.dump($game_troop, file)
  26.         Marshal.dump($game_map, file)
  27.         Marshal.dump($game_player, file)
  28.         file.close  
  29.       end
  30.  
  31. def toload    #读档事件脚本
  32.         file = File.open("Save/save.rxdata", "rb")
  33.         # 读取描绘存档文件用的角色数据
  34.         characters = Marshal.load(file)
  35.         # 读取测量游戏时间用画面计数
  36.         Graphics.frame_count = Marshal.load(file)
  37.         # 读取各种游戏对像
  38.         $game_system        = Marshal.load(file)
  39.         $game_switches      = Marshal.load(file)
  40.         $game_variables     = Marshal.load(file)
  41.         $game_self_switches = Marshal.load(file)
  42.         $game_screen        = Marshal.load(file)
  43.         $game_actors        = Marshal.load(file)
  44.         $game_party         = Marshal.load(file)
  45.         $game_troop         = Marshal.load(file)
  46.         $game_map           = Marshal.load(file)
  47.         $game_player        = Marshal.load(file)
  48.         # 魔法编号与保存时有差异的情况下
  49.         # (加入编辑器的编辑过的数据)
  50.         if $game_system.magic_number != $data_system.magic_number
  51.           # 重新装载地图
  52.           $game_map.setup($game_map.map_id)
  53.           $game_player.center($game_player.x, $game_player.y)
  54.         end
  55.         # 刷新同伴成员
  56.         $game_party.refresh
  57.         file.close
  58.         # 还原 BGM、BGS
  59.         $game_system.bgm_play($game_system.playing_bgm)
  60.         $game_system.bgs_play($game_system.playing_bgs)
  61.         # 刷新地图 (执行并行事件)
  62.         $game_map.update
  63.         # 切换到地图画面
  64.         $scene = Scene_Map.new
  65.         openmaps if $game_switches[MAP_SWI_ID]
  66.         eval File.read('txt/lovestory.txt')
  67.         eval File.read('txt/story1-1.txt') if $game_variables[152] == 1
  68.         eval File.read('txt/story1-2.txt') if $game_variables[152] == 2
  69.       end
  70.  
  71. def delsave   #删档事件脚本
  72.     file = File.delete("Save/save.rxdata")
  73.   end
  74. end

作者: zsefvv    时间: 2019-11-23 11:47
已解决,感谢帮忙的大佬




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