[BE教程]NPC对话的详细引导帖
>论坛>灵感交流>教程中心>帖子本版发帖返回[BE教程]NPC对话的详细引导帖惯宣***惯宣***当前离线UID354295性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2022-4-5最后登录1970-1-1查看:4346|回复:8
发表于 2023-5-8 03:38:32 来自手机|只看该作者|倒序浏览|阅读模式 IP:广东省 本帖最后由 惯宣-CGX_ 于 2023-5-8 19:11 编辑
•引文:
- 曾经我有过这么一帖:链接。是探讨用指令做剧情对话的上限的,直到后来我发现了一个更好玩的东西:NPC。这个东西可拓展性比指令什么的多出不知道多少,主要还是简单易操作很快就能上手。
- 因为关于了解NPC机制的介绍已经有不少人做过了,所以我这里就不拖沓。
•目录:
一、相关命令
二、配置
三、对话文件
【NPC相关命令】
- 获得NPC刷怪蛋
/give @s spawn_egg 1 51
- 生成NPC实体
/summon npc
- 给某位玩家打开某NPC的对话
/dialogue open <@e/单选npc> <目标玩家>
- 以某NPC为演员进行某情景的对话
/dialogue open <@e/单选npc> <目标玩家> <情景标签>
- 改变某NPC对全局的对话
/dialogue change <@e/单选npc> <情景标签>
- 仅改变某NPC对某玩家的对话
/dialogue change <@e/单选npc> <情景标签> <目标玩家>
※注意事项:
- <@e/单选npc>可选择拥有npc组件的模组实体
- <情景标签(scene_tag)>需要使用行为包来完整描述
- @initiator作为目标选择器可以选择正在与npc交互的玩家
- 这里不得不提一句:不止微软对命令的翻译有问题,就连中文wiki发布的译名修正包都有错。/dialogue命令的反馈简直可以说是不明所以。
【NPC配置】
- 什么?今天都二〇二三年了,你不会还在用传统的方法敲文本吧?别那么low了,当然是写好对话文件直接用指令设置npc的对话啦。啊这,还是说一些可以玩的东西吧。
- {"rawtext":[{"text":"rawtext文本可以应用于npc全身上下的每一处,除了指令。"}]}
- 包括:显示的名称(不同于/summon生成时决定的自定义名称)、对话框、按钮名称。
- 除了{"selector":"不可使用之外"},{"text":"\n换行\r空格\u0000输出u码文字"},{"translate":"114.514"}
- 114.514=写入.lang文件的词条是可以正常输出的,只是写在.lang里的文本“不支持”\n换行。不过又不是只能写一条,随他啦。
(记分板相关的东西我没试过,可能也不行吧)
- npc的名称会显示在头顶,于是有很多人会利用这个特性来制作悬浮文本,其实还可以用来表示事件符号“【?】”。
- 一个大大的“【?】”立在npc头上,这可太经典了。至于展示的名字被占用了,也不要紧,本身立在对话框正上方的名字也够奇怪的,而且有这样的替代方案:
- 将【角色名】写在对话里的第一行。这样角色的名字才会更靠近对话,更符合一般游戏的ui设计。
- 如果要区分npc可以用§隐藏。
- 随机对话可以在npc的指令栏里这样打:
/scoreboard players random <@e> [计分项] * *
/dialogue open @s[scores={某讳=..1}] @initiator <情景标签>
/dialogue change @s[scores={某讳=2..}] <情景标签> @initiator
…
- 只是必须用到行为包。如果是用execute会出一堆有的没有的问题,形式上也不如这个简便。
- npc的模型和皮肤都可以用行为包和资源包来自定义修改,伸手党可以直接看这帖:站内链接
- 主要是修改npc使用的动画并改变读取皮肤位置的路径(这个不改也行)- 打开原版资源包内entity文件夹的npc.entity.json
- 前几个不用理,主要看这几个:
"textures"是npc使用的皮肤,默认数量60个。
"geometry"是使用的几何模型。 "geometry": { "default": "geometry.npc" },复制代码
default是默认使用的模型,根据使用的不同皮肤续写可以定义成不同的模型。
geometry.npc则是models/entity/文件夹内npc.geo.json的模型名称。
"animations"是使用的动画。 "animations": { "general": "animation.npc.general", "look_at_target": "animation.common.look_at_target", "move": "animation.npc.move", "baby_transform": "animation.npc.baby_transform" }复制代码
左边是动作名称,右边是使用的动画。
- 内容太多就不展开来讲了。反倒是为什么这么大个论坛却找不到一篇关于修改模型的教程啊。
【对话文件】
- 建议参考此网站:教程链接
- 板内有另一个大佬写过教程贴,不过很乱,内容也只是草草一笔。
- 我自己就不费心机再复述多一遍别人已经讲过的东西了,毕竟这部分也没什么可说的。最后贴一下我自己写的吧:{ "format_version": "1.19", "minecraft:npc_dialogue": { "scenes": [{ "scene_tag": "a_1", "npc_name": "§l§e【?】", "text": "§l§6【NPC】§r\n嗯⋯⋯你,\n你⋯是个⋯是个⋯是个⋯\n是个⋯玩家?!\n\n\n①§l【我们来聊会天】", "buttons": [{ "name": "①", "commands": [ "/dialogue open @s @initiator a_2", "/dialogue change @s a_2" ] }] }, { "scene_tag": "a_2", "npc_name": "§l§e【!】", "text": "§l§6【NPC】§r\n我只是一个普通的NPC\n只是被人安排好了要说的话\n不过他居然可以让我说出随机内容\n这倒是让人惊讶的\n\n\n①§l【§a讲解一下原理§0】§r\n②§l【§c直接演示看看吧§0】§r\n③§l【§5给我闭嘴吧你个雌小鬼§0】", "buttons": [{ "name": "①", "commands": [ "/dialogue open @s @initiator a_3" ] }, { "name": "②", "commands": [ "/scoreboard players random @s 对话2 0 1", "/dialogue open @s[scores={对话2=0}] @initiator a_4", "/dialogue open @s[scores={对话2=1}] @initiator a_5" ] }, { "name": "③", "commands": [ "/dialogue change @s a_6" ] }] }, { "scene_tag": "a_3", "npc_name": "§l§e【!】", "text": "§l§6【NPC】§r\n原理很简单\n就是/dialogue命令改变NPC的文本\n参数open可以为玩家打开特定情景\nchange则可以改变NPC的的对话内容\n再配合上scoreboard的random数值\n就可以轻易制作出可以像我这样\n完美无暇简直可以成为艺术品的\nNPC了", "buttons": [{ "name": "结束对话", "commands": [ "/dialogue change @s a_7" ] }] }, { "scene_tag": "a_4", "npc_name": "§l§e【!】", "text": "§l§6【NPC】§r\n喏,你看\n现在我跟你说的就是第一条对话了", "buttons": [{ "name": "结束对话", "commands": [ "/dialogue change @s a_7" ] }] }, { "scene_tag": "a_5", "npc_name": "§l§e【!】", "text": "§l§6【NPC】§r\n喏,你看\n现在我跟你说的就是第二条对话了", "buttons": [{ "name": "结束对话", "commands": [ "/dialogue change @s a_7" ] }] }, { "scene_tag": "a_6", "npc_name": "§l§7【!】", "text": "§l§6【NPC】§r\n嘤嘤嘤,你居然⋯\n你居然叫人家雌小鬼\n那我可真是太兴奋了啊\n\n好了\n说回正事,结束这场对话吧", "buttons": [{ "name": "结束对话", "commands": [ "/dialogue change @s a_7" ] }] }, { "scene_tag": "a_7", "npc_name": "§l§e", "text": "§l§6【NPC】§r\n嗯,对话进行地很顺利\n现在你可以把我重置了\n你看看我头上,事件结束后连感叹号都消失了呢", "buttons": [{ "name": "重置", "commands": [ "/dialogue change @s a_1" ] }] }] }}复制代码
cankao.json(2.81 KB, 下载次数: 21)2023-5-8 03:37 上传
点击文件名下载附件 仅供参考
- 如有疏漏或是更好的想法还请评论告知。分享到: QQ好友和群收藏11支持8帖子永久地址: 点击复制苦力怕论坛 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、Minecraft(我的世界)苦力怕论坛管理员和版主有权不事先通知发贴者而删除本文苦力怕论坛,感谢有您~回复使用道具举报
提升卡观察者YanR***YanR***当前离线UID20499性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2020-11-16最后登录1970-1-12#
发表于 2023-6-9 19:13:07 来自手机|只看该作者 IP:广西评论复审中...编号:70121292#2023-6-9 19:13:07回复(0)收起回复我要说一句苦力怕论坛,感谢有您~回复支持 使用道具举报
观察者文***文***当前离线UID961024性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2023-3-19最后登录1970-1-13#
发表于 2023-12-14 12:49:31 来自手机|只看该作者 IP:河南省评论复审中...编号:99321193#2023-12-14 12:49:31回复(0)收起回复我要说一句苦力怕论坛,感谢有您~回复支持 使用道具举报
观察者惯宣***惯宣***当前离线UID354295性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2022-4-5最后登录1970-1-14#
楼主|
发表于 2023-12-14 18:52:48 来自手机|只看该作者 IP:广东省评论复审中...编号:99346944#2023-12-14 18:52:48回复(0)收起回复我要说一句苦力怕论坛,感谢有您~回复支持 使用道具举报
观察者aii***aii***当前离线UID229925性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2022-1-20最后登录1970-1-15#
发表于 2024-1-21 21:15:56 来自手机|只看该作者 IP:广东省评论复审中...编号:103055975#2024-1-21 21:15:56回复(0)收起回复我要说一句苦力怕论坛,感谢有您~回复支持 使用道具举报
观察者吃颗***吃颗***当前离线UID992168性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2023-4-11最后登录1970-1-16#
发表于 2024-1-22 23:00:23 来自手机|只看该作者 IP:贵州省评论复审中...编号:103188146#2024-1-22 23:00:23回复(0)收起回复我要说一句苦力怕论坛,感谢有您~回复支持 使用道具举报
观察者佟儒***佟儒***当前离线UID1764045性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2024-7-1最后登录1970-1-17#
发表于 2024-7-27 00:31:22 来自手机|只看该作者 IP:广东省评论复审中...编号:106454767#2024-7-27 00:31:22回复(0)收起回复我要说一句苦力怕论坛,感谢有您~回复支持 使用道具举报
观察者洵***洵***当前离线UID1073243性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2023-6-1最后登录1970-1-18#
发表于 2024-8-7 23:55:20 来自手机|只看该作者 IP:广东省评论复审中...编号:106808518#2024-8-7 23:55:20回复(0)收起回复我要说一句苦力怕论坛,感谢有您~回复支持 使用道具举报
观察者惯宣***惯宣***当前离线UID354295性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2022-4-5最后登录1970-1-19#
楼主|
发表于 2024-8-8 13:40:32 来自手机|只看该作者 IP:广东省评论复审中...编号:106823199#2024-8-8 13:40:32回复(0)收起回复我要说一句苦力怕论坛,感谢有您~回复支持 使用道具举报
观察者
随便看看
- 2025-10-07 08:15:22太平洋保险的退保注意事项和退保退款方式
- 2025-05-20 15:51:46力港桂林字牌游戏软件V2.0五周年庆典暨2025年5月20日全民字牌大赛
- 2025-10-26 14:56:14gta5公寓怎么开门 gta5怎么开门教程
- 2025-10-11 07:58:53cfA180加两把烈龙多少子弹
- 2025-05-25 08:09:33征程:探索未知的奇幻冒险之旅
- 2025-07-08 18:20:42口袋梦幻2025夏日狂欢盛典:梦幻精灵大集结与稀有道具限时获取
- 2025-05-13 06:56:37巫泡2025年5月13日全球狂欢节:魔法与泡泡的奇幻冒险
- 2025-07-12 21:02:31《十洲繁华景》盛夏庆典:探索仙洲秘境,赢取限定法宝与豪华奖励!
- 2025-10-07 08:15:22太平洋保险的退保注意事项和退保退款方式
- 2025-10-10 17:24:28如何彻底删除杂志锁屏
