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

GuillaumeVDN的插件文档/QuestCreator/高级内容

来自Minecraft插件百科
Qsefthuopq讨论 | 贡献2020年11月29日 (日) 14:14的版本 (创建页面,内容为“{{模板:VDNBox}} = 变量 = 插件有一个可影响任务的内置变量系统。例如,你可以用它来记住一名玩家在任务A中做出的抉择,并因…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
GuillaumeVDN的插件文档
页面

GuillaumeVDN的插件文档 · 迁移

所有插件都有的常见内容

配置 · 杂项 · 关联

QuestCreator

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

变量

插件有一个可影响任务的内置变量系统。例如,你可以用它来记住一名玩家在任务A中做出的抉择,并因此在任务B中显示不同的抉择选项,而这将存储在用户变量中。

每个变量都是一行文本。变量可以包含数字,并用在解析逻辑或在数学公式中。

变量名对大小写敏感:MyValue不等于myvalue

如果变量没有值,则该变量值会显示为0

用户变量

每名玩家的用户变量都是特有的。如果有一个名为my_variable的变量,那么它对GuillaumeVDN而言的值是1 ,而对Notch而言的值是2

你可以在这里配置变量默认值:/plugins/QuestCreator/default_variables.yml

variable_1: 0
 variable_2: 'default'

模型变量

模型变量用于活跃的任务中,任务结束后这些变量就会被废弃。这些变量可能只在进行任务时有用,而对未来的任务并不重要。

你可以在每个任务模型中配置变量默认值。

服务器变量

这些变量用于服务器。服务器变量值对所有的玩家都一样。

你可以在这里配置服务器变量默认值:/plugins/QuestCreator/server_variables.yml

server_variable_1: 0
 server_variable_2: 'default'

全局变量

全局变量拥有固定值且无法修改。它主要用于避免你在任务中重复编写相同内容。它就相当于宏,你可以在配置内的某个地方使用{gvariable:<variable>}来获取全局变量。

全局变量包含其它变量或占位符。

你可以在这批配置全局变量默认值:/plugins/QuestCreator/global_variables.yml

message_prefix: '&6[QuestCreator] &7'
 sample_variable_placeholderapi: '嘿,%player_name%'
 sample_variable_qc: '{variable:my_variable} is the value'
 sample_spawn_location: 'world,0,64,0'
 sample_player_location_through_papi: '%player_world%,%player_x%,%player_y%,%player_z%'


全局元素

为避免重复,你可以用全局元素来配置几乎全部的元素类型,其位于/global_<element type>/

比如在这个分支里,玩家重连服务器时会获得药水效果:

branches:
 
   MAIN_BRANCH:
     # 任务内容
 
   ANOTHER_BRANCH:
     # 其它任务分支
 
   RECONNECT_EFFECTS:
     starts_directly: true
     starts_at: TRIGGER
     objects:
     TRIGGER:
       type: PLAYER_CONNECT
       goto: OBJECT EFFECT
     EFFECT:
       type: SERVER_PLAYER_EFFECTS_GIVE
       start_notify:
       message: >
         &a欢迎回来,{player}&a!这是你的速度 II效果。
       effects:
         a:
           type: SPEED
           amplifier: 1
           duration: 1 MINUTE
       goto: OBJECT TRIGGER  # 循环触发

你不需要复制粘帖该分支到你的全部任务内,你可以在/global_branches/RECONNECT_EFFECTS.yml内创建一个全局分支:

starts_directly: true
 starts_at: TRIGGER
 objects:
   TRIGGER:
     type: PLAYER_CONNECT
     goto: OBJECT EFFECT
   EFFECT:
     type: SERVER_PLAYER_EFFECTS_GIVE
     start_notify:
       message: >
         &a欢迎回来,{player}&a!这是你的速度 II效果。
     effects:
       a:
         type: SPEED
         amplifier: 1
         duration: 1 MINUTE
     goto: OBJECT TRIGGER  # 循环触发

只需要一行文本,你就可以在你的实际任务模型里面引用这个分支。

你可以通过将元素键设置为global@<全局元素id>和一个任意值来引用全局元素,如下示例:

branches:
 
   MAIN_BRANCH:
     # 任务内容
 
   ANOTHER_BRANCH:
     # 其它任务分支
 
   global@RECONNECT_EFFECTS: /
 
   global@ANOTHER_EASY_GENERIC_BRANCH: /</code>

== 全局任务目标 ==
全局任务目标只有一点不同:你仍可以配置goto:
<source lang="yaml">objects:
 
   SOME_OBJECT:
     # 普通本地目标
 
   global@COOL_GLOBAL_OBJECT:
     goto: OBJECT NEXT_COOL_GLOBAL_OBJECT
 
   global@NEXT_COOL_GLOBAL_OBJECT:
     goto: OBJECT ANOTHER_OBJECT
 
   ANOTHER_OBJECT:
     # 其它普通本地目标

功能性任务

功能性任务是基本没有用户显示和限制的任务。它对于创建一些特性很有用,你可以用QuestCreator的任务分支/目标轻松地创建功能性任务。你可以用功能性任务做任何事情:当玩家进入一片区域,与一个方块交互,杀死一个实体等时,执行一些效果。你可以使用所有的玩家和服务器目标类型(不包括特殊类型)。

功能性任务实际上并不会被保存,它们在玩家连接时自动启动(根据条件自动启动),并在玩家断开连接时被丢弃。它们无法拥有激活器或结束目标。

它拥有大部分常规任务模型的设置,但没有大部分的用户显示:它没有提醒、显示名、描述、信息、GUI物品等。它也没有一些时间设置,如模型时间限制或冷却。它们不能在多人任务中运行,因为它们是针对每个玩家的,且没有玩家相关的设置。

它位于/quest_models_functional/