GWibisono

save as js9on

Mar 31st, 2026
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 2.25 KB | Source Code | 0 0
  1.     Game_System.prototype.saveData = function(key, filename) {
  2.         var fs = require('fs');
  3.         var dataSave = [];
  4.         let folderPath= process.cwd() + _folderSave;
  5.         let fileSave = folderPath + "/" + filename+ ".json";
  6.         if (!fs.existsSync( fileSave )) {
  7.             //console.log("File Not exists! "+fileSave);
  8.             fs.writeFileSync(fileSave, '');
  9.         } else {
  10.             //console.log("File exist." +fileSave);
  11.         }
  12.         //read as json
  13.        
  14.         fs.readFile(fileSave, 'utf8', function(err, jsonString) {
  15.             if (err) {
  16.                 console.error("Error reading file:", err);
  17.                 return;
  18.             }
  19.             // 'data' contains the content of the file as a string
  20.             //console.log(['rawTxt', jsonString]);
  21.  
  22.             const jsObject = JSON.parse(jsonString);
  23.             if(typeof jsObject  !== 'undefined'){
  24.                 //console.log( "json",jsObject );
  25.                 dataFileSave = jsObject;
  26.                 if(typeof jsObject.save  !== 'undefined'){
  27.                     dataSave = jsObject.save;
  28.                 }
  29.             }else{
  30.                 //console.log("unknown data");
  31.                 dataSave = [];
  32.             }
  33.             //console.log(dataSave);
  34.             if (dataSave.includes( key )) {
  35.                 //console.log("Array contains "+key);
  36.             } else if( key !=-1){
  37.                 //console.log("Array does not contain "+key);
  38.                 dataSave.push( key );
  39.             }
  40.            
  41.             if( key==-1){
  42.                 _iLoadSave = dataSave.length;
  43.                 //console.log('dataSave297', _dataLoad);
  44.                 _dataLoad = dataSave;
  45.                 //console.log('return save', dataSave);
  46.                 return dataSave;
  47.             }
  48.             //clean
  49.             let dataSaveClean=[];
  50.             //console.log( dataSaveClean.length );
  51.             for(iData=0; iData < dataSave.length; iData++){
  52.                 keyCheck = dataSave[iData];
  53.                 idxCheck = dataSaveClean.indexOf( keyCheck );
  54.                 //console.log( keyCheck, idxCheck);
  55.                 if (idxCheck == -1) {
  56.                     dataSaveClean.push( keyCheck );
  57.                     //console.log("add Key:"+keyCheck);
  58.                 }else{
  59.                     //console.log("key exist:"+keyCheck);
  60.                 }
  61.             }
  62.             //console.log( dataSaveClean );
  63.             var now = new Date();
  64.             dataToSave={
  65.                 date:now,
  66.                 save: dataSaveClean,
  67.                 memSave: process.memoryUsage()
  68.             };
  69.             var jsonText = JSON.stringify( dataToSave );
  70.             //save again
  71.             //console.log(jsonText);
  72.             fs.writeFileSync(fileSave, jsonText );
  73.  
  74.         });
  75.         //check if already in json
  76.  
  77.     };
  78.  
Advertisement
Add Comment
Please, Sign In to add comment