Project1

标题: 脚本结合、关于存档的、 [打印本页]

作者: シスコン    时间: 2012-6-11 20:45
标题: 脚本结合、关于存档的、
  1. $hys_transave = false
  2. class Scene_Map
  3.   alias hys_scene_save transfer_player
  4.   def transfer_player
  5.     hys_scene_save
  6.     $hys_transave = true
  7.     Scene_Save.new.on_decision("Save3.rxdata")
  8.   end
  9. end
  10. class Scene_Save
  11.   def on_decision(filename)
  12.     # 演奏存档 SE
  13.     $game_system.se_play($data_system.save_se) if !$hys_transave
  14.     # 写入存档数据
  15.     file = File.open(filename, "wb")
  16.     write_save_data(file)
  17.     file.close
  18.     # 如果被事件调用
  19.     if $game_temp.save_calling
  20.       # 清除存档调用标志
  21.       $game_temp.save_calling = false
  22.       # 切换到地图画面
  23.       $scene = Scene_Map.new
  24.       return
  25.     end
  26.     # 切换到菜单画面
  27.     $scene = Scene_Menu.new(4) if !$hys_transave
  28.     $hys_transave = false
  29.   end
  30. end
复制代码
上面的是切换场景自动保存、
  1. class Scene_Save
  2.   alias hys_save on_decision
  3.   def on_decision(filename)
  4.     if filename == "Save3.rxdata"
  5.       # 演奏冻结 SE
  6.       $game_system.se_play($data_system.buzzer_se)
  7.       return
  8.     end
  9.     hys_save(filename)
  10.   end
  11. end
复制代码
上面是冻结3号存档只能读档、


所以我想把两个脚本合并为:切换场景自动保存3好存档、但是玩家只可以读取3号 不可以自己保存、

现在两个脚本在一起、只是 可以读取3号 不可以自己保存、连自动保存 就冻结了、希望去掉、dsu_plus_rewardpost_czw
作者: 白鬼    时间: 2012-6-19 23:03
脚本重写吧。我有一个方法, 不用冻结几号存档。因为我反复测试过,这个方法在逻辑顺序上有问题,至少我搞不定。
重写脚本不主要是针对这部分。我的意思是:假设存档数目为n
重新写读档 脚本,或者照搬,重命名一下,修改一下布局,存档数为n-1
在界面时,调用原始load界面,这里面包含第n条存档。
在菜单界面时候,调用新的load界面,这里面不显示第n条存档。
修改save界面,让save界面里面不显示第n条存档。
这样,这条存档只能在过地图时,被自动存档,而不会在菜单中显示出来,从而被读取和记录。
不知道我有没有说清楚。
作者: Wind2010    时间: 2012-6-20 08:42
不要用Scene_Save.new的方法存自动脚本,自己把存档的脚本提取出来单独放进Scene_Map




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