猫史档案馆


【岛3】屑SQL意见箱教程

用户:蓝矮爱乐蓝矮爱乐查看:4 回复:23 评论:4 创建时间:2022-04-01T20:30:33


db.sql`CREATE TABLE IF NOT EXISTS ob(--创建表格
    names TEXT NOT NULL,
    nvalues TEXT NOT NULL,
    times INT NOT NULL
)`;
const opinionBox = world.querySelector('#意见箱')
//先把意见箱的名字改为(“意见箱”),再使用
opinionBox.enableInteract=true;
opinionBox.interactHint='意见箱';
opinionBox.interactRadius=5;
opinionBox.onInteract(async({entity})=>{
    opinionList = ''
    for(const O of await db.sql`SELECT * FROM ob `){
        opinionList=String(opinionList)+String(O.names)+':'+String(O.nvalues)+'\\n'
    };
    const opinionDialogue = await entity.player.dialog({
        type:'input',
        title:'意见箱',
        content:eval('"'+opinionList+'"'),
        confirmText:'提交',
        placeholder:'请输入要提交的意见……'
    });
    if(!opinionDialogue || !opinionDialogue==null){return}
    try{
        await db.sql`INSERT INTO ob VALUES(
            ${entity.player.name},
            ${opinionDialogue},
            ${new Date().valueOf()+1000*60*60*24*7*2}
        )`;
        entity.player.dialog({
            type:'text',
            title:'提示',
            content:'提交成功!感谢你的反馈'
        });
    }catch(error){
        entity.player.dialog({
            type:'text',
            title:'提示',
            content:'很遗憾,提交失败!\n错误:'+error.message
        });
    };
});
!(async()=>{//保留时间超过两个星期的意见自动删除
    while(true){
        for(const FIND of await db.sql`
            SELECT * FROM ob
        `){
            if((new Date().valueOf()-FIND.times)>0){
                await db.sql`
                    DELETE FROM ob WHERE times < ${
                        new Date().valueOf()
                    }
                `
            }
        }
    }
})();


回复

上一页1 页 / 共 1下一页
该账号已停用该账号已停用

不错

点赞1


评论


1086爱编程1086爱编程

收藏,蓝矮厉害!

点赞0


评论


坦率的血翼蝠5801坦率的血翼蝠5801

👍

点赞0


评论


白不枍白不枍

ddddddddddddddddddddddddddddddddddddddddddd

点赞0


评论


灵清帝王吃爆一切厕所灵清帝王吃爆一切厕所

收藏

点赞0


评论


难起的名字难起的名字

赞欸()

点赞0


评论


AlcalaAlcala

ddd

点赞1


评论


薹灣解放再改名薹灣解放再改名

赞!!

点赞0


评论


企鹅vItY企鹅vItY

会报错是为什么

点赞2


评论


尖端放电尖端放电

ddd

点赞0


评论


东南西北东南西北

收藏

点赞0


评论


东南西北东南西北

好!

点赞0


评论


QC一二二一QC一二二一

为了让更多人看到,不得不顶!我也收藏咯!

点赞0


评论


喵喵咪awa喵喵咪awa

收藏

点赞0


评论


一只屑流苏呀一只屑流苏呀

 

我地图用到的意见箱

好像差不多)))

点赞0


评论


一只屑流苏呀一只屑流苏呀

/ 放置  
function spawnEntity(x, y, z, meshName) {
    const meshScale = 1 / 100 //默认模型方块大小倍数为地图方块的1/16,看你实体的大小
    return world.createEntity({
        mesh: meshName,//模型     //那个bgm的代码你写在哪里了
        meshScale: [meshScale, meshScale, meshScale],//xyz放大倍数
        position: [x, y, z],//位置坐标
    })
}
//创建一个数据库表格,并填入title字段     
db.sql`CREATE TABLE IF NOT EXISTS advice(
    title TEXT NOT NULL
)`
//反馈代码
world.querySelectorAll('.来来来').forEach((e) => {
    e.enableInteract = true;
    e.interactRadius = 2;
    e.interactHint = '公告栏';//互动选项
    e.onInteract(async ({ entity }) => {
        const rows = await db.sql`SELECT * FROM advice`;
        let title = '';
        for (let i in rows) {
            title += rows[i].title + '\n';
        }//遍历表格并取出字段排好
        const result = await entity.player.dialog({
            type: Box3DialogType.INPUT,
            title: '公告栏',
            content: title,
            placeholder: '请输入……',
        })
        if (result != null) {
            db.sql`INSERT INTO advice VALUES(${entity.player.name + ':' + result})`;
            entity.player.dialog({
                type: Box3DialogType.TEXT,
                title: '机器人',
                content: '谢谢你的反馈!',
            })
        }
    })
})

点赞0


评论


AokenAoken

收藏

点赞0


评论


名字送冷吖O名字送冷吖O

建议最新意见放上面

点赞0


评论


馫龘飝鱻灥麤靐飍朤馫譶龘飝虪齺馫龘飝鱻灥麤靐飍朤馫譶龘飝虪齺

挖坟

点赞0


评论


yyds二营长yyds二营长

其他人怎么看到意见箱里的内容?(比如作者)

点赞0


评论


yyds二营长yyds二营长

其他人怎么看到意见箱里的内容?(比如作者)

点赞0


评论


坦率的血翼蝠5801新号坦率的血翼蝠5801新号

抱走

点赞0


评论


神奇代码岛func王清林神奇代码岛func王清林

66

点赞0


评论