猫史档案馆


sql求助:如何保存一个列表类型的变量(比如:bag)

用户:浮生awa浮生awa查看:0 回复:5 评论:0 创建时间:2021-11-30T21:26:03


这些是代码:

db.sql`CREATE TABLE IF NOT EXISTS playerdata (
    money INT NOT NULL,
    zhiye CHAR(16) NOT NULL,
    bag TEXT NOT NULL
    id CHAR(16) NOT NULL
)`
world.onPlayerJoin(async ({ entity }) => {
    entity.money = 5
    entity.zhiye = 'a'
    entity.bag=[]
    entity.player.canFly = true
    entity.enableDamage = true
    if (entity.player.userKey != "") {
        var data = await db.sql`SELECT * FROM playerdata WHERE id = ${entity.player.userKey}`
        if (data && !data.length) {
            world.say('aa')
            db.sql`INSERT INTO playerdata (
                money,
                zhiye,
                bag,
                id
            ) VALUES (
                ${entity.money},
                ${entity.zhiye},
                ${entity.bag}
                ${entity.player.userKey}
            )`
        } else {
            world.say('bb')
            entity.money = data[0].money
            entity.zhiye = data[0].zhiye
            entity.bag = data[0].bag
        }

    }
})
world.onPress(async ({ entity, button }) => {
    if (button == Box3ButtonType.ACTION1) {
        var d1 = await select(entity, ["保存"], `你当前钱:${entity.money} , 职业:${entity.zhiye} , 背包:${entity.bag}`)
        if (d1 == "保存") {
            if (entity.player.userKey != "") {
                db.sql`UPDATE playerdata SET money = ${entity.money} WHERE id = ${entity.player.userKey}`
                db.sql`UPDATE playerdata SET zhiye = ${entity.zhiye} WHERE id = ${entity.player.userKey}`
                db.sql`UPDATE playerdata SET bag = ${entity.bag} WHERE id = ${entity.player.userKey}`
                text(entity, "保存完成")
            } else {
                text(entity, "请先登录哦")
            }
        }
    }
})
world.onPlayerLeave(({ entity }) => {
    if (entity.player.userKey != "") {
        db.sql`UPDATE playerdata SET money = ${entity.money} WHERE id = ${entity.player.userKey}`
        db.sql`UPDATE playerdata SET zhiye = ${entity.zhiye} WHERE id = ${entity.player.userKey}`}
        db.sql`UPDATE playerdata SET bag = ${entity.bag} WHERE id = ${entity.player.userKey}`
})
async function select(entity, ops, content,title) {
    var d = await entity.player.dialog({
        type: Box3DialogType.SELECT,
        content: content,
        options: ops,
        title: title
    })
    if (!d || d == null) { return } else { return d.value }
}
async function text(entity,content,title) {
    return await entity.player.dialog({
        type: Box3DialogType.TEXT,
        content: content,
        title: title
    })  

 

这是报错:

center_image


回复

上一页1 页 / 共 1下一页
浮生awa浮生awa

把背包的那一段代码注释掉就没bug了,但是那样就无法存储背包了

点赞0


评论


星星上的雪花星星上的雪花

帖子里的代码,第4行末尾你少了一个符号“,”(英文模式下的逗号)

点赞0


评论


编码喵编码喵

JSON.stringify后保存到数据库,

读取时JSON.parse

点赞0


评论


全能代码师全能代码师

stringify,parse

点赞0


评论


全能代码师全能代码师

还有你漏了逗号

点赞0


评论