Project1

标题: RMXP 读取存档时怎样跳过读档界面,直接读取第一号存档? [打印本页]

作者: 桐人    时间: 2014-7-8 20:42
标题: RMXP 读取存档时怎样跳过读档界面,直接读取第一号存档?
就是打开游戏时,点击“继续”的时候,如何才能跳过读档界面,直接读取第一号存档?我知道要改脚本……但是实在不懂脚本,琢磨了一天也没成功,希望大家告诉我如何修改脚本才能达到效果。
其实就是个类似网游的效果,插入“自动存档”后不知道该怎么做了。
作者: 芯☆淡茹水    时间: 2014-7-8 21:07
直接把存档界面的搬到标题界面。如果LZ用的自动存档,可能有冲突。

Project1.rar

192.04 KB, 下载次数: 65


作者: hys111111    时间: 2014-7-8 21:57
本帖最后由 hys111111 于 2014-7-8 21:58 编辑

原理跟楼上差不多。

就是刚开始测试的时候出现了Interpreter 1一样的问题。
只要加一句$game_temp = Game_Temp.new就行

在脚本编辑器Main前面插入。
  1. class Auto_Load
  2.   def initialize
  3.     filename = make_filename(0)
  4.     # 演奏读档 SE
  5.     $game_system.se_play($data_system.load_se)
  6.     # 写入存档数据
  7.     file = File.open(filename, "rb")
  8.     read_save_data(file)
  9.     file.close
  10.     # 还原 BGM、BGS
  11.     $game_system.bgm_play($game_system.playing_bgm)
  12.     $game_system.bgs_play($game_system.playing_bgs)
  13.     # 刷新地图 (执行并行事件)
  14.     $game_map.update
  15.     # 切换到地图画面
  16.     $scene = Scene_Map.new
  17.   end
  18.   def read_save_data(file)
  19.     $game_temp = Game_Temp.new
  20.     # 读取描绘存档文件用的角色数据
  21.     characters = Marshal.load(file)
  22.     # 读取测量游戏时间用画面计数
  23.     Graphics.frame_count = Marshal.load(file)
  24.     # 读取各种游戏对像
  25.     $game_system        = Marshal.load(file)
  26.     $game_switches      = Marshal.load(file)
  27.     $game_variables     = Marshal.load(file)
  28.     $game_self_switches = Marshal.load(file)
  29.     $game_screen        = Marshal.load(file)
  30.     $game_actors        = Marshal.load(file)
  31.     $game_party         = Marshal.load(file)
  32.     $game_troop         = Marshal.load(file)
  33.     $game_map           = Marshal.load(file)
  34.     $game_player        = Marshal.load(file)
  35.     # 魔法编号与保存时有差异的情况下
  36.     # (加入编辑器的编辑过的数据)
  37.     if $game_system.magic_number != $data_system.magic_number
  38.       # 重新装载地图
  39.       $game_map.setup($game_map.map_id)
  40.       $game_player.center($game_player.x, $game_player.y)
  41.     end
  42.     # 刷新同伴成员
  43.     $game_party.refresh
  44.   end
  45.   def make_filename(file_index)
  46.     return "Save#{file_index + 1}.rxdata"
  47.   end
  48. end
  49. class Scene_Title
  50.   def command_continue
  51.     # 继续无效的情况下
  52.     unless @continue_enabled
  53.       # 演奏无效 SE
  54.       $game_system.se_play($data_system.buzzer_se)
  55.       return
  56.     end
  57.     # 演奏确定 SE
  58.     $game_system.se_play($data_system.decision_se)
  59.     # 切换到读档画面
  60.     Auto_Load.new
  61.   end
  62. end
复制代码

作者: 桐人    时间: 2014-7-8 22:26
本帖最后由 桐人 于 2014-7-8 22:28 编辑



沙发的那位大大
试了试,发现了问题,您的范例貌似如果打开游戏直接读取的话会出现错误……但是如果先“新游戏”,然后返回标题画面再读取就没事……
请问这怎么弄……
作者: 桐人    时间: 2014-7-8 22:30
谢谢!解决了!




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