猫史档案馆


代码岛白嫖代码:友尽玩法

用户:勇敢的阿尔法r9sy勇敢的阿尔法r9sy查看:0 回复:0 评论:0 创建时间:2021-03-21T11:29:43




 if (voxel === voxels.id('H')) { //如果方块类型是H字母
        entity.hp = entity.maxHp //恢复满血
        voxels.setVoxel(x, y, z, '') //消掉H方块
}

const lava_hurt=[465,467]//触碰时被岩浆伤害的指定方块
const ice_hurt=[398,347]//触碰时被冰伤害的指定方块
const poison_hurt=[99,101]//懒得说了
const light_hurt=[285,299]//懒得说了
world.onPlayerJoin(({entity:e/*将entity重命名为e*/})=>{
    e.enableDamage=true//别忘了这玩意!
    e.onVoxelContact(({x,y,z})=>{//这里onVoxelContect()必须嵌在onPlayerJoin里,否则所有实体碰到都会被伤害
        const vox = voxels.getVoxelId(x,y,z)
        if(lava_hurt.includes(vox)){//includes函数可以判断lava_hurt方块中是否包括vox
            e.hurt(30,{damageType:'火焰_0'})//综合喆喵所讲的知识(doge)
            e.player.directMessage('你收到了30点火焰伤害')
        }else if(ice_hurt.includes(vox)){
            e.hurt(20,{damageType:'冰冻_1'})
            e.player.directMessage('你收到了20点冰冻伤害')
        }else if(poison_hurt.includes(vox)){
            const m =Math.floor(Math.random()*50)
            e.hurt(m,{damageType:'毒素_2'})
            e.player.directMessage('你收到了'+m+'点毒素伤害')
        }else if(light_hurt.includes(vox)){
            e.hurt(20,{damageType:'闪光_3'})
            e.player.directMessage('你收到了30点闪光伤害')
        }
    })
})
world.onDie(async({ entity:e,damageType }) => {
    const damtyp=damageType.split('_')//分割,以便后面进行运算
    if(damtyp[1]=='0'){
        e.player.color.set(1,0,0)//红色
    }else if(damtyp[1]=='1'){
        e.player.color.set(0,0,1)//蓝色
    }else if(damtyp[1]=='3'){
        e.player.color.set(0,0,0)//蓝色
    }else{
        e.player.color.set(0,1,0)//爱色
    }
    world.say(`${e.player.name}收到了${damtyp[0]}伤害后不幸喵亡`)//广播消息
    for(i=10;i>0;i--){
        e.player.directMessage(i+'秒后复活')
        await sleep(1000)
    }
    e.player.color.set(1,1,1)
    e.player.forceRespawn()
})

world.onPlayerJoin(({ entity }) => {
    entity.player.enable3DCursor = true // 开启方块光标
    entity.selected = 'stone' // 玩家当前选定dirt方块
})

world.onPress(async ({ entity, raycast, button }) => {
    if (button === Box3ButtonType.ACTION0) {
        const pos = raycast.voxelIndex.add(raycast.normal) // 射线指到的方块位置加上被选中的面的法线向量
        voxels.setVoxel(pos.x, pos.y, pos.z, entity.selected)
    }
    else if (button === Box3ButtonType.ACTION1) {
        const selection = await entity.player.dialog({
            type: Box3DialogType.SELECT,
            content: '选择方块类型(闪光、毒素、火焰、冰冻、恢复)',
            options: ['white_light','yellow_light','olive_green','yellow_green','polar_ice','ice','lava01','lava02','H'],
        })
        if (selection) {
            entity.selected = selection.value // 更新玩家当前选定方块
        }
    }
})
//代码参考:吉吉喵、没名某人

 

完!

 

 

 

 


回复

上一页1 页 / 共 0下一页