Project1

标题: 才知道自带了对话过程中存档的功能 [打印本页]

作者: 新耀012478    时间: 2022-6-22 15:18
标题: 才知道自带了对话过程中存档的功能
本帖最后由 新耀012478 于 2022-6-22 15:19 编辑

也是傻了,刚刚试了一下才发现在对话过程中加入打开存档界面有用,保存了一下关闭再重新打开游戏读取存档以后居然是从那个地方继续的……
最近才想起来,以前玩一些RPG游戏的时候,会在对话过程中让你存个档,存完了就开始boss战。而如果你打输了读档是可以从那里继续的。当时没怎么注意,现在才反应过来……
而刚才试了一下,果然是可以在对话过程中按按键呼出存档界面的,这样就解决了问题。

要实现这个功能你只需要在键盘上留一个按一下就会打开存档界面的按钮就好了。
https://rpg.blue/thread-489139-1-1.html(这是之前有人分享的注册按键的方法)

或者你也可以用这个,是我之前搜索JS按键注册时找到的。
MZ是用JS弄得,所以也可以用。已测试:按A打开存档,按B打开读档。
  1. document.onkeyup=function(event) {
  2.     var event=event||window.event;
  3.     switch(event.keyCode){
  4.         case 65://百度ascii,65是键盘的A
  5.             SceneManager.push(Scene_Save);
  6.             break;
  7.         case 66:
  8.             SceneManager.push(Scene_Load);
  9.             break;
  10.     };
  11. };
复制代码

作者: apple5740    时间: 2022-6-23 11:11
感谢!支持!
作者: 41workroom    时间: 2022-6-23 11:23
666大佬NB
作者: HM495    时间: 2022-6-23 12:24
本帖最后由 HM495 于 2022-6-23 12:29 编辑

一些提醒 在需要安排存档点的地方 事件里手动呼出一次就行
把事件中自由打开存取档的功能开放给玩家是有很大风险的

举例来讲
RM的事件位置在关闭重启游戏中是会复位的
如果事件进行过程有对事件位置进行操作的剧情演出(很常见)
而你在这个时候强行存档,那下次开游戏的时候
这些事件就会在刷在初始位置,以一个你无法预期的路径继续开始移动,演出剧情
轻则演出效果被破坏,重则障碍阻挡移动路径直接造成死档

开发过程中作为自己DEBUG的快捷功能使用还行,但如果是我我一定不会把这功能开给玩家使用
作者: 新耀012478    时间: 2022-6-24 16:06
本帖最后由 新耀012478 于 2022-6-24 16:28 编辑
HM495 发表于 2022-6-23 12:24
一些提醒 在需要安排存档点的地方 事件里手动呼出一次就行
把事件中自由打开存取档的功能开放给玩家是有很 ...


我原先的目的只是想支持例如GAL那样的功能,倒是没想那么多。

嗯……不过我试了一下,在设置移动路线的行走过程中存档了,
可我读档的时候它保持了我存档时的状态,没有问题啊。它没有刷在初始位置啊。之后也正常的继续了。

而且我这个代码只是叫出游戏自带的存档界面而已,并没有写任何与存档有关的代码。
正如我标题写得,这是游戏自带的功能,
我想你是不是误会了?确实你离开场景再重新进去的话位置会复位,但是你平时在这个场景存档了再读档它不会复位不是吗?

可以说它作为一个原先就有的功能被放进了这个软件里,那是肯定不会出什么bug的。
至少在原本能添加这条指令的地方是肯定没问题的。这个无非就相当于是在每两条指令之间都插入了这么个打开存档界面的按钮而已。
你可以去看一下它的代码,打开存档界面那个按钮,它写得就是如果不处于战斗中的话,那么打开存档界面。
(顺道如果战斗中你开了其它界面,再回来的话会重置,不过是在保存当前的结果的情况下,重新回到开始选指令的时候。重置确实是有的,但是它自身就已经避免这种情况了。)
再加上移动过程中可以保存没有问题,这也已经测试了。而且设置移动路线那里本来就能加脚本。

如果你觉得还有哪里有危险,可以提出来或者把自己测试的结果发上来。
由此可以得知哪些时候可以用哪些时候不能用,这样才能最大化这个功能的效果。
作者: HM495    时间: 2022-6-24 18:46
本帖最后由 HM495 于 2022-6-24 18:49 编辑
新耀012478 发表于 2022-6-24 16:06
我原先的目的只是想支持例如GAL那样的功能,倒是没想那么多。

嗯……不过我试了一下,在设置移动路线的 ...



好像是我多虑了 试了下 确实在事件过程中存档的话 会将当前地图的事件位置记录下来
跟平时手动存档效果不一样
非事件中手动存的档在重启后事件就复位了
作者: 新耀012478    时间: 2022-6-24 19:15
本帖最后由 新耀012478 于 2022-6-24 19:19 编辑
HM495 发表于 2022-6-24 18:46
好像是我多虑了 试了下 确实在事件过程中存档的话 会将当前地图的事件位置记录下来
跟平时手 ...


应该是一种临时数据。我又多试了几次,主要是自己以前也玩过一些RM的游戏,
虽然没有特别仔细地观察哪些NPC是临时移动了,但是好像没有这种重置的现象。
想着以前的自己观察不仔细,如果真有这种bug得修复才行。

所以我试了几次,好像是如果你修改了游戏的话,那么临时数据会被删掉,角色会复位。
但如果什么都没动,重新按测试按钮读取那个档案的话,它会留在事件执行后的那个位置,也就是原位置。
切换地图并不会使存档文件中的临时数据被删除。

(其实我并没有哪个细节的地方都测试过,
但是我发现我在修改其它无关地图的事件位置,哪怕是原地剪切黏贴,
再进游戏后当前地图的临时位置数据都会像你说的那样被复原。
所以我想应该是它原来的代码里保存这个按钮在这方面有特殊的功能。)

以上是我的推测,正式的游戏中也许不会有这个问题吧。
为啥要这么干我也没什么头绪,
但觉得应该是像你说的那样,大概是为了防止读取改游戏前的档案出现死档现象。




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