猫史档案馆


【求助】管喵禁言代码

用户:一只dog.创造师一只dog.创造师查看:11 回复:5 评论:11 创建时间:2022-06-19T10:42:43


什么代码是管喵禁言代码??(要完整版)


回复

上一页1 页 / 共 1下一页
BOSS不爱吃鱼的小鱼BOSS不爱吃鱼的小鱼

完整版要求高了点,我这有分别禁言1天 喵 30天 60天 90天 360天的代码,不过不知道怎么发过来

点赞0


评论


lingyi_objlingyi_obj

额,BOSS其实可以直接发

点赞0


评论


KeluoKeluo

匹克,你也有号了?

 

点赞0


评论


赵天宇azzz赵天宇azzz

if (message.slice(2) == entity.player.name) {
                    entity.player.directMessage('无法禁言自己,请重新尝试!')
                } else {
                    world.querySelectorAll('player').forEach((x) => {
                        if (x.player.name == message.slice(2)) {
                            x.player.directMessage('你被管理员禁言了,请遵守地图秩序!')
                            world.say('有人犯了错,被管理员禁言了!')
                            x.player.muted = true
                        }
                    })
                }
            }

点赞0


评论


赵天宇azzz赵天宇azzz

world.onPlayerJoin(async ({ entity }) => {
    //初始化玩家属性
    entity.shanghai = 10
    entity.junk = 0
    entity.exp = 0
    entity.coin = 50
    entity.item = ['剑', '盾']

    await loadUser(entity)//尝试读取存档


    entity.player.onPress(async ({ button }) => {//右键显示状态栏
        if (button == Box3ButtonType.ACTION1) {
            const sel = await entity.player.dialog({
                type: Box3DialogType.SELECT,
                content: `
                金币:${entity.coin}
                经验:${entity.exp}
                道具:[${entity.item}]
                `,
                options: ['保存','删档','游玩端数据','编辑端数据','赚钱'],
            })
            if (sel) {
                if (sel.value == '保存') {
                    await saveUser(entity)
                    entity.player.directMessage('保存完毕')
                }
                else if (sel.value == '删档') {
                    await deleteUser(entity)
                    entity.player.directMessage('删档完毕')
                }
                else if (sel.value == '游玩端数据(有bug,别点)') {
                    await showAllPlaySideUser()
                }
                else if (sel.value == '编辑端数据(有bug,别点)') {
                    await showAllEditSideUser()
                }
                else if (sel.value == '赚钱') {
                    entity.coin += 1
                }
            }
        }
    })
})
async function initTable() {//创建玩家数据表
    return await db.sql`
        CREATE TABLE IF NOT EXISTS "player" (
            shanghai INT NOT NULL,
            junk INT NOT NULL,
            "coin" INT NOT NULL,--金币
            "exp" INT NOT NULL,--经验
            "item" TEXT NOT NULL,--物品列表
            "userKey" CHAR(16) PRIMARY KEY UNIQUE NOT NULL --用户识别码
        )
    `;
}
async function saveUser(user) {//玩家存档
    await db.sql`
        INSERT INTO "player" (-- player虽然是小写, 建议统一用""包住
            "shanghai",
            "junk",
            "exp",-- 经验
            "coin",-- 金币
            "item",-- 道具
            "userKey"-- 用户识别码
        ) VALUES (
            ${user.shanghai},
            ${user.junk},
            ${user.exp}, --尝试新建经验值
            ${user.coin}, --尝试新建金币值
            ${JSON.stringify(user.item)}, --尝试新建道具值
            ${user.player.userKey} --尝试新建当前玩家识别码
        )
        ON CONFLICT("userKey") -- 如果已经存在同样的用户识别码
        DO UPDATE SET
            "shanghai"=excluded."shanghai"
            "junk"=excluded."junk"
            "exp"=excluded."exp",-- 更新经验值
            "coin"=excluded."coin",-- 虽然是小写, 建议统一用""包住
            "item"=excluded."item"-- 虽然是小写, 建议统一用""包住
    `
}
async function loadUser(user) {//玩家读档
    const [data] = await db.sql`SELECT * FROM "player" WHERE "userKey"=${user.player.userKey} LIMIT 1`
    if (data) {//如果这个玩家已经有存档
        user.shanghai = data.shanghai
        user.junk = data.junk
        user.exp = data.exp
        user.coin = data.coin
        user.item = JSON.parse(data.item)
    }
    else {//玩家无存档
        saveUser(user)
    }
}async function deleteUser(user) {//删除玩家存档
    await db.sql`DELETE FROM "player" WHERE "userKey"=${user.player.userKey}`
}
async function showAllPlaySideUser() {//显示游玩端玩家数据, 地图发布后运行才不会报错
    for (const e of await db.sql`SELECT * FROM play."player"`) {
        console.log(JSON.stringify(e))
    }
}
async function showAllEditSideUser() {//显示编辑端玩家数据
    for (const e of await db.sql`SELECT * FROM edit."player"`) {
        console.log(JSON.stringify(e))
    }
}

 

点赞0


评论