用户:
XiaoLiQAQ查看:427 回复:12 评论:23 创建时间:2022-06-05T09:47:32
管喵多的话,在控制台加入这串代码防止有人恶意把world=xxx,导致游玩端只能等待自然重启
if (/\s*world\s*=\s*/.test(预执行命令)) {
world.say(`${entity.player.name}准备毁灭${world.projectName}()被系统制止`);
return;
}
SKQA//解释一下这玩意怎么用()就是比如说地图里加了个$调试,但是管喵太多了
//为了防止有管喵输入$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