Project1

标题: 如何在菜单 / 事件中一键存档 / 读档 [打印本页]

作者: ·雾逝者·    时间: 2015-9-20 11:59
标题: 如何在菜单 / 事件中一键存档 / 读档
{:2_270:} 我认为这是相互关联的一个功能,不知是否算一帖多问?
如果违反这方面的版规,请予以告知,我会立刻修改

①在菜单中一键存档
菜单:在游戏中按Esc键进入的菜单
键:默认菜单脚本给出的按键之一
在菜单中按下该键时,直接将当前游戏进度保存到一个固定的存档位置(或直接生成存档文件)

②在事件中一键读档
事件:一个并行处理的地图事件
键:用条件分歧设置的“确定”(C键)按钮
在事件中按下该键时,直接从那个固定的存档位置读档(或直接读取存档文件)

如何通过修改默认脚本 / 事件脚本分别达成这两项功能?
作者: 冷峻逸    时间: 2015-9-20 13:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: RyanBern    时间: 2015-9-20 14:31
本帖最后由 RyanBern 于 2015-9-20 14:35 编辑

有关一键存档的问题,其实在图书馆中已经有了提示,请参考图书馆【标题&存档&菜单问题】的第6条。
不过,由于楼主是想要在菜单上按某键存档,所以还要再改改才行。
插入第一段代码之后,需要插入以下代码:
RUBY 代码复制
  1. class Scene_Menu
  2.   alias rb_update_command_20150920 update_command
  3.   def update_command
  4.     if Input.trigger?(Input::Y)
  5.       $game_system.se_play($data_system.save_se)
  6.       save = Scene_Save.new
  7.       save.autosave
  8.       return
  9.     end
  10.     rb_update_command_20150920
  11.   end
  12. end

这样,在菜单中,命令窗口激活时,按一下S键即可存档。
事件中读档也是一样的道理,不过要对上面存档的代码改装一下:
RUBY 代码复制
  1. load_s = Scene_Load.new
  2. load_s.on_decision("Save1.rxdata") # 注意,这里的文件名必须和存档的文件名一样

然后,使用公共事件,触发条件选择并行处理,并打开条件开关
等待:1 帧
条件分歧:按钮 X 被按下时
  脚本:load_s = Scene_Load.new
            load_s.on_decision("Save1.rxdata")

  :分歧结束
这样,在地图上按下 A 键即可一键读档,因为按下 Space 键和一些指令冲突,所以我改成了 A 键,这个应该能自己调节。
作者: cinderelmini    时间: 2015-9-20 14:40
唔。。。在窝噜工程的时候R君已经回答了……
嘛~思路不一样,虽然已经没必要,但是还是放这吧~
(菜单中A键存档,地图中S键读档,默认按键的话……也就是对应RM的X,Y键)
一键SL.zip (211.2 KB, 下载次数: 59)
作者: H·H·Y    时间: 2015-9-20 15:34
本帖最后由 H·H·Y 于 2015-9-20 15:40 编辑

做出来了。_(:з」∠)_虽然被抢了但不想浪费。

功能:在菜单里点击“存档”时将直接将文件存到4号档位,在地图上按下W键直接读取4号档位。


将此脚本插入到main前





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