插件
//=============================================================================
// ww_web_saveload.js
//=============================================================================
/*:
* @plugindesc 网络服务器储存读取
* @author wangwang
*
* @param ww_web_saveload
* @desc 确定插件参数,请勿修改
* @default wangwang
*
* @param php
* @desc 网络服务器php名称
* @default websaveload.php
*
* @param name
* @desc 默认账号
* @default wangwang
*
* @param mima
* @desc 默认密码
* @default wangwang
*
* @help
* 如果没有账号与密码则新建
* ww_web_saveload.get()
* 输入账号,密码
* ww_web_saveload.prompt()
* 确定账号,密码 是否正确
* ww_web_saveload.isMima()
* 账户密码是否成功的记录
* ww_web_saveload._ismima
* 更换密码,如果账户密码不成功则重新输入
* ww_web_saveload.reMima()
* 移除项目
* ww_web_saveload.removeItem (key)
* 设置项目
* ww_web_saveload.setItem (key, data)
* 读取项目
* ww_web_saveload.getItem (key)
*
*
* 修改部分
*
* Game_System.prototype.isSaveEnabled
* DataManager.loadGlobalInfo
* StorageManager.saveToWebStorage
* StorageManager.loadFromWebStorage
* StorageManager.webStorageExists
* StorageManager.removeWebStorage
*/
(function() {
ww_web_saveload = {}
//获取设置
ww_web_saveload.getplu = function () {
for(var i in PluginManager._parameters ){
var plugin = PluginManager._parameters[i]
if ( "ww_web_saveload" in plugin){
if (plugin["ww_web_saveload"] == "wangwang"){
if (plugin["php"]){
ww_web_saveload._php = plugin["php"]
}
ww_web_saveload._name = plugin["name"]
ww_web_saveload._mima = plugin["mima"]
}
}
}
}
//php位置
ww_web_saveload._php = "websaveload.php"
//账号
ww_web_saveload._name = "wangwang"
//密码
ww_web_saveload._mima = "wangwang"
//进行 获取设置
ww_web_saveload.getplu()
//输入密码
ww_web_saveload.prompt = function () {
var name = prompt( "输入姓名",this._name)
var mima = prompt( "输入密码",this._mima)
if( name && mima ){
this._ismima = null
this._name = name.slice(0,16)
this._mima = mima.slice(0,16)
this.isMima()
return this._ismima
}
return false
}
//是否已获取密码
ww_web_saveload.get = function () {
if(!(this._name && this._mima )){
return this.prompt()
}
return true
}
//是否正确的保存
ww_web_saveload._ismima = null
//判断是否正确
ww_web_saveload.isMima =function () {
if (!this.get()) {return}
var name = this._name
var mima = this._mima
var redata = null
var mode = "isMima"
var key = ""
var data = ""
var json = JSON.stringify({"mode":mode,"name":name,"mima":mima,"key":key,"data":data});
var url = this._php || "websaveload.php" ;
var xhr = new XMLHttpRequest();
xhr.open('POST', url,false);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.onload = function() {
if (xhr.status < 400) {
redata = xhr.responseText
}
};
xhr.onerror = function() {
redata = "error"
};
xhr.send("json="+json);
console.log(redata)
if( redata != "mima==mima" ){
this._ismima = false
return false
}
this._ismima = true
return true
}
//进行 判断是否正确
ww_web_saveload.isMima()
//设置密码
ww_web_saveload.setMima =function (key) {
if (!this.get()){return}
var redata = null
var name = this._name
var mima = this._mima
var mode = "remima"
var key = key
var data = ""
var json = JSON.stringify({"mode":mode,"name":name,"mima":mima,"key":key,"data":data});
var url = this._php || "websaveload.php" ;
var xhr = new XMLHttpRequest();
xhr.open('POST', url,false);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.onload = function() {
if (xhr.status < 400) {
redata = xhr.responseText
}
};
xhr.onerror = function() {
redata = "error"
};
xhr.send("json="+json);
console.log(redata)
if( redata != "mima==remima" ){
return redate
}
this._mima = key
return redata
}
//重置密码
ww_web_saveload.reMima =function (key) {
if(this._ismima){
var mima = prompt( "输入密码",this._mima)
if (!mima){return}
this.setMima(mima.slice(0,16))
}else{
this.prompt()
}
}
//移除项目
ww_web_saveload.removeItem =function (key) {
this.setItem(key, "load==null" )
}
//设置项目
ww_web_saveload.setItem =function (key, data) {
if (!this.get()){return}
var name = this._name
var mima = this._mima
var mode = "save"
var key = key
var data = data
var json = JSON.stringify({"mode":mode,"name":name,"mima":mima,"key":key,"data":data});
var url = this._php || "websaveload.php" ;
var xhr = new XMLHttpRequest();
xhr.open('POST', url);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.onload = function() {
if (xhr.status < 400) {
console.log(key + ' ' + xhr.responseText )
}
};
xhr.onerror = function() {
console.log(key + " error" )
};
xhr.send("json="+json);
}
//读取项目
ww_web_saveload.getItem =function (key) {
if (!this.get()) {return}
var name = this._name
var mima = this._mima
var redata = null
var mode = "load"
var key = key
var data = ""
var json = JSON.stringify({"mode":mode,"name":name,"mima":mima,"key":key,"data":data});
var url = this._php || "websaveload.php" ;
var xhr = new XMLHttpRequest();
xhr.open('POST', url,false);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.onload = function() {
if (xhr.status < 400) {
redata = xhr.responseText
}
};
xhr.onerror = function() {
redata = "error"
};
xhr.send("json="+json);
if( redata =="error" ||redata == "mima==remima" || redata == "mode!=true" ||
redata == "mima!=mima" ||redata == "load==null" || redata =="" || !redata){
console.log( key+ " "+ redata)
return false
}
console.log( key+ " "+ "load==true")
redata = redata.replace(/\s+/g,"+");
return redata
}
/*
StorageManager.isLocalMode = function() {
return 0 ;
};
*/
Game_System.prototype.isSaveEnabled = function() {
if (!StorageManager.isLocalMode()){
return ww_web_saveload._ismima && this._saveEnabled
}
return this._saveEnabled
};
DataManager._loadGlobalInfo = null
//加载全局信息
DataManager.loadGlobalInfo = function() {
if ( !StorageManager.isLocalMode() && this._loadGlobalInfo ){
return this._loadGlobalInfo
}
var json;
try {
json = StorageManager.load(0);
} catch (e) {
console.error(e);
this._loadGlobalInfo = []
return this._loadGlobalInfo ;
}
if (json) {
var globalInfo = JSON.parse(json);
for (var i = 1; i <= this.maxSavefiles(); i++) {
if (!StorageManager.exists(i)) {
delete globalInfo[i];
}
}
this._loadGlobalInfo = globalInfo
return this._loadGlobalInfo ;
} else {
this._loadGlobalInfo = []
return this._loadGlobalInfo;
}
};
StorageManager.saveToWebStorage = function(savefileId, json) {
var key = this.webStorageKey(savefileId);
var data = LZString.compressToBase64(json);
ww_web_saveload.setItem(key, data );
};
StorageManager.loadFromWebStorage = function(savefileId) {
var key = this.webStorageKey(savefileId);
var data = ww_web_saveload.getItem(key)
return data && LZString.decompressFromBase64(data);
};
StorageManager.webStorageExists = function(savefileId) {
var key = this.webStorageKey(savefileId);
return !!ww_web_saveload.getItem(key);
};
StorageManager.removeWebStorage = function(savefileId) {
var key = this.webStorageKey(savefileId);
ww_web_saveload.removeItem(key);
};
})();