拓冰建站拓冰建站
首页 / 资讯中心 / 正文

RPGMakerMZ 云存档功能 通用方法 简单有效

个人记录保存RPGMakerMZ 云存档通用方法真正的跨平台游戏直接说明游戏上传到服务器时在 Android Windows Linux 或者鸿蒙 等等任何支持RPGMakerMZ的系统平台输入游戏网址 选择继续游戏 游戏进度依然保留不会因为换平台导致游戏进度丢失 不需要重新玩游戏真正的跨平台游戏就应该如此// // Fun_CloudSave.js // /*: * target MZ * plugindesc 云存档功能 * author 希夷先生 * * help * 插件功能云存档功能 */ (() { let url http://你的网址/游戏路径/; const _Scene_Title_prototype_create Scene_Title.prototype.create; Scene_Title.prototype.create function() { _Scene_Title_prototype_create.call(this); this._cloudGlobalLoaded true; this.LoadGlobal(); }; Scene_Title.prototype.isBusy function() { return ( this._commandWindow.isClosing() || Scene_Base.prototype.isBusy.call(this) || this._cloudGlobalLoaded ); }; Scene_Title.prototype.LoadGlobal function() { StorageManager.loadObject(global) .then(info{ if(!info || !Array.isArray(info) || info.length 0){ //文件读取成功但数据无效 DataManager._globalInfo [null]; //console.log(读取到global但数据无效使用默认值, info); }else{ DataManager._globalInfo info; //console.log(加载配置成功, info); } //无论数据好坏读取完成一律解锁 this._cloudGlobalLoaded false; }) .catch(e{ //文件读取失败 //console.log(global文件读取失败, e); DataManager._globalInfo [null]; this._cloudGlobalLoaded false; }); }; DataManager.removeInvalidGlobalInfo function() { return; }; //保存存档数据 StorageManager.saveZip function(saveName, zip) { return saveData(saveName, zip); }; //读取存档数据 StorageManager.loadZip function(saveName) { return loadData(saveName); }; // 保存存档 async function saveData(saveName, zip) { const params new URLSearchParams(); params.append(name, saveName); params.append(data, zip); const res await fetch(url save.php, { method: POST, body: params }); return await res.text(); } // 读取存档 async function loadData(saveName) { const params new URLSearchParams(); params.append(name, saveName); const res await fetch(url load.php, { method: POST, body: params }); // 返回存档原始字符串zip文本 return await res.text(); } })();save.php?php header(Content-Type: text/html; charsetutf-8); $name $_POST[name]; $data $_POST[data]; $filePath __DIR__ . / . $name . .rmmzsave; // FILE_USE_INCLUDE_PATH可选LOCK_EX加文件锁防止并发写入错乱 $res file_put_contents($filePath, $data, LOCK_EX); if ($res false) { echo no; }load.php?php header(Content-Type: text/html; charsetutf-8); $name $_POST[name]; $filePath __DIR__ . / . $name . .rmmzsave; // 判断文件是否存在 if (!file_exists($filePath)) { echo no; exit; } // 读取文件内容 $content file_get_contents($filePath); if ($content false) { echo no; } else { // 输出存档内容给前端 echo $content; }
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门