詳しい方向けです。
変数を別領域に保存したかったので
作りました。
ovalという配列にデータを保存して、
osave(10);
oload(10);
でセーブ、ロードできます。
一応、変数の型を調べて自動で数値変換ぐらいはしてます。
引数の10は保存するデータの最大値です。
圧縮とかしてませんのでセーブ、ロードは遅いです。
使うときはコピペ推奨です。
プラグインにしようとしましたが、挫折しました。
独自セーブ
独自セーブ
- 添付ファイル
-
TOMO_O_Save.zip
- (888 バイト) ダウンロード数: 31 回
Re: 独自セーブ
多分問題なかったと思いますが、一応
私がやりたいことができたバージョンのファイルを添付します。
ツクールの変数はユーザのタイミングで保存されてしまうし
自分が保存したいタイミングで保存すると色々と不便なので
作りました。
普通に作る分はツクールの変数が便利かと思います。
これは任意のタイミングでセーブデータに影響させずに
IDなどを保存するために作りました。
私がやりたいことができたバージョンのファイルを添付します。
ツクールの変数はユーザのタイミングで保存されてしまうし
自分が保存したいタイミングで保存すると色々と不便なので
作りました。
普通に作る分はツクールの変数が便利かと思います。
これは任意のタイミングでセーブデータに影響させずに
IDなどを保存するために作りました。
- 添付ファイル
-
TOMO_O_Save.zip
- (898 バイト) ダウンロード数: 26 回
Re: 独自セーブ
もう少し拡張性を上げました
コード: 全て選択
var oval=[];
function oload(p1,fbase,isize,fname,name){
var data;
var fs = require('fs');
var dirPath = localFileDirectoryPath2(fbase);
var filePath = dirPath+fname+"."+name;
if (fs.existsSync(filePath)) {
data = fs.readFileSync(filePath, { encoding: 'utf8' });
data=data.split(",");
var p=0;
for(var i=0;i<isize;i++){
var tmp0=data[p];
p++;
var tmp1=parseInt(data[p],10);
p++;
if(tmp1==1){
oval[p1][i]=tmp0;
}else{
oval[p1][i]=parseInt(tmp0,10);
}
}
return true;
}
return false;
}
function osave(p1,fbase,isize,fname,name){
//var data = LZString.compressToBase64(oval);
var fs = require('fs');
var dirPath = localFileDirectoryPath2(fbase);
var filePath = dirPath+fname+"."+name;
if (!fs.existsSync(dirPath)) {
fs.mkdirSync(dirPath);
}
var data=[];
for(var i=0;i<isize;i++){
data[i]=[];
}
for(var i=0;i<isize;i++){
if(oval[p1][i]==false){
data[i][0]="0000000000";
}else{
data[i][0]=oval[p1][i];
}
if(isNaN(oval[p1][i])){
data[i][1]=1;
}else{
data[i][1]=0;
}
}
fs.writeFileSync(filePath, data);
}