猫史档案馆


【神奇代码岛】【建议收藏】喵代码合集awa【Box3】

用户:Chengxuyee_已退Chengxuyee_已退查看:1 回复:3 评论:1 创建时间:2023-08-22T22:02:13


————————————————————————前言————————————————————————

在1年半之前我发过一个帖子,里面写了一些我做的喵代码)

链接:https://shequ.codemao.cn/wiki/forum/459305

有些代码虽然能用)但是总有一些啸问题)所以这次我虽然半退了还是来重置下)

这些代码可以在编辑器里跟你的小伙伴创作的时候坑他来找点乐子)

但是得分场合,不能太过分)不然造成损失本人不负责()

宇宙安全声明(确信)

另外本帖的代码有很多创新代码)不光是更改某个实体属性的值)

PS:

1.以下代码需要修改一些内容,详见第一种喵代码中的注释。

2.以下代码可以在控制台执行。

——————————————————————好,进入正题——————————————————————

1.玻璃封印:在指定玩家的周围生成玻璃罩子把他困住

let name = ['Chengxuyee'];/*将此处修改为你要整的人的名字,
如果有多个人,请输入多个用英文双引号包裹起来的名字,
并将每段名字用英文逗号隔开,
如['Chengxuyee', 'Chengxuyee1', 'Chengxuyee2']
后文同理,不再赘述*/
let list = [[0, 2, 0], [0, 1, 1], [0, 1, -1], [1, 1, 0], [-1, 1, 0], [0, 0, 1], [0, 0, -1], [1, 0, 0], [-1, 0, 0], [0, -1, 1], [0, -1, -1], [1, -1, 0], [-1, -1, 0], [0, -2, 0]];
world.querySelectorAll('player').forEach((entity)=>{
    if(name.includes(entity.player.name)){
        for (let i of list){
            let pos = entity.position.add(new Box3Vector3(i[0], i[1], i[2]));
            if(voxels.getVoxelId(pos.x, pos.y, pos.z) == 0){
                voxels.setVoxel(pos.x, pos.y, pos.z, 'glass');
            };
        };
    };
});
console.clear()

这个代码相比之前加了个判定)如果原来就有方块就不覆盖)所以说一般对地图没有破坏性)

恢复方法:

·如地图处于编辑状态,则可以打破

·如地图处于运行状态,则停止运行即可

1.5:玻璃封印加强版:一直在指定玩家周围生成玻璃罩子把他困住

let name = ['Chengxuyee'];/*将此处修改为你要整的人的名字,
如果有多个人,请输入多个用英文双引号包裹起来的名字,
并将每段名字用英文逗号隔开,
如['Chengxuyee', 'Chengxuyee1', 'Chengxuyee2']
后文同理,不再赘述*/
let list = [[0, 2, 0], [0, 1, 1], [0, 1, -1], [1, 1, 0], [-1, 1, 0], [0, 0, 1], [0, 0, -1], [1, 0, 0], [-1, 0, 0], [0, -1, 1], [0, -1, -1], [1, -1, 0], [-1, -1, 0], [0, -2, 0]];
world.onTick(({})=>{
    world.querySelectorAll('player').forEach((entity)=>{
    if(name.includes(entity.player.name)){
        for (let i of list){
                let pos = entity.position.add(new Box3Vector3(i[0], i[1], i[2]));
                if(voxels.getVoxelId(pos.x, pos.y, pos.z) == 0){
                    voxels.setVoxel(pos.x, pos.y, pos.z, 'glass');
                };
            };
        };
    });
})

恢复方法:

·如地图处于编辑状态,则运行一次后结束运行,即可打破玻璃罩出来

·如地图处于运行状态,则停止运行即可

2.玩家跟班:让一个玩家一直跟在你旁边无法移动

let name = 'Chengxuyee';/*将此处改成你要整的人的名字*/
let your_name = 'Chengxuyee';/*将此处改成你自己的名字*/
let pos = new Box3Vector3(0, 0, 0);
world.onTick(({})=>{
    world.querySelectorAll('player').forEach((entity)=>{
        if(entity.player.name == your_name){
            pos = entity.position;
        }else if(entity.player.name == name){
            entity.position = pos.add(new Box3Vector3(1, 0, 0));
        };
    });
});

恢复方法:

·如地图处于编辑状态,则运行一次后结束运行即可

·如地图处于运行状态,则停止运行即可

3.躲猫猫神器:每时每刻汇报自己、敌方的位置以及敌我距离!

let name = 'Chengxuyee';/*将此处改成你要整的人的名字*/
let your_name = 'Chengxuyee';/*将此处改成你自己的名字*/
let pos = new Box3Vector3(0, 0, 0);
world.onTick(({ tick })=>{
    if(tick % 5 == 0){
        world.querySelectorAll('player').forEach((entity)=>{
            if(entity.player.name == name){
                pos = entity.position;
            }else if(entity.player.name == your_name){
                entity.player.directMessage('我方坐标:{x:' + Math.round(entity.position.x) + ', y:' + Math.round(entity.position.y) + ', z:' + Math.round(entity.position.z) + '};敌方坐标:{x:' + Math.round(pos.x) + ', y:' + Math.round(pos.y) + ', z:' + Math.round(pos.z) + '};敌我距离:' + Math.round(entity.position.distance(pos)));
            };
        });
    };
});

恢复方法:

·如地图处于编辑状态,则运行一次后结束运行即可

·如地图处于运行状态,则停止运行即可

藏好自己,做好清理

4.高科技对话:在另一个玩家旁边生成4个对话框,显示你想要的内容!

let name = 'Chengxuyee';/*将此处改成你要整的人的名字*/
let sentence = '嗨害嗨';/*此处改成你要说的话*/
let list = [[1, 1], [1, -1], [-1, 1], [-1, -1]];
world.querySelectorAll('player').forEach((entity)=>{
    if(entity.player.name == name){
        for(let i of list){
            world.createEntity({
                mesh:'',
                position:entity.position.add(new Box3Vector3(i[0], -1, i[1])),
                fixed:true,
                gravity:false,
                collides:false
            }).say(sentence);
        };
    };
});

恢复方法:

·如地图处于编辑状态,则运行一次后结束运行即可,然后实体就被删了,应该吧)

·如地图处于运行状态,则停止运行即可

5.大小随心变:指定一位玩家的大小!

let name = 'Chengxuyee';/*修改名称为你要整的人的名称*/
let scale = 5;/*输入你要改变的大小的倍数,可以是小数*/
world.querySelectorAll('player').forEach((entity)=>{
    if(entity.player.name == name){
        entity.player.scale = scale;
    }
})

恢复方法:

·如地图处于编辑状态,则运行一次后结束运行即可

·如地图处于运行状态,则停止运行即可

6.踢出玩家:把一个玩家踢出地图(娱乐性质,谨慎使用)

let name = 'Chengxuyee';/*修改名称为你要整的人的名称*/
world.querySelectorAll('player').forEach((entity)=>{
    if(entity.player.name == name){
        entity.player.kick();
    };
});

OK,就这样了)其实也没改多少)但是我都是重写的,不是修改)如果吞格式我会重发)


回复

上一页1 页 / 共 1下一页
成都胖达成都胖达

室长()()好久不见()()

点赞0


评论


tiger666250tiger666250

6还以为你退了()

点赞0


评论


UBahnFluchtUBahnFlucht

轮回这里

点赞0


评论