用户:
清蒸鲈鱼查看:23 回复:8 评论:23 创建时间:2023-01-17T12:40:53
我用了一个办法,但是有bugs
思路是这样的:
每个tick检测一次,假如玩家不处于下落(fall)状态,那么entity.high就等于当前y高度
如果处于下落状态,就不更新
如果不是下落状态,看看现在的高度和entity.high的差别
但是有bugs
大佬们有没有更好的方法qwq
教一教awa
Mini_edit//将可伤害开启 world.onPlayerJoin(({entity})=>{//当玩家进入游戏 entity.enableDamage=true;//将可伤害开启 });//这个加上 //摔落伤害 world.onVoxelContact(async({entity,x,y,z,voxel})=>{//当实体接触方块 if(!entity.isPlayer)return;//如果这个实体不是玩家,打咩 leti=entity.player.fall-y//加一个变量 if(entity.player.fall-y>10){//如果高度大于10 entity.hurt(i*3)//打掉这个玩家的这个变量乘以三的血量 entity.player.directMessage('你受到了'+i*3+'点摔落伤害,目前血量是:'+entity.hp)//告诉玩家信息 }//这个加上*2 entity.player.fall=y//设置这个变量为y(这个变量变化一般是玩家在高空) });//这个加上*4 //处理特殊情况:水方块 world.onFluidEnter(async({entity,voxel})=>{//当实体接触液体 if(!entity.isPlayer){return;}//如果这个实体不是玩家,打咩*2 entity.player.fall=0//设置这个变量为0 })//这个加上*5 //这里的复活代码 world.onDie(async({entity})=>{//当实体喵 if(!entity.isPlayer)return;//如果这个实体不是玩家,打咩*3 for(lett=1;t<=5;t++){//设置倒计时变量,并且重复执行 entity.player.directMessage(`倒计时${String(5-t)}秒后复活`);//告诉玩家信息*2 awaitsleep(1000);//等待1秒 }//这个加上*6 entity.player.forceRespawn();//让这个玩家复活复活 });//这个加上*7 看在每一行都有注释的份上, 给个关注吧!
点赞0
评论
Mini_edit//将可伤害开启 world.onPlayerJoin(({entity})=>{//当玩家进入游戏 entity.enableDamage=true;//将可伤害开启 });//这个加上 //摔落伤害 world.onVoxelContact(async({entity,x,y,z,voxel})=>{//当实体接触方块 if(!entity.isPlayer)return;//如果这个实体不是玩家,打咩 leti=entity.player.fall-y//加一个变量 if(entity.player.fall-y>10){//如果高度大于10 entity.hurt(i*3)//打掉这个玩家的这个变量乘以三的血量 entity.player.directMessage('你受到了'+i*3+'点摔落伤害,目前血量是:'+entity.hp)//告诉玩家信息 }//这个加上*2 entity.player.fall=y//设置这个变量为y(这个变量变化一般是玩家在高空) });//这个加上*4 //处理特殊情况:水方块 world.onFluidEnter(async({entity,voxel})=>{//当实体接触液体 if(!entity.isPlayer){return;}//如果这个实体不是玩家,打咩*2 entity.player.fall=0//设置这个变量为0 })//这个加上*5 //这里的复活代码 world.onDie(async({entity})=>{//当实体喵 if(!entity.isPlayer)return;//如果这个实体不是玩家,打咩*3 for(lett=1;t<=5;t++){//设置倒计时变量,并且重复执行 entity.player.directMessage(`倒计时${String(5-t)}秒后复活`);//告诉玩家信息*2 awaitsleep(1000);//等待1秒 }//这个加上*6 entity.player.forceRespawn();//让这个玩家复活复活 });//这个加上*7 这次千万别吞格式啊QAQ
点赞0
评论
Mini_edit//将可伤害开启 world.onPlayerJoin(({entity})=>{//当玩家进入游戏 entity.enableDamage=true;//将可伤害开启 });//这个加上 //摔落伤害 world.onVoxelContact(async({entity,x,y,z,voxel})=>{//当实体接触方块 if(!entity.isPlayer)return;//如果这个实体不是玩家,打咩 leti=entity.player.fall-y//加一个变量 if(entity.player.fall-y>10){//如果高度大于10 entity.hurt(i*3)//打掉这个玩家的这个变量乘以三的血量 entity.player.directMessage('你受到了'+i*3+'点摔落伤害,目前血量是:'+entity.hp)//告诉玩家信息 }//这个加上*2 entity.player.fall=y//设置这个变量为y(这个变量变化一般是玩家在高空) });//这个加上*4 //处理特殊情况:水方块 world.onFluidEnter(async({entity,voxel})=>{//当实体接触液体 if(!entity.isPlayer){return;}//如果这个实体不是玩家,打咩*2 entity.player.fall=0//设置这个变量为0 })//这个加上*5 //这里的复活代码 world.onDie(async({entity})=>{//当实体喵 if(!entity.isPlayer)return;//如果这个实体不是玩家,打咩*3 for(lett=1;t<=5;t++){//设置倒计时变量,并且重复执行 entity.player.directMessage(`倒计时${String(5-t)}秒后复活`);//告诉玩家信息*2 awaitsleep(1000);//等待1秒 }//这个加上*6 entity.player.forceRespawn();//让这个玩家复活复活 });//这个加上*7
点赞0
评论
world.onPlayerJoin(({entity})=>{ entity.enableDamage = true }); world.onFluidEnter(async({entity,voxel})=>{ if(!entity.isPlayer){return;} entity.player.fall=0 }); world.onFluidLeave(async({entity,voxel})=>{ if(!entity.isPlayer){return;} entity.player.fall=0 }); world.onVoxelContact(async({entity,x,y,z,voxel})=>{ if (!entity.isPlayer) return; let i=entity.player.fall-y; if(entity.player.fall-y>20){; entity.hurt(i/5) entity.player.directMessage('你受到了'+i/5+'点摔落伤害') }; entity.player.fall=y; }); world.onPlayerJoin(({entity})=>{ entity.player.fall=0 }); world.onDie(async({entity})=>{ entity.player.fall=0 });
点赞0
评论
Mini_edit//将可伤害开启
world.onPlayerJoin(({ entity }) => {//当玩家进入游戏
entity.enableDamage = true;//将可伤害开启
});//这个加上
//摔落伤害
world.onVoxelContact(async ({ entity, x, y, z, voxel }) => {//当实体接触方块
if (!entity.isPlayer) return;//如果这个实体不是玩家,打咩
let i = entity.player.fall - y//加一个变量
if (entity.player.fall - y > 10) {//如果高度大于10
entity.hurt(i * 3)//打掉这个玩家的这个变量乘以三的血量
entity.player.directMessage('你受到了' + i * 3 + '点摔落伤害,目前血量是:' + entity.hp)//告诉玩家信息
}//这个加上*2
entity.player.fall = y//设置这个变量为y(这个变量变化一般是玩家在高空)
});//这个加上*4
//处理特殊情况:水方块
world.onFluidEnter(async({entity,voxel})=>{//当实体接触液体
if(!entity.isPlayer){return;}//如果这个实体不是玩家,打咩*2
entity.player.fall=0//设置这个变量为0
})//这个加上*5
//这里的复活代码
world.onDie(async({ entity }) => { //当实体去世
if (!entity.isPlayer) return;//如果这个实体不是玩家,打咩*3
for (let t = 1; t <= 5; t++) {//设置倒计时变量,并且重复执行
entity.player.directMessage(`倒计时 ${String(5 - t)} 秒后复活`);//告诉玩家信息*2
await sleep(1000);//等待1秒
}//这个加上*6
entity.player.forceRespawn(); //让这个玩家复活、
});//这个加上*7点赞0
评论
world.onPlayerJoin(({ entity }) => {//当玩家进入游戏
entity.enableDamage = true;//将可伤害开启
});//这个加上
//摔落伤害
world.onVoxelContact(async ({ entity, x, y, z, voxel }) => {//当实体接触方块
if (!entity.isPlayer) return;//如果这个实体不是玩家,打咩
let i = entity.player.fall - y;//加一个变量
if (entity.player.fall - y > 10) {//如果高度大于10
entity.hurt(i * 3);//打掉这个玩家的这个变量乘以三的血量
entity.player.directMessage('你受到了' + i * 3 + '点摔落伤害,目前血量是:' + entity.hp);//告诉玩家信息
}//这个加上*2
entity.player.fall = y;//设置这个变量为y(这个变量变化一般是玩家在高空)
});//这个加上*4
//处理特殊情况:水方块
world.onFluidEnter(async({entity,voxel})=>{//当实体接触液体
if(!entity.isPlayer){return;}//如果这个实体不是玩家,打咩*2
entity.player.fall=0;//设置这个变量为0
})//这个加上*5
//这里的复活代码
world.onDie(async({ entity }) => { //当实体去世
if (!entity.isPlayer) return;//如果这个实体不是玩家,打咩*3
for (let t = 1; t <= 5; t++) {//设置倒计时变量,并且重复执行
entity.player.directMessage(`倒计时 ${String(5 - t)} 秒后复活`);//告诉玩家信息*2
await sleep(1000);//等待1秒
}//这个加上*6
entity.player.forceRespawn(); //让这个玩家复活、
});//这个加上*7点赞0
评论
world.onPlayerJoin(({ entity }) => {//当玩家进入游戏
entity.enableDamage = true;//将可伤害开启
});//这个加上
world.onVoxelContact(async ({ entity, x, y, z, voxel }) => {
if (!entity.isPlayer) return;
let i = entity.player.fall - y;
if (entity.player.fall - y > 10) {
entity.hurt(i * 3);
entity.player.directMessage('你受到了' + i * 3 + '点摔落伤害,目前血量是:' + entity.hp);
}
entity.player.fall = y;
});
world.onFluidEnter(async({entity,voxel})=>{
if(!entity.isPlayer){return;}
entity.player.fall=0;
})
world.onDie(async({ entity }) => {
if (!entity.isPlayer) return;
for (let t = 1; t <= 5; t++) {
entity.player.directMessage(`倒计时 ${String(5 - t)} 秒后复活`);
await sleep(1000);
}
entity.player.forceRespawn();
});点赞0
评论