猫史档案馆


【求助】谁会攻击距离为8格的PVP代码

用户:指令者指令者查看:643 回复:5 评论:20 创建时间:2021-02-27T20:29:38


如题,试了好多方法都不行emotion_编程猫_搓头


回复

上一页第 1 页 / 共 1 页下一页
BSS梅者如西BSS梅者如西

给你提供个思路

new Box3Vector3(x,y,z).distance(new Box3Vector3(x,y,z))

点赞0


评论

看不懂

一个写攻击者坐标一个写被击中者坐标,这个是一个值,这个值超过8攻击无效

不能用maxDistance之类的吗

或者加一个distance>=8之类的

就把普通PVP加个检测再伤害不就行了吗

搞一个示例,我一脸懵逼

distance>=8或者maxDistance怎么弄

就用第一个不就完了吗?给私人变量定义为以上代码然后满足第一个你给的条件,if如果为真就行啊

奈何我不会啊

我的代码是 if (distance>=8){return;}

在?

还有就是进入一个区域设置entity.enableDamage = true

就是进入那个区域才可以PVP

对的就这样

那个简单区域监测器呗一样的方法还是if return

来https://box3.codemao.cn/e/02460b02e0e2443fddf6

那个PVP还没有搞呢!

回来!!!!!!!!


指令者指令者

还有一个就是进入一个区域设置

entity.enableDamage = true

点赞0


评论


治愈绾兮治愈绾兮

world.onPlayerJoin(({ entity }) => {
    entity.player.onPress(({ button, raycast: { hitEntity, direction, distance } }) => {
        if (button !== 'action0' || !hitEntity ||distance > 8) {
            return;
        }
        hitEntity.velocity.x += direction.x;
        hitEntity.velocity.y += 0.5;
        hitEntity.velocity.z += direction.z;
        hitEntity.hurt(20, {
            attacker: entity,
        });
    });
});

点赞0


评论


治愈绾兮治愈绾兮

这么简单,看楼下

点赞0


评论

就是个射线距离判断


BCMOJANGBCMOJANG

world.onClick(({ entity, clicker, distance }) => { 
    if (distance>5){//判断距离是否大于5(5可以改成任何数)
         return;
    }
    if (entity.isPlayer) { 
        
        world.say(`${clicker.player.name} 击中 ${entity.player.name}`)
    } else {
        world.say(distance)
        world.say(`${clicker.player.name} 击中 ${entity.id}`) 
    }

    entity.hurt(20)
    if(entity.hp<=0){
        world.say(`${entity.id} 被 ${clicker.player.name}送去见喵`)
         entity.destroy()
        
     }
    

点赞0


评论

你看看这是什么时候的帖()