Project1

标题: 平台无关的外部存档/读档代码(nwjs / 浏览器 / 安卓 通用) [打印本页]

作者: zths    时间: 2020-2-29 12:56
标题: 平台无关的外部存档/读档代码(nwjs / 浏览器 / 安卓 通用)
本帖最后由 zths 于 2020-2-29 13:06 编辑

无任何要求 添加代码到 index.html 或者任何可以执行js代码的地方 即可

使用时在游戏内存档会自动同时在外部保存一个存档
nwjs(pc模式) 会保存在 游戏目录\RawSave_游戏名 下。
浏览器 / android 模式会 调用浏览器的 “下载” 方法
默认文件名为  :游戏名 时间 地图名 游戏时间 例: Project1 2020-2-29 下午12_39_30 ウルーマ 2h13m7s S

使用时在游戏内打开读档界面会自动同时打开文件选择窗口(浏览器默认Input[type=File]的click方法)
若选择了存档 将读取存档内容 否则 继续选择游戏内存档

输出存档为zip格式 内部存储了 Config.json Contents.json GlobalInfo.json 但读取时仅读取 Contents.json
输出存档为json明文

若要读取 Config 或 GlobalInfo 代码内提供了方法,调用即可 LoadConfigRaw 与 LoadGlobalInfoRaw

initAutoSaveMin(autoSaveInvMin);
方法可以在PC模式(nwjs)下 开始自动存档 参数为分钟。。。

脚本hook了Scene_Load.prototype.initialize 和 DataManager.saveGameWithoutRescue 方法

save.zip (48.16 KB, 下载次数: 171)
代码头部压缩了 jszip 和 FileSaver
代码

作者: walf_man    时间: 2020-2-29 16:38
牛,真技术大佬,支持一个,
好多玩家玩手机游戏,都被这个找不到存档而苦恼,有了你这个
对他们应该帮助很大
作者: godengqian    时间: 2020-2-29 22:11
好东西啊,不过很多人打包时都不太介意存读档位置。。虽说PC上也是。。
作者: zths    时间: 2020-2-29 22:41
本帖最后由 zths 于 2020-2-29 22:52 编辑
godengqian 发表于 2020-2-29 22:11
好东西啊,不过很多人打包时都不太介意存读档位置。。虽说PC上也是。。


这其实就无关存档位置。
实际上存到哪都行 存完了挪走也行。
读取时候选择正确的就可以了
甚至能读取其他游戏的存档。。
可以读游戏本身 base64+压缩后 那样格式的存档(mv默认存档格式)
也可以读我这个压缩包存档,也可以读压缩包解压出来后的存档。。。
本质上就是读取文件。

作者: if216    时间: 2021-8-6 17:36
zths 发表于 2020-2-29 22:41
这其实就无关存档位置。
实际上存到哪都行 存完了挪走也行。
读取时候选择正确的就可以了

这个Mz能用吗?怎么用?需要自己掉函数么?
作者: tanurog2    时间: 2022-5-3 22:45
抱歉,我是以android studio的方式导出apk,nwjs可以,但是在apk里无论如何也无法启动该app。我想问我是不是做错了什么步骤
(我是在index.html 里添加 <script type="text/javascript" src="js/ZHTS_SavePlugin.js"></script>)
作者: wzslrb    时间: 2023-10-11 09:39
厉害了我的哥,谢谢分享了。
作者: 1842496541    时间: 2024-4-11 04:05
1.我把这个save.js文件放入js文件夹,在index.html中添加了这个文件,打开游戏,无论读档还是存档都提示错误;
2.我还原了游戏文件,把这个save.js当成插件放入plugins文件夹中,并在plugins.js中添加了这个js文件,在RPG Maker MV中也通过插件管理确认开启了,但是我在pc端测试游戏时,选择读档,它还提示错误,我点新游戏尝试存档,它也提示autosave fail
是我用得不对吗?还是要自行进行一些设置?




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