此条目仍需完善。
你可以帮助我们扩充关于该主题的更多信息。
为玩家打开或改变NPC的对话框。
语法[]
dialogue open <npc: target> <player: target> [sceneName: string]
dialogue change <npc: target> <sceneName: string> [players: target]
参数[]
open
- 打开NPC的对话,或以该NPC为演员进行场景对话。
change
- 通过场景文件改变NPC的对话。
npc: target
- 指定要打开或改变的NPC目标,必须为单个NPC。
sceneName: string
- 指定从导入的行为包中对话文件显示的场景。
- 必须是一个场景名称(无空格)或有双引号字符串(可含有空格)。
- 在
open
中为可选参数,如果未指定,将使用该NPC最后的场景进行对话。 - 在
change
中必须指定场景,否则改变无效。
players: target
- 指定打开NPC对话框的目标玩家,必须为一个玩家或目标选择器。
- 对于NPC内置的命令界面,有一个特有的选择器变量为@initiator,它可以选择当前与该NPC进行交互(例如打开NPC对话框、使用NPC按钮和关闭NPC对话框)的玩家。如果该选择器用于NPC内置命令以外的命令,则不会选择到任何目标,也不会报错。
- 在
open
中为必选参数,用于指定打开对话的目标玩家; - 在
change
中为可选参数,用于决定是否仅改变该NPC对该玩家的对话,若为空,则改变该NPC对全局的对话。
效果[]
若npc: target
参数不存在或数量不为1,则命令执行失败。
若npc: target
参数指定的NPC在指定目标玩家的加载范围之外,则命令执行失败。
若sceneName:string
参数指定了不完整的场景文件,则命令执行失败。
示例[]
- 为Steve打开距离自己最近的NPC对话框:
/dialogue open @e[type=npc,c=1] Steve
- 以最近的NPC为演员给Steve从场景文件中打开名为chat_1的对话:
/dialogue open @e[type=npc,c=1] Steve chat_1
- 将最近的NPC的对话改变为场景文件中名为chat_2的对话:
/dialogue change @e[type=npc,c=1] chat_2
- 将最近的NPC对Steve的对话改变为场景文件中名为chat_3的对话:
/dialogue change @e[type=npc,c=1] chat_3 Steve
历史[]
基岩版 | |||||
---|---|---|---|---|---|
1.17.10 | 1.17.10.22 | 加入了/dialogue 。 |
语言