Project1

标题: [已经解决]请问【读取存档1】的脚本是什么? [打印本页]

作者: 白嫩白嫩的    时间: 2017-1-31 20:42
标题: [已经解决]请问【读取存档1】的脚本是什么?
本帖最后由 白嫩白嫩的 于 2017-2-3 23:18 编辑

请大神不吝赐教!

已知直接保存存档1的脚本是:

$gameSystem.onBeforeSave();
DataManager.saveGame(1)

按照此格式修改成了load,却是不能用,跪求大神指教!{:2_264:}
作者: walf_man    时间: 2017-2-3 12:37
看了下mv的rpg_managers.js
  1. DataManager.saveGame = function(savefileId) {
  2.     try {
  3.         return this.saveGameWithoutRescue(savefileId);
  4.     } catch (e) {
  5.         console.error(e);
  6.         try {
  7.             StorageManager.remove(savefileId);
  8.         } catch (e2) {
  9.         }
  10.         return false;
  11.     }
  12. };

  13. DataManager.loadGame = function(savefileId) {
  14.     try {
  15.         return this.loadGameWithoutRescue(savefileId);
  16.     } catch (e) {
  17.         console.error(e);
  18.         return false;
  19.     }
  20. };
复制代码


load这个方法是存在的;
对比了我那个插件的网络读取记录部分,发现,比较复杂,不能直接配合使用:
搜索了mv全部js文件后,发现rpg_scenes.js中有使用load
  1. Scene_Load.prototype.onSavefileOk = function() {
  2.     Scene_File.prototype.onSavefileOk.call(this);
  3.     if (DataManager.loadGame(this.savefileId())) {
  4.         this.onLoadSuccess();
  5.     } else {
  6.         this.onLoadFailure();
  7.     }
  8. };
复制代码

所以你可以试试这个:
  1.     if (DataManager.loadGame(1)) {
  2.         Scene_Load.onLoadSuccess();
  3.     } else {
  4.         Scene_Load.onLoadFailure();
  5.     }
  6. };
复制代码


或者这个:
  1. //$.toaster({ message : "读取成功!"});
  2.                                                        
  3.                                                         // Extract data from savegame
  4.                                                         console.log("Extract save contents");
  5.                                                         DataManager.createGameObjects();
  6.                                                         DataManager.extractSaveContents(JsonEx.parse(StorageManager.load(1)));
  7.                                                         //console.log(LZString.decompressFromBase64(data.savedata));
  8.                                                         //console.log(JsonEx.parse(LZString.decompressFromBase64(data.savedata)));

  9.                                                         // Move player
  10.                                                         console.log("Reserve transfer player");
  11.                                                         $gamePlayer.reserveTransfer($gameMap.mapId(), $gamePlayer.x, $gamePlayer.y);
  12.                                                         $gamePlayer.requestMapReload();

  13.                                                         // Initialize map
  14.                                                         console.log("Goto Scene_Map");
  15.                                                         $gameSystem.onAfterLoad();
  16.                                                         Scene_Load.prototype.reloadMapIfUpdated.call(null);
  17.                                                         SceneManager.goto(Scene_Map);
  18.                                                         if (SceneManager._scene) {
  19.                                                                 SceneManager._scene.fadeOutAll();
  20.                                                         };
复制代码

作者: a02821145    时间: 2017-10-15 17:57
稍微挖个坟,发现了一个代码更简单的方式。
  1. Scene_Title.prototype.commandContinue = function() {
  2.     var autoReadFile = new Scene_Load();
  3.     if (DataManager.loadGame(1)) {
  4.         autoReadFile.onLoadSuccess();
  5.     } else {
  6.         autoReadFile.onLoadFailure();
  7.     }
  8. };
复制代码





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