猫史档案馆


【求助】【box3】【pvp】

用户:沙拉黄沙拉黄查看:9 回复:5 评论:9 创建时间:2022-05-02T20:51:22


pvp喵战地图不好肝啊~~ 报错一大堆: 晾全图代码: console.clear() world.onPlayerJoin(({entity})=>{ entity.player.hurt=8; entity.player.maxDis=150; console.log(entity.player.maxDis) entity.player.knife=1; entity.enableDamage=true; }); varred,blue=0; varattackerName; world.onPlayerJoin(async({entity})=>{ if(red<blue){ entity.addTag('red'); entity.player.spawnPoint.set(7,2,123); entity.position.set(7,2,123); entity.player.color=newBox3RGBColor(1,0,0); world.say(String(entity.player.name)+'加入红队'); red=(typeofred=='number'?red:0)+1; }elseif(red>blue){ entity.addTag('blue'); entity.position.set(116,2,14); entity.player.color=newBox3RGBColor(0,0,1); world.say(String(entity.player.name)+'加入蓝队'); blue=(typeofblue=='number'?blue:0)+1; }else{ if(Math.random()<0.5){ entity.addTag('red'); entity.player.spawnPoint.set(7,2,123); entity.position.set(7,2,123); entity.player.color=newBox3RGBColor(1,0,0); world.say(String(entity.player.name)+'加入红队'); red=(typeofred=='number'?red:0)+1; }else{ entity.addTag('blue'); entity.position.set(116,2,14); entity.player.color=newBox3RGBColor(0,0,1); world.say(String(entity.player.name)+'加入蓝队'); blue=(typeofblue=='number'?blue:0)+1; }; }; }); world.onClick(({entity,clicker,button,distance})=>{ if(button!=='action0')return; if(distance<=clicker.player.maxDis){ entity.hurt(clicker.player.hurt); }else{ clicker.player.directMessage(`距离超过了射程:${clicker.player.maxDis}:${distance}`) } }); world.onTakeDamage(({entity,attacker,damage})=>{ if(!entity.isPlayer)return; attackerName=attacker.player.name; entity.player.directMessage(`[剩余HP:${entity.hp}]:你承受了${damage}点来自${attackerName}的伤害`); }); world.onDie(({entity,attacker})=>{ entity.player.directMessage(`你被${attacker.player.name}击杀了,5秒后复活,视角跟随击杀者`); if(attacker.player.knife>=3){ attacker.player.directMessage(`你击杀了${entity.player.name},个人分数+1,团队分数+1,升级武器`); attacker.player.knife+=1; attacker.player.hurt+=2; constteam=attacker.hasTag('red')?'red':'blue'; if(team=='red'){ redScore+=1; }else{ blueScore+=1; }; }else{ attacker.player.directMessage(`你击杀了${entity.player.name},个人分数+1,团队分数+1,武器已升至最高级,增加伤害3点`); attacker.hurt+=3; }; }); 问题出在了这里: world.onTakeDamage(({entity,attacker,damage})=>{ if(!entity.isPlayer)return; attackerName=attacker.player.name;//Typeerror:cannotsetproperly'player'ofnullateval entity.player.directMessage(`[剩余HP:${entity.hp}]:你承受了${damage}点来自${attackerName}的伤害`); }); 控制台报错: TypeError:Cannotsetproperly'player'ofnullateval 求解决方案 地图链接:box3.codemao.cn/e/40287ca66d487ec0cd51 游客有开始按钮权限。进入后发起请求,然后耐心的等你的职位吧,注意常来看 解答下方回帖


回复

上一页1 页 / 共 1下一页
沙拉黄沙拉黄

console.clear()

world.onPlayerJoin(({ entity }) => {
    entity.player.hurt = 8;
    entity.player.maxDis = 150;
    console.log(entity.player.maxDis)
    entity.player.knife = 1;
    entity.enableDamage = true;
});

var red, blue = 0;
var attackerName;

world.onPlayerJoin(async ({entity})=>{
    if (red < blue) {
        entity.addTag('red');
        entity.player.spawnPoint.set(7,2,123);
        entity.position.set(7,2,123);
        entity.player.color=new Box3RGBColor(1,0,0);
        world.say(String(entity.player.name) + '加入红队');
        red = (typeof red == 'number' ? red : 0) + 1;
    }else if(red > blue){
        entity.addTag('blue');
        entity.position.set(116,2,14);
        entity.player.color = new Box3RGBColor(0,0,1);
        world.say(String(entity.player.name) + '加入蓝队');
        blue = (typeof blue == 'number' ? blue : 0) + 1;
    }else{
        if (Math.random() < 0.5){
            entity.addTag('red');
            entity.player.spawnPoint.set(7,2,123);
            entity.position.set(7,2,123);
            entity.player.color=new Box3RGBColor(1,0,0);
            world.say(String(entity.player.name) + '加入红队');
            red = (typeof red == 'number' ? red : 0) + 1;
        }else{
            entity.addTag('blue');
            entity.position.set(116,2,14);
            entity.player.color = new Box3RGBColor(0,0,1);
            world.say(String(entity.player.name) + '加入蓝队');
            blue = (typeof blue == 'number' ? blue : 0) + 1;
        };
    };
});

world.onClick(({ entity,clicker,button,distance }) => {
    if (button !== 'action0') return;
        if (distance <= clicker.player.maxDis){
            entity.hurt(clicker.player.hurt);
        }else{
            clicker.player.directMessage(`距离超过了射程:${clicker.player.maxDis}:${distance}`)
        }
});

world.onTakeDamage(({ entity,attacker,damage }) => {
    if (!entity.isPlayer) return;
        attackerName = attacker.player.name;
        entity.player.directMessage(`[剩余HP: ${entity.hp}]: 你承受了 ${damage} 点来自 ${attackerName} 的伤害`);
});

world.onDie(({ entity, attacker }) => {
    entity.player.directMessage(`你被${attacker.player.name}击杀了,5秒后复活,视角跟随击杀者`);
    if (attacker.player.knife >= 3){
        attacker.player.directMessage(`你击杀了${entity.player.name},个人分数+1,团队分数+1,升级武器`);
        attacker.player.knife += 1;
        attacker.player.hurt += 2;
        const team = attacker.hasTag('red') ? 'red' : 'blue';
        if (team == 'red'){
            redScore += 1;
        }else{
            blueScore += 1;
        };
    }else{
        attacker.player.directMessage(`你击杀了${entity.player.name},个人分数+1,团队分数+1,武器已升至最高级,增加伤害3点`);
        attacker.hurt += 3;
    };
});

点赞0


评论


沙拉黄沙拉黄

world.onTakeDamage(({ entity,attacker,damage }) => {
    if (!entity.isPlayer) return;
        attackerName = attacker.player.name;
        entity.player.directMessage(`[剩余HP: ${entity.hp}]: 你承受了 ${damage} 点来自 ${attackerName} 的伤害`);
});

点赞0


评论


沙拉黄沙拉黄

报错:

TypeError: Cannot set properly 'player' of null at eval

点赞0


评论


沙拉黄沙拉黄

格式被吞,重新发的代码如下:

点赞0


评论


薹灣解放再改名薹灣解放再改名

没有报错的,谢谢你的代码

 

点赞0


评论