• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

GuillaumeVDN的插件文档/QuestCreator/详细特性:修订间差异

来自Minecraft插件百科
跳转到导航 跳转到搜索
第513行: 第513行:


= 任务点数 =
= 任务点数 =
任务点数分成了不同类别,所以你可以有多个不同的点数排行榜。你必须在<code>/points_categories.yml</code>内注册类别。


Quest points are separated in different categories, so you can have different points leaderboards. You have to register those categories in <source lang="yaml">/points_categories.yml</source>.
你可以使用SERVER_LOGIC_POINTS或LOGIC_QUEST_POINTS来修改任务点数。


You can modify those points using the [http://www.guillaumevdn.com/plugins/doc/#/questcreator/detailed/quest_objects_types_server?id=type-server_logic_points SERVER''LOGIC''POINTS] object and use them as a requirement using the [http://www.guillaumevdn.com/plugins/doc/#/questcreator/detailed/conditions?id=type-logic_quest_points LOGIC''QUEST''POINTS] condition.
输入<code lang="yaml">/qc points</code>指令可以查看并修改任务点数。任务点数可以显示在GUI内,排名GUI会显示玩家的任务点数。
 
They can be seen and manipulated using the <source lang="yaml">/qc points</source> command. You can display them in GUIs and open ranking GUIs that will display the player’s points.


=任务目标=
=任务目标=

2020年11月27日 (五) 07:36的版本

GuillaumeVDN的插件文档
页面

GuillaumeVDN的插件文档 · 迁移

所有插件都有的常见内容

配置 · 杂项 · 关联

QuestCreator

基础内容 · 示例 · 详细特性 · 高级内容 · 关联

任务模型

全部模型设置

显示

display_name: '&a任务显示名'
 
 description: |
   &7任务描述
   &7任务描述第二行
 
 description_placeholder: |
   &7多行占位符
   &7可和PlaceholderAPI一同使用(见通用变量)
 
 information_message: >
   &a当玩家点击任务物品而未开始任务时发送的消息
 
 progress_notify:
   # …… 每隔一段时间发送给玩家的进度提醒(见通用配置/提醒)
 
 progress_notify_scoreboard: true  # 允许任务显示在计分板上
 
 # 显示优先度
 # 优先度从低到高排序。如果A的优先度为1,B的优先度为2,则A的优先度更高。
 # 你可以用这个来决定任务显示在actionbar、计分板等地方的优先度。
 # 插件会根据优先度分类任务。如果优先度相同,则优先显示进度最新的任务。
 # 这是可选设置,没有设置优先度的任务低于设置了优先度的任务。
 # 请注意GUI物品不会影响这个优先度
 display_priority: 1

GUI物品

任务可以显示在GUI中。你可以给每个任务模型设定物品列表(最终取决于其当前状态)。

要记住,不同的任务状态会有不同的控制选项和lore。比如停止或开始任务以下是可配置的消息。

status_items:
   AVAILABLE:
     # 可开始任务的物品图标
   PROGRESS:
     # 任务进行中的物品图标
   COOLDOWN:
     # 任务冷却中的物品图标
   UNAVAILABLE:
     # 无法开始任务的物品图标
   COMPLETED:
     # 任务完成的物品图标(达到最大完成次数时显示)
 
 all_status_items:
   # 全部状态都显示为同一物品
   # 如果一个状态没有物品,则插件会自动使用一个物品

全部状态的占位符:

  • {quest}:任务名
  • {description}:任务描述
  • {controls}:根据玩家能做什么显示的动态控制列表;如果没有控制,则该占位符为空
  • {completions}:该任务的完成文本;如果任务未完成,则该占位符为空
  • {last_completion}:该任务的上次完成文本;如果未完成过任务,则该占位符为空
  • {cooldown}:该任务的冷却文本;如果没有任务冷却,则该占位符为空
  • {detailed_progression}:该任务的详细进度;如果任务未激活,则该占位符为空
  • {detailed_errors}:显示玩家无法开始的原因的文本;如果如果不是“无法使用”状态,则该占位符为空

PROGRESS状态的占位符:

  • {players}:多个玩家名;如果不是多人任务,则该占位符为空
  • 你也可以使用上面列出的任务占位符。

限制

permission_start_restriction: questcreator.quest.my_quest  # 开始任务所需权限
 
 conditions_start_restriction:
   # …… 开始任务所需条件(见条件)
 
 world_restriction:  # 世界限制
   whitelist: |
     list_of_worlds
     to_allow
   blacklist: |
     list_of_worlds
     to_deny
 
 command_restriction:  # 任务进行时无法使用的指令
   whitelist: |
     /list of commands
     /to allow
   blacklist: |
     /list of commands
     /to deny

完成/限时/冷却

completion:
   max_completions: 10  # 该任务的最大可完成次数
   apply_actor_restriction:
     # …… 只对一些身份的玩家将任务标记为已完成 (见“杂项/身份”)
   notify:
     SUCCESS:
       # …… 任务完成时发送的提醒(见“通用配置/提醒”)
     # …… 键:SUCCESS、FAIL、CANCEL
   notify_coop:
     SUCCESS:
       # …… 如果完成时发送的提醒(多人任务)
     # …… 键:SUCCESS、FAIL、CANCEL
 
 time_limit:
   duration: 1 HOUR  # 任务限时
   reminder:
     # …… 发送提醒玩家剩余时间的消息(见“通用配置/提醒”)
     # - 显示剩余时间的占位符:{time}
   fail_goto: QUEST_FAIL  # a goto to apply when the time is over
 
 cooldown:
   duration: 12 HOUR
   end_types: [SUCCESS]  # 只对一些结束类型使用冷却;值:SUCCESS、FAIL、CANCEL、COOP_LEAVE
   apply_actor_restriction:
     # …… 只对一些身份的玩家设置冷却(见“杂项/身份”)

同时进行任务数/玩家/组队

max_concurrent_instances: 5  # 任务最大同时进行数
 
 # 如果已达任务同时进行数上限,则将玩家加入到队列中
 max_concurrent_instances_queue: true
 
 # 玩家数上下限(包括队长)
 min_players: 1
 max_players: 3  # 设置为大于1的值则允许多人任务
 
 # 允许组队玩家离开任务,该数值需小于最大玩家数
 # 如果组队人数低于该值,则剩下的组队玩家无法离开任务
 min_active_players: 2
 
 allow_leader_stop: true  # 允许队长停止任务
 
 # 队长掉线时的处理方式
 # 设置为false则队长掉线后队员仍能继续进行任务
 # 如果你在任务中使用了变量则不推荐设置为false
 dispose_on_leader_disconnect: true
 
 # 允许队员解析任务设置
 # 如果你的设置包含变量,我建议开启该选项
 only_leader_parsing: true
 
 notify_coop_player_leave:
   # …… 组队玩家离开任务时发送的提醒

保存

saving: ENABLED

值 :

  • ENABLED:保存任务到磁盘/数据库中
  • PLUGIN_ACTIVE:只要加载了插件,任务就会持续活跃
  • PLAYER_ONLINE:只要加载了插件且玩家在线,任务就会持续活跃

变量

# 默认模型变量值
 model_variables:
   my_variable: 默认值

激活器

# 该任务的激活器(详见“任务激活器”)
 activators: |
   first_activator
   second_activator
 
 # 在正式开始任务前发送的对话(只对物理激活器有效)
 # 玩家每激活一次激活器就发送一条对话
 # 发送完全部对话后,玩家可以打开开始任务的确认GUI
 activators_dialog: |
   &7我找你有事!
   &7你想要开始任务吗?
 
 # 自动向范围内的玩家发送第一条对话
 activators_dialog_auto_start_distance: 3.5
 
 # 在特定条件下重置对话
 activators_dialog_reset:
   reset_delay: 30 SECOND  # 在一段时间后重置
   reset_distance: 5  # 在玩家走远后重置
   reset_notify:
     # …… 对话重置时发送的提醒

分支/目标

# 任务的分支
 branches:
   branch_1:
     # …… 见任务分支
   branch_2:
     # …… 见任务分支
 
 # 对一些结束类型的任务执行目标
 end_objects:
   SUCCESS:
     # …… 任务完成时执行的目标列表
   FAIL:
     # …… 任务失败时执行的目标列表
   CANCEL:
     # …… 任务取消时执行的目标列表
   COOP_LEAVE:
     # …… 多人任务取消时执行的目标列表
 
 # 对离线的组队玩家执行结束目标(在玩家重新登录后执行):
 end_objects_for_offline_players: true

任务分支

分支设置

starts_directly: true  # 在任务开始时自动开始分支
 
 starts_at: OBJECT_1  # 分支开始时的目标
 
 # 该分支的目标列表
 objects:
   OBJECT_1:
     # …… 见任务目标
   OBJECT_2:
     # …… 见任务目标

分支类型

默认分支类型:

type: NONE  # 这是默认类型,你可以不填该选项
 
 display_name: >  # 分支显示名(可选)
   &a分支

隐藏分支,该分支不会显示在进度中:

type: SECRET

独立分支

独立分支对多人任务有实际意义。如果你用独立分支来制作单人任务,那么它的效果就和普通分支基本一样,不过整体比较混乱,所以请不要这么做。

独立分支是针对任务中的每个玩家的。所以,玩家GuillaumeVDN可以有一个运行中的独立分支my_branch,而玩家Notch可以在这个分支内有不同的状态,甚至未激活该分支。

独立分支主要用来执行作用于单个玩家的效果,或者让任务中的玩家有不同的进度。你可以在SERVER_ACTIONS目标中手动触发,也可以在每个事件目标中触发。

比如:

branches:
 
   TRIGGER_BRANCH:
     starts_directly: true
     starts_at: TRIGGER
     objects:
       TRIGGER:
         type: PLAYER_CONNECT
         goto_individual_branches: [INDIVIDUAL_BRANCH]  # 对重连的玩家开始独立分支
         goto: OBJECT TRIGGER  # 循环激活器以使其常时有效
 
   INDIVIDUAL_BRANCH:
     starts_directly: false
     starts_at: EFFECT
     objects:
       EFFECT:
         type: SERVER_PLAYER_EFFECTS_GIVE
         start_notify:
           message: >
             &a欢迎回来{player}&a!这是你的速度 II。
         effects:
           a:
             type: SPEED
             amplifier: 1
             duration: 1 MINUTE
         # 无goto,该分支会立即停止
         # 只有第一个重连的玩家会获得速度 II的效果。

需要注意的是,从独立分支调用的goto将被用于独立分支。例如,如果你的分支MY_BRANCH的goto是从一个独立分支中调用的,那么该分支将为同一个人开始,而不是整个任务。

任务激活器

激活器位于/quest_activators/

激活器设置

和目标或模型不同的是,激活器没有通用设置。其全部设置与其类型有关,唯一的通用设置就是其类型。

type: AUTO  # 示例

激活器类型

NONE|无

没有类型的激活器(内部使用;该激活器无法开始任务)。

AUTO|自动

每隔一段时间自动开始任务。

type: AUTO
delay: 15 SECOND  # 检测延迟

POSITION|位置

每当玩家匹配特定位置时自动开始任务。

type: POSITION
position:
  # …… 开始任务所需匹配的位置(见“通用配置/位置”)
delay: 15 SECOND  # 检测延迟

物理激活器

物理激活器也有通用设置。

显示设置

对于每个激活器,你可以根据激活器的当前状态指定一个粒子脚本列表。

particles:
  AVAILABLE: script_id  # 开始任务时执行的脚本
  PROGRESS: script_id  # 任务活跃时执行的脚本
  COOLDOWN: script_id  # 任务冷却中执行的脚本
  UNAVAILABLE: script_id  # 任务无法开始时执行的脚本
  COMPLETED: script_id  # 任务完成时执行的脚本(达到完成次数上限)

particles_location:
  # …… 基于激活器位置的位置适配器。(见通用配置/相对位置)

使用激活器的任务会根据任务状态进行分类。比如如果有一个可进行的任务和一个冷却中的任务,则粒子脚本会为可进行任务显示粒子效果。

交互设置

interaction_clicks: [LEFT_CLICK,RIGHT_CLICK]  # 触发交互所需点击类型
                                              # 一些激活器只有右击有效(特别是NPC激活器)

sneak_click_cancel: true  # 允许通过潜行与NPC交互来取消任务

GUI设置

custom_gui: gui_id  # 将已配置GUI链接至该激活器,而非根据当前激活器状态生成GUI

gui_name: >  # 激活器的GUI名称
  &a激活器
gui_type: CHEST_6_ROW  # 激活器GUI类型(见通用配置/GUI类型)

gui_show_status: [AVAILABLE,PROGRESS]  # 激活器GUI内可用的状态(留空则可用于全部状态);值:AVAILABLE、PROGRESS、COOLDOWN、UNAVAILABLE、COMPLETED

required_gui_quests: 5  # 只在有至少X个可进行的任务时可打开GUI

POSITIONS_INTERACT|位置交互

任务会在玩家与特定位置的方块交互时自动开始。

type: POSITIONS_INTERACT
positions:
  # …… 开始任务所需匹配的位置

ENTITIES|实体

任务会在玩家与特定实体交互时自动开始。

type: ENTITIES

entity_types: [CREEPER]  # 允许的实体类型(留空则允许全部);值:https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html

entity_names: []  # 允许的实体自定义名称(留空则允许全部)

entity_colors: []  # 允许的实体颜色(留空则允许全部)

任务池

任务池位于 /quest_pools/

设置

display_name: My pool  # 任务池显示名

time_frames:
  a:
    # …… 见“通用配置/时间范围”
  b:
    # …… 见“通用配置/时间范围”

quests:  # 首次处理
  quest_id_1:
    #任务配置(见下方任务配置部分)
  quest_id_2:
    #任务配置(见下方任务配置部分)

quest_groups:  # 二次处理
  group_id_1:
    # 任务组配置(见下方)
  group_id_2:
    # 任务组配置(见下方)

order: RANDOM  # 遵循任务组的处理顺序或随机选取;值:IN_ORDER|顺序、RANDOM|随机选取

amount: 2  # 在每个时间段内,该任务池将为多少个任务或任务组提供任务券。
           # 每个获得券的任务会降低1点该值
           # 每个至少有一个任务的组获得券会降低1点该值

amount_tolerance: COUNT_STARTED  # 从要给的券数中减去(或不减去)活跃的任务/组的数量。
                                 # 值:COUNT_STARTED、DONT_COUNT_STARTED

rewards:
  a:
    # 奖励配置(见下方奖励配置部分)
  b:
    # 奖励配置(见下方奖励配置部分)

任务配置

process_conditions:
  # …… 处理该池所需条件

pre_reset_token: true  # 在选取任务前重置该任务的券数
pre_stop: true  # 在选取任务前停止该任务
pre_reset_history: true  # 在选取任务前重置任务历史

selected_reset_token: true  # 如果选取该任务则重置任务券
selected_stop: true  # 如果选取该任务则停止任务
selected_reset_history: true  # 如果选取该任务则重置任务历史

min_tokens: 1  # 随机给予券数下限
max_tokens: 2  # 随机给予券数上限

refund_token_on_end_types: [CANCEL]  # 如果任务以特定类型结束则退回任务券;值:SUCCESS|成功、FAIL|失败、CANCEL|取消、COOP_LEAVE|多人任务离开

池组设置

process_conditions:
  # …… 处理该池所需遵循的条件(详见“条件”)

pre_reset_token: true  # 在选取任务前重置该任务的券数
pre_stop: true  # 在选取任务前停止该任务
pre_reset_history: true  # 在选取任务前重置任务历史

selected_reset_token: true  # 如果选取该任务则重置任务券
selected_stop: true  # 如果选取该任务则停止任务
selected_reset_history: true  # 如果选取该任务则重置任务历史

amount: 1  # 选取该组时给予券的任务数

min_tokens: 1  # 选取该组时随机给予的券数下限
max_tokens: 2  # 选取该组时随机给予的券数上限

refund_token_on_end_types: [CANCEL]  # 如果任务以特定类型结束则退回任务券;值:SUCCESS|成功、FAIL|失败、CANCEL|取消、COOP_LEAVE|多人任务离开

奖励配置

你可以给玩在一段时间内完成任务池的玩家添加奖励。更具体地说,一个任务池将被视为“已完成”,当玩家完成该池中的全部任务且池中没有更多有券的任务时,将会获得奖励。

奖励以任务目标的形式发放。只有时间驱动型目标才能发放奖励,而时间驱动型目标主要是服务器目标。

奖励列表内的每个目标如果符合池的特定连续完成数,就可以专一执行。当玩家在一个时间范围内完成任务池时会增加一次连续完成次数。当玩家仍有任务券完成池中任务而插件必须重处理任务时,连续完成数会重置为0。

object:

  # …… 执行的目标(见“任务目标”)



min_streak: 1  # 执行目标所需最低连续完成数

max_streak: 5  # 最高连续完成数:如果连续完成数大于该值则不会执行目标

任务组

你可以创建使用一些属性的任务组。任务组位于/quest_groups/

分组设置

models: [quest_1,quest_2]  # 组内的任务

max_concurrent: 1  # 可同时进行组内的任务数

execution_order: true  # 需要玩家按顺序完成任务

Goto|前往类型

普通:

  • OBJECT <同一分支的目标>:设置当前分支的目标(可以是同一目标)
  • BRANCH <分支id>:停止当前分支并开始其它分支

任务结束:

  • QUEST_SUCCESS:停止任务并标记为成功完成
  • QUEST_SUCCESS_THEN_START:停止任务并标记为成功完成,然后开始其它任务
  • QUEST_SUCCESS_THEN_START_BYPASS:停止任务并标记为成功完成,然后开始其它任务(忽略任务开始条件限制)
  • QUEST_FAIL:停止任务并标记为任务失败
  • QUEST_FAIL_THEN_START:停止任务并标记为任务失败,然后开始其它任务
  • QUEST_FAIL_THEN_START_BYPASS:停止任务并标记为任务失败,然后开始其它任务(忽略任务开始条件限制)
  • QUEST_CANCEL:取消任务
  • QUEST_CANCEL_THEN_START:取消任务,然后开始其它任务
  • QUEST_CANCEL_THEN_START_BYPASS:取消任务,然后开始其它任务(忽略任务开始条件限制)
  • QUEST_COOP_LEAVE:离开任务。如果玩家在多人任务则可以离开任务(在独立分支里很有用)
  • QUEST_COOP_LEAVE_OR_STOP:离开任务。如果玩家在多人任务内则可以离开或取消任务

任务身份

你可以仅对部分任务身份的玩家应用一些目标和设置。

对于玩家驱动型目标,该设置会限制哪些玩家可以执行这类目标。对于服务器驱动型目标,该设置会限制应用的目标会给予谁效果。

身份类型:

  • NONE|无:无身份限制
  • ROLE LEADER|队长:仅限任务队长
  • ROLE COOP:仅限组队玩家(除了队长之外的玩家)
  • RANDOM:随机选取一名任务中的幸运玩家
  • JOIN_ORDER <数字列表,用空格分隔>:仅限特定加入顺序的玩家:从0开始排序或第一个加入任务的玩家总是会成为队长

示例:JOIN_ORDER 1 2会是第一和第二个加入任务的玩家。 JOIN_ORDER 2会是第二个加入任务的玩家。

检查点

每个任务最多可以有一个活跃的检查点。当一个定义了检查点的目标开始时,它会覆盖当前的检查点。

checkpoint:

  # 检查点保存的东西
  save_location: true  # 保存全部玩家的位置
  save_specific_location: world,x,y,z  # 保存特定位置而非玩家位置
  save_branches: true  # 保存全部分支的当前状态
  save_individual_branches: true  # 保存全部独立分支的当前状态
  save_model_variables: true  # 保存当前模型的变量
  save_user_variables: []  # 保存的用户变量

  # 何时回到检查点
  restore_on_respawn: RESTORE_TYPE  # 当玩家重生时
  restore_on_connect: RESTORE_TYPE  # 当玩家重连时
  restore_on_resume: RESTORE_TYPE  # 当任务暂停时
  restore_conditons:
    # …… 会导致回到检查点的一些额外条件(见“条件”)
  individual_restore_conditons:
    # …… 会导致回到独立检查点的一些额外条件(见“条件”)

RESTORE_TYPE可以是GLOBAL|全局INDIVIDUAL|个人NONE|无。 Global会回到整个任务的检查点,INDIVIDUAL会让特定玩家回到特定位置和独立分支。如果玩家GuillaumeVDN单独回到了检查点,组队的玩家Notch不会回到检查点位置或独立分支。

任务点数

任务点数分成了不同类别,所以你可以有多个不同的点数排行榜。你必须在/points_categories.yml内注册类别。

你可以使用SERVER_LOGIC_POINTS或LOGIC_QUEST_POINTS来修改任务点数。

输入/qc points指令可以查看并修改任务点数。任务点数可以显示在GUI内,排名GUI会显示玩家的任务点数。

任务目标

设置

显示设置

预目标设置

激活设置

目标结束设置

位置设置

所需物品设置

进度条件设置

事件驱动目标设置

计时驱动目标设置

特殊类型

NONE|无

GROUP|分组

RANDOM|随机前往

CONDITIONS_SWITCH|条件切换

LOGIC_SWITCH|逻辑切换

DIVERGE_CHAT|聊天分支

DIVERGE_GUI|GUI分支

DIVERGE_OBJECTS|目标分支

PLAYER玩家类型

方块

实体

物品

移动

物理

其它

SERVER服务器类型

SERVER_ACTIONS|服务器操作

实体

物品

物理

逻辑

其它

条件

设置

条件元素

条件配置

类型

GUI

GUI

物品设置

物品类型