用户:
七叶寂照秘密主promax查看:1 回复:3 评论:1 创建时间:2024-01-29T21:57:01
const VER = '0.0'
//-------------------SQL-----------------------------------//
const sql = storage.getDataStorage('users_v0_0')
async function getdata(entity){
var id = entity.player.userId
while(1){
try{
let data = await sql.get(id)
if(!(data && data.value)){
console.log('正在创建数据')
await sql.set(id,{'coin':entity.coin,'exp':entity.exp,'ver':VER,'item':entity.item,'other':entity.other})
console.log('创建成功:'+JSON.stringify(data.value))
return data.value
}
var v = data.value
if (v.ver == VER){
console.log('数据读取成功'+JSON.stringify(data.value))
console.log(v.ver+VER)
return data.value
}else{
console.log('数据版本过期')
let olddata = await sql.get(id)
let old = olddata.value
oldcoin = old.coin
oldexp = old.exp
olditem = old.item
oldother = old.other
await sql.update(id,(preData) => { return {'coin':old.coin,'exp':old.exp,'ver':VER,'item':old.item,'other':old.other} })
let newdata = await sql.get(id)
var n = newdata.value
console.log('更新成功:'+JSON.stringify(newdata.value))
console.log(n.ver+VER)
return newdata.value
}
}
catch(e){
console.log(e)
}
}
}
async function setdata(entity){
var id = entity.player.userId
while(1){
try{
let data = await sql.get(id)
if(!(data && data.value)){
console.log('没有创建数据')
await sql.set(id,{'coin':entity.coin,'exp':entity.exp,'ver':VER,'item':entity.item,'other':entity.other})
console.log('创建成功:'+JSON.stringify(data.value))
return
}else{
await sql.update(id,(preData) => { return {'coin':entity.coin,'exp':entity.exp,'ver':VER,'item':entity.item,'other':entity.other} })
let newdata = await sql.get(id)
var n = newdata.value
console.log('更新成功:'+JSON.stringify(newdata.value))
console.log(n.ver+VER)
return
}
}
catch(e){
console.log(e)
}
}
}
async function deldata(entity){//重要的事情说三遍:自己不要作喵!自己不要作喵!自己不要作喵!
var id = entity.player.userId
while(1){
try{
let data = await sql.get(id)
if(!(data && data.value)){
console.log('没有创建数据')
entity.player.kick()
return
}else{
await sql.remove(id)
entity.player.kick()
return
}
}
catch(e){
console.log(e)
}
}
}
getdata(entity):获取数据
setdata(entity):保存数据
deldata(entity):删除数据并将该玩家kick出
常量VER是地图版本(可以检查更新,更改other列表数据),other可以存放·其他数据