猫史档案馆


[求助]如何放置多个NPC

用户:传说之下星河传说之下星河查看:9 回复:8 评论:9 创建时间:2022-10-16T09:28:21


使用官方API的NPC代码只能放一个NPC,放两个就出错。麻烦大佬们帮帮忙()


回复

上一页1 页 / 共 1下一页
传说之下星河传说之下星河

c喵tnpc=world.querySelector('#老人'); npc.enableInteract=true; npc.interactHint=npc.id; npc.interactRadius=16; //玩家与实体进行交互时触发 npc.onInteract(async({entity})=>{ c喵tresult=awaitentity.player.dialog({ type:Box3DialogType.SELECT, title:npc.id, lookTarget:npc, content:`${entity.player.name},你醒了,你好像是星羽族吧,你伤的很重,失去了飞行能力。孩子,你想喝些水吗?`, opti喵:['好的,谢谢','对不起,我想我应该走了','我是谁?我为什么会在这里?','你旁边的们是啥?'], }); //c喵ole.log(`选择了第index:${result.index}个选项:${result.value}`) //如果选了第一个选项,也就是'当然'。就会执行特定事件 if(result.index===0){ npc.say(`你看起来好多了`); } if(result.index===1){ npc.say(`好吧,出口就在后面,你走吧,保重!`); } if(result.index===2){ npc.say(`我是在星之漠找到你的,你需要去自己找到答案。孩子,去吧!去找喵属于你的东西!`); } if(result.index===3){ npc.say(`……通往地狱!!!千万别进去!不然……你将会万劫不复!!!`); } } });

点赞0


评论


无极玄天无极玄天

//只要这个常量名字不一样就行

c喵t npc = world.querySelector('#NPC');
npc.enableInteract = true; // 允许进行互动
npc.interactRadius = 16;   // 实体的互动范围
npc.interactHint = npc.id; // 互动提示框显示实体的名称
npc.interactColor = new Box3RGBColor(1,0,1);  // 互动提示的文字颜色

// 玩家与实体进行交互时触发
npc.onInteract(async({entity}) => {
    c喵t result = await entity.player.dialog({
        type: Box3DialogType.TEXT,   // 对话框的类型,TEXT是文本框。
        title: npc.id,               // 对话框标题为NPC名字,表示正在说话的是NPC
        lookEye: entity,             // 将相机放在玩家位置
        lookTarget: npc,             // 相机镜头对准NPC
        content: `你好,${entity.player.name},很高兴认识你。`,
    });
});

c喵t n = world.querySelector('#N');
n.enableInteract = true; // 允许进行互动
n.interactRadius = 16;   // 实体的互动范围
n.interactHint = npc.id; // 互动提示框显示实体的名称
n.interactColor = new Box3RGBColor(1,0,1);  // 互动提示的文字颜色

// 玩家与实体进行交互时触发
n.onInteract(async({entity}) => {
    c喵t result = await entity.player.dialog({
        type: Box3DialogType.TEXT,   // 对话框的类型,TEXT是文本框。
        title: npc.id,               // 对话框标题为NPC名字,表示正在说话的是NPC
        lookEye: entity,             // 将相机放在玩家位置
        lookTarget: npc,             // 相机镜头对准NPC
        content: `你好,${entity.player.name},很高兴认识你。`,
    });
});

点赞0


评论


星星上的雪花星星上的雪花

······

点赞0


评论


我求封号我求封号

e

 

 

 

点赞0


评论


改个变量名

点赞0


评论


༿༺闪ོ༒电ོ༻༾༿༺闪ོ༒电ོ༻༾

。。。

 

点赞0


评论


传说之下星河传说之下星河

// 玩家与实体进行交互时触发 npc2.onInteract(async ({entity}) => {     const result = await entity.player.dialog({         type: Box3DialogType.SELECT,         title: npc2.id,         lookTarget:npc2,         content: `${entity.player.name},继续往前走,那里有你的_3u*je&和记忆=)`,         options: ['你是谁!','不予理会','砍'],     });     if (result.index === 0){          npc2.say(`哈……继续往前走……那里有你想要的答案……`);     }     if (result.index === 1){          npc2.say(`好吧,小子,我保证你会后悔……`);     }     if (result.index === 2){          npc2.say(`呵呵……你伤不到我的……你为何不继续向前走……找到答案呢……`);     }

 

});

点赞0


评论


145a145a

我也想问这个问题,官方出来解释一下emotion_doge

点赞1


评论