交流属性

文本行

这是将要在每个交流中发送给玩家的信息,一些可考虑因素:

  • 你可以添加多行.

  • 你可以添加PlaceholderAPI变量.

  • 你可以使用 %player% 变量获取玩家名.

  • 你可以在文本前放置 {centered} 变量来让文本居中.

  • 如果你想让玩家能够跳过对话, 只需在末尾添加%next% 变量. 它会变成一个可点击的按钮.

text:
- "&7你好&6%player%, &7欢迎来到"
- "&f&lArgond&7之城. 这是个吸引人的地方,不是吗?"

对话时间(time)

这是玩家在继续下一个交流之前需要读这段信息的等待时间(秒)。如果你想让玩家点击按钮来继续交流,那么把它设置为0.要做到这点,记住按照上面所说的加%next%变量

time: 4

继续选项(Start Options)

当交流完成时,玩家可以选择继续的对话

start_options: conversation1

动作与结束动作(Actions 和 Last Actions)

在交流的开头(或者结尾)你可以执行一些动作。比如为玩家执行一些指令,加药水效果之类,你可以在下下章看到详细信息

actions:
- "give_potion_effect: BLINDNESS;180;1"
- "give_potion_effect: CONFUSION;180;1"

last_actions:
- "remove_potion_effect: BLINDNESS"
- "remove_potion_effect: CONFUSION"

显示名称(Show Name)

此实体的名字是否应该在交流中显示

show_name: false

交流后执行动作(Actions After Dialogue)

此选项新版本已删除

如果此选项设置为true,这个交流的动作将会在对话时间到了以后被执行

actions_after_dialogue: true

保存交流选项(Save Dialogue Option)

交流的一个重要选项就是"保存交流"。在某些情况下你可能会想要你的玩家能够继续之前的对话。比如,在玩家第一次和NPC打招呼时他会说:"你好公民,我能为你做什么?"

但是下一次遇到他时,另一个交流就会被发送,这意味着这个玩家已经和这个NPC交流过了。如果你想要类似这种情况发生,就打开这个选项,这将会为玩家保存这个交流并且能够使用以下变量:

%interactions_has_dialogue_<对话实体>.<对话>.<交流>%

如果玩家已经进行过这个交流了,那么会返回true,否则返回false

save_dialogue_to_player: true

条件性交流(Conditional Dialogues)

条件性交流是对普通交流的替代只会在玩家满足某些需求时被发送。举个例子,我们现在有这样一个交流"你好冒险者, 希望你今天能过的好"

你可以加一个只有当玩家等级低于10的条件性交流来替代这个交流。这可以通过添加以下需求来达到:"%player_level% < 10"

我们现在需要创建一个带其他交流的对话,也就是替代原来对话的那个,然后把条件性交流定向到这个对话上去。在这种情况下你将会创建一个带这个交流的对话:"我不和新手说话"

配置文件看起来应该长这样

conversation1:
    dialogue:
      dialogue1:
        text:
        - '&7你好冒险者, 希望你今天能过的好'
        time: 2
        conditional_dialogue:
          conditional_dialogue1:
            requires:
            - '%player_level% < 10'
            start_conversation: conversation2
conversation2:
    dialogue:
      dialogue1:
        text:
        - '&7我不和新手说话'
        time: 2

所以你可以看见,当玩家等级大于10时就会进行对话1和交流1,否则进行对话2的交流2

你可以在下下下章看到关于需求的详细信息

记住你也可以使用保存交流选项的变量!

conversation1:
    dialogue:
      dialogue1:
        text:
        - '&7你好冒险者, 希望你今天能过的好'
        time: 2
        save_dialogue_to_player: true
        conditional_dialogue:
          conditional_dialogue1:
            requires:
            - '%player_level% < 10'
            start_conversation: conversation2
conversation2:
    dialogue:
      dialogue1:
        text:
        - '&7你好&a%player%'
        time: 2

在这种情况下,玩家第一次和NPC聊天的时候,对话1就会被发送,下一次则是对话2,因为玩家已经进行过之前的对话了

记住,你可以加很多个条件性交流,如果一个交流的条件没有满足,那它会继续检查下一个,如果都没满足,那最初的交流就会被发送

Last updated

Was this helpful?