创建一个对话:通过配置文件创建
有两种方法可以创建对话。你可以两者兼用,但我建议你使用第一种方法(上一种),因为它更具有交互性而且不需要对配置文件的改变
使用配置文件
和第一种方式一样,你得先用/interactions create <conversation>
指令创建一个对话实体。然后一个新文件就会生成,但是你会发现它基本上是空的,没有对话,也没有交流。你可以把配置文件替换为下面那样,这样你就可以开始正确地添加对话、交流和选项了
name: '&a&l样例NPC'
starts_with: []
block_movement: true
start_conversation_radius: 0
end_conversation_radius: 5
conversation:
conversation1:
dialogue:
dialogue1:
text:
- "&7你好,公民,我能为你做些什么?"
time: 4
options:
option1:
text: "&e告诉我关于城市的事情."
start_conversation: conversation2
option2:
text: "&e拜拜"
start_conversation: conversation3
现在我们的配置文件里还只有一个持续四秒的你好,公民,我能为你做些什么?
在显示完这段话后就会出现两个选项,这两个选项现在啥也没用,因为我们还没创建conversation2和conversation3,每个选项的start_conversation
定义了当玩家选到这个选项时接下来要进行的对话
conversation:
conversation1:
dialogue:
dialogue1:
text:
- "&7你好,公民,我能为你做些什么?"
time: 4
options:
option1:
text: "&e告诉我关于城市的事情."
start_conversation: conversation2
option2:
text: "&e拜拜"
start_conversation: conversation3
conversation2:
dialogue:
dialogue1:
text:
- "&7王城是全国最重要的城市之一"
time: 4
dialogue2:
text:
- "&7如果你在寻找冒险的机会,你可以去找"
- "&7酒店里的Bob.还有什么想问的吗?"
time: 4
conversation3:
dialogue:
dialogue1:
text:
- "&7祝你好运!"
time: 1
现在你可以看见,conversation2和3都被创建了,conversation2有两个交流,而conversation3只有一个。但是现在,当conversation2完成的时候,整个对话就会停止,所以我们可以用start_options: conversation1
属性把它重定向至conversation1来让玩家重新做选择,如果我们不为conversation3设定一个start_options的话那么意味着它就是对话的最后一个步骤
conversation2:
dialogue:
dialogue1:
text:
- "&7王城是全国最重要的城市之一"
time: 4
dialogue2:
text:
- "&7如果你在寻找冒险的机会,你可以去找"
- "&7酒店里的Bob.还有什么想问的吗?"
time: 4
start_options: conversation1
最后,我们只需要为对话设置一个开始点,在这个例子里我们想让玩家右键一个叫做“守卫”的NPC,所以我们用starts_with
来达到目的
name: '&a&l样例NPC'
starts_with:
- NPC named 守卫
block_movement: true #在谈话时防止玩家移动
start_conversation_radius: 0
end_conversation_radius: 5
Last updated
Was this helpful?