-Drifter 发表于 2021-12-27 19:46

【梦二记Online】存档的导入导出

*注:以下方法在火狐浏览器和Edge中测试有效,Chrome请往下翻


-----将本地存档导入至联机版2记:-----

在联机版梦2记的网页按Ctrl+Shift+K或F12打开浏览器控制台,然后将下列代码复制到控制台内,按回车键:

document.getElementsByClassName('instruction').innerHTML = "<input type='file' id='saveFile' name='saveFile' multiple>"
document.getElementById('saveFile').addEventListener('change', handleFileSelect, false);

var request = indexedDB.open("/easyrpg/2kki/Save");

function handleFileSelect(evt) {
    var save = evt.target.files;

    var reader = new FileReader();
    var readerResult
    reader.onload = function(theFile) {
      readerResult = theFile.currentTarget.result;
      var save01 = {timestamp: new Date(), mode: 33206, contents: new Uint8Array(readerResult)}

      var db = request.result;
      var transaction = db.transaction(["FILE_DATA"], "readwrite");
      transaction.objectStore("FILE_DATA").put(save01, "/easyrpg/2kki/Save/Save01.lsd");
    }
    reader.readAsArrayBuffer(save)   
    location = location
}

document.getElementById('saveFile').click();

然后在弹出的窗口里找到并打开本地存档(Save01.lsd),随后网页会刷新,此时联机版的1号存档即为导入的本地存档。



-----将联机版2记的存档导出至本地:-----

在联机版梦2记的网页按Ctrl+Shift+K或F12打开浏览器控制台,然后首先将下列代码复制到控制台内,按回车键:
var request = indexedDB.open("/easyrpg/2kki/Save");

然后将下列代码复制到控制台内,按回车键:
function getData() {
var db = request.result;
var transaction = db.transaction(["FILE_DATA"], "readwrite");
var objectStore = transaction.objectStore("FILE_DATA");
var objectStoreRequest = objectStore.get("/easyrpg/2kki/Save/Save01.lsd");
objectStoreRequest.onsuccess = function(event) {
var myRecord = objectStoreRequest.result;
var blob = new Blob(, {type: 'text/json'});
var link = document.createElement("a");
link.href = window.URL.createObjectURL(blob);
link.download = "Save01.lsd";
link.click();
};
};
getData();

之后浏览器会弹出下载提示,点击确定下载,即可获取联机版2记的1号存档。



-------Chrome存档导出至本地---------

打开控制台,输入以下五行:

var indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB;
var db=null;
var objectStore = null;
var request;
request =indexedDB.open("/easyrpg/2kki/Save");

再输入:
function getData() {
var db = request.result;
var transaction = db.transaction(["FILE_DATA"], "readwrite");
var objectStore = transaction.objectStore("FILE_DATA");
var objectStoreRequest = objectStore.get("/easyrpg/2kki/Save/Save01.lsd");
objectStoreRequest.onsuccess = function(event) {
var myRecord = objectStoreRequest.result;
var blob = new Blob(, {type: 'text/json'});
var link = document.createElement("a");
link.href = window.URL.createObjectURL(blob);
link.download = "Save01.lsd";
link.click();
};
};
getData();

按下回车键即可导出存档。

※注:导入本地存档目前会出现一些问题,今后找到解决办法会重新编辑内容。

c020109703 发表于 2021-12-28 00:30

辛苦了

------------------
最新:联机版已内置此功能,此方法已过期。
页: [1]
查看完整版本: 【梦二记Online】存档的导入导出