猫史档案馆


[Box3]控制台必备代码(氵了但没有完全氵的氵贴)

用户:XiaoLiQAQXiaoLiQAQ查看:427 回复:12 评论:23 创建时间:2022-06-05T09:47:32


管喵多的话,在控制台加入这串代码防止有人恶意把world=xxx,导致游玩端只能等待自然重启

if (/\s*world\s*=\s*/.test(预执行命令)) {
    world.say(`${entity.player.name}准备毁灭${world.projectName}()被系统制止`);
    return;
}


回复

上一页第 1 页 / 共 1 页下一页
1086爱编程1086爱编程

沙发

点赞0


评论


宁静倒数28天宁静倒数28天

good

点赞0


评论

(计划将和编程猫用户108喵作)喵是啥啊()()

你想多了,人家是要跟1089一起合作呢()()()

我说我以前叫编程猫用户1086你信吗()()


1086爱编程1086爱编程

看不懂咋搞的,有示例吗()()

点赞0


评论


宁静倒数28天宁静倒数28天

这玩意可以当服务器崩溃重启用吗

点赞0


评论

不能,你理解错了


egg鸡蛋蛋egg鸡蛋蛋

world.某个变量 = 0
如果某人是这样写全局变量的捏

点赞0


评论


tiger666250tiger666250

能教一下所说的world=xxx怎么用吗()

点赞0


评论


SKQASKQA

//解释一下这玩意怎么用()就是比如说地图里加了个$调试,但是管喵太多了
//为了防止有管喵输入$world=null(或其他值)恶意毁图,就可以用这个判喵令里是否有world=null(或其他)
//不过u1s1 这种代码也属防君子不防小人,我用for刷屏,或者全体kick,这个也检测不了()
world.onChat(({entity,message})=>{
    if(['屑路卡'].includes(entity.player.name)){
        if(message.startsWith('$')){
            if(/\s*world\s*=\s*/.test(message.slice(1))){
                world.say(`${entity.player.name}准备毁灭${world.projectName}()被系统制止`)
                return
            }
            //try+eval省略懒得写了()
        }
    }
})

点赞0


评论

呃呃呃呃呃

字符串检测不刑,我可以eval('wo' + 'rld' + '=null')


编码喵编码喵

不会崩吧,world是个参数,改不了,也不能delete

点赞0


评论

不是崩溃,world被赋值成别的了,那么你的代码引用world属性里的函数肯定就没有,所以你就没有办法重启来恢复world对象

world是个参数,不能被赋值别的

world是对象

作为一个参数的对象

你是不知道岛三是怎样运行代码的吗?

你写的代码是字符串,然后用new Function转化成函数,world那些对象都只是一个参数传给你的代码而已

如果说world怕被改,你可以单独把管理输入$的代码放在一个脚本里

666

强 37

不信你在代码输入world.say(arguments.callee)

有没有一种可能,当控制台代码在最后执行,好像就不会影响代码了

放那个脚本影响的就是哪个脚本

厉害 您都是怎么研究的?

随便乱玩发现的而已啦。。。

az


萌新大佬萌新大佬

众所周知,world某些变量只读,所以world不能改的

点赞0


评论


云游de鸽者云游de鸽者

《正 则 表 达 逝》

点赞0


评论


XiaoLiQAQXiaoLiQAQ

如果真的怕熊孩子,把每次执行的代码和执行者记录到SQL中是最稳的

点赞1


评论

查询的时候会卡

定期删


临玖临玖

看不懂……

点赞0


评论