Project1

标题: 求退出自动存档的做法 [打印本页]

作者: 邪侠    时间: 2008-9-12 08:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: 司马睿风    时间: 2008-9-12 17:24
http://rpg.blue/web/htm/news730.htm
事件也是需要配合脚本的
作者: 邪侠    时间: 2008-9-13 10:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: 邪侠    时间: 2008-9-13 10:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: 0978912012    时间: 2008-9-13 14:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: 邪侠    时间: 2008-9-13 20:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: 邪侠    时间: 2008-9-14 00:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: 199566    时间: 2008-9-14 00:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: 0978912012    时间: 2008-9-14 04:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: 0978912012    时间: 2008-9-14 05:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-9-14 06:03
首先禁止游戏过程中手动存档的画可以把菜单里存档选项去掉,不过你也说你不明白怎么做,那么就用事件,事件里有个选项叫做【禁止存档】,启动这个就好了。
然后使用这个脚本:
  1. module Kernel

  2. alias origin_exit exit unless method_defined? :exit

  3. def exit(*args)
  4.    case $scene
  5.    when Scene_Map
  6.      AutoSave.common_save unless $game_system.map_interpreter.running?
  7.    when Scene_Battle
  8.      AutoSave.common_save unless $game_system.battle_interpreter.running?
  9.    else
  10.      if $scene.type != NilClass and $scene.type != Scene_Title
  11.        AutoSave.common_save
  12.      end
  13.    end
  14.    origin_exit(*args)
  15. end

  16. end


  17. module AutoSave

  18. if @scene_proc.nil?
  19.    @last_scene = nil.class
  20.    @scene_proc = proc do |value|
  21.      if value.nil? or value.is_a?(Scene_Title)
  22.        if @last_scene != NilClass and @last_scene != Scene_Title
  23.          AutoSave.common_save
  24.        end
  25.      end
  26.      @last_scene = value.type
  27.    end
  28.    trace_var(:$scene,@scene_proc)
  29. end

  30. module_function

  31. def common_save
  32.    filename = "Save#{$game_temp.last_file_index + 1}.rxdata"
  33.    file = File.open(filename, "wb")
  34.    write_save_data(file)
  35.    file.close
  36. end

  37. def write_save_data(file)
  38.    characters = []
  39.    for i in 0...$game_party.actors.size
  40.      actor = $game_party.actors[i]
  41.      characters.push([actor.character_name, actor.character_hue])
  42.    end
  43.    Marshal.dump(characters, file)
  44.    Marshal.dump(Graphics.frame_count, file)
  45.    $game_system.save_count += 1
  46.    $game_system.magic_number = $data_system.magic_number
  47.    Marshal.dump($game_system, file)
  48.    Marshal.dump($game_switches, file)
  49.    Marshal.dump($game_variables, file)
  50.    Marshal.dump($game_self_switches, file)
  51.    Marshal.dump($game_screen, file)
  52.    Marshal.dump($game_actors, file)
  53.    Marshal.dump($game_party, file)
  54.    Marshal.dump($game_troop, file)
  55.    Marshal.dump($game_map, file)
  56.    Marshal.dump($game_player, file)
  57. end

  58. end
复制代码

插在Main前即可,不管是游戏内退出、按X之类的全部可以保存,断电等RP情况除外…… = =
作者: 0978912012    时间: 2008-9-14 06:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: 邪侠    时间: 2008-9-14 13:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: 0978912012    时间: 2008-9-14 15:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: 0978912012    时间: 2008-9-21 16:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: 0978912012    时间: 2008-9-21 16:47
提示: 作者被禁止或删除 内容自动屏蔽




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