两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 |
插件手册:betonquest:任务目标 [2018/06/19 17:19] – [经验: experience] JohnHo | 插件手册:betonquest:任务目标 [2021/09/24 13:12] (当前版本) – duangfafa |
---|
====== 任务目标列表 Objectives List ====== | ====== 任务目标列表 Objectives List ====== |
| |
(版本:2017-01-12 翻译:kjiang、JohnHo [[https://github.com/Co0sh/BetonQuest/wiki/Objectives-List/f0d1258128e90c5874cababad45af7d40768ca13|原文链接]]) | (版本:2017-01-12 翻译:kjiang、JohnHo、Crysta11ize [[https://github.com/Co0sh/BetonQuest/wiki/Objectives-List/f0d1258128e90c5874cababad45af7d40768ca13|原文链接]]) |
| |
**//kjiang译注:所有“任务目标objective”都可以在参数里加入''events:'',用来指明会在玩家完成这个任务目标的时候自动触发的事件;以及''conditions:''用来规定需要达成的条件。//** | **//kjiang译注:所有“任务目标objective”都可以在参数里加入''events:'',用来指明会在玩家完成这个任务目标的时候自动触发的事件;以及''conditions:''用来规定需要达成的条件。//** |
| |
**例子**: ''mobkill ZOMBIE 5 name:Uber_Zombie conditions:night'' | **例子**: ''mobkill ZOMBIE 5 name:Uber_Zombie conditions:night'' |
| |
| ===== 击杀怪物/MM怪: mmobkill ===== |
| |
| 玩家需要击杀指定数量MM怪。第一个参数必须是生物的内部名称(在你的mm怪物配置列表里)。您可以选择添加''amount''参数以指定需要击杀的怪物数量。也可以添加可选参数''minLevel''并''maxLevel''设置需要击杀的怪物等级。还可以添加一个可选''neutralDeathRadiusAllPlayers''参数, 范围参数来让范围内所有玩家达成该目标。如果希望在目标实现时向玩家发送通知,则可以添加''notify''关键字。 |
| |
| **例子**: ''mmobkill SkeletalKnight amount:2 events:reward'' |
| |
===== 动作: action ===== | ===== 动作: action ===== |
| |
**例子**: ''smelt IRON_INGOT 5 events:reward'' | **例子**: ''smelt IRON_INGOT 5 events:reward'' |
| |
| ===== 拾取物品: pickup ===== |
| |
| 要完成此目标,您需要拾取指定数量的物品。第一个参数必须是 中定义的项目的内部名称''items.yml''。这也可以是多个项目的逗号分隔列表。您可以选择添加''amount:''参数来指定玩家需要拾取的这些物品的数量。这个数量是一个总数量,它不计算每个单独的物品。您可以使用''notify''关键字在玩家每次推进目标时显示一条消息,可选地在冒号后显示通知间隔。 |
| |
| 您还可以添加''notify''关键字以显示还有多少物品需要取件。 |
| |
| 该目标具有三个属性:''amount''、''left''和''total''。''amount''是已经拾取的物品数量, ''left''是仍需要拾取的物品数量, ''total''是最初需要拾取的物品数量。 |
| |
| **例子** ''pickup emerald amount:3 events:reward notify pickup emerald,diamond amount:6 events:reward notify''。 |
| |
===== 驯服: tame ===== | ===== 驯服: tame ===== |
| |
**例子**: ''tame WOLF 2 events:wolfs_tamed'' | **例子**: ''tame WOLF 2 events:wolfs_tamed'' |
| |
| ===== 骑乘实体: ride ===== |
| |
| 这个目标可以通过骑乘[[https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html|指定实体]]来完成 。 ''any''用来匹配任何实体。 |
| |
| **例子** ''ride horse ride any'' |
===== 延迟: delay ===== | ===== 延迟: delay ===== |
| |
**例子**: ''arrow 100.5;200.5;300.5;world 1.1 events:reward conditions:correct_player_position'' | **例子**: ''arrow 100.5;200.5;300.5;world 1.1 events:reward conditions:correct_player_position'' |
| |
| ===== 跳!: jump ===== |
| |
| 要完成这个目标,玩家必须跳跃。唯一的达成要求是数量。您可以使用''notify''关键字在玩家每次推进目标时显示一条消息,可选地在冒号后显示通知间隔。 |
| |
| 该目标具有三个属性:''amount''、''left''和''total''。''amount''是已经完成的跳跃量, ''left''是仍然需要的跳跃量, ''total''是最初需要的跳跃量。 |
| |
| **例子** ''jump 15 events:legExerciseDone'' |
===== 经验: experience ===== | ===== 经验: experience ===== |
| |
要达成此目标,玩家必须在给定位置上踩上压力板。板块的类型无关紧要。第一个参数也是唯一必需的参数是位置。如果压力板不在该位置, 则目标将无法达成, 并会在控制台中记录错误。 | 要达成此目标,玩家必须在给定位置上踩上压力板。板块的类型无关紧要。第一个参数也是唯一必需的参数是位置。如果压力板不在该位置, 则目标将无法达成, 并会在控制台中记录错误。 |
| |
**例子**: `step 100;200;300;world events:done` | **例子**: ''step 100;200;300;world events:done'' |
| |
===== 登出: logout ===== | ===== 登出: logout ===== |
为了完成这个目标, 玩家只需离开服务器。请记住, 玩家下线1/20秒后,在此处运行 ''floder'' 事件将使其以 ''persistent'' "持久 " 模式运行, 因为玩家在下一个刻度线上处于离线状态。 | 为了完成这个目标, 玩家只需离开服务器。请记住, 玩家下线1/20秒后,在此处运行 ''floder'' 事件将使其以 ''persistent'' "持久 " 模式运行, 因为玩家在下一个刻度线上处于离线状态。 |
| |
**例子**: `logout events:delete_objective` | **例子**: ''logout events:delete_objective'' |
===== 输入密码: password ===== | ===== 输入密码: password ===== |
| |
此目标要求玩家在聊天栏键入密码。第一个参数是密码。所有 ' _ ' 字符被替换为空格。它用 [正则表达式] 进行了检查(可参见https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html)。 (如果您的密码将是''^beton.*beton$'',目标将接受所有以 'beton' 字开头和结尾的密码 ("^" 代表字符串的开头, '. ' 表示任何字符, ' * ' 允许以前的字符 (在本例中为任何) 重复任意次数, "$" 表示字符串的末尾), 但您也可以使用类似'beton'之类的东西-它会起作用)。如果您希望忽略字母大小写, 可以添加可选的''ignoreCase''参数。为此, 您的正则表达式需要使用小写字母。玩家回答是需要键入 (用他的语言, 可在''messages. yml''配置) ' 密码: 这是玩家的猜测 '。如果失败, 则不会在聊天窗口中显示该消息。 | 此目标要求玩家在聊天栏键入密码。第一个参数是密码。所有 ' _ ' 字符被替换为空格。它用 [正则表达式] 进行了检查(可参见[[https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html|正则表达式]])。 (如果您的密码将是''^beton.*beton$'',目标将接受所有以 'beton' 字开头和结尾的密码 ("^" 代表字符串的开头, '. ' 表示任何字符, ' * ' 允许以前的字符 (在本例中为任何) 重复任意次数, "$" 表示字符串的末尾), 但您也可以使用类似'beton'之类的东西-它会起作用)。如果您希望忽略字母大小写, 可以添加可选的''ignoreCase''参数。为此, 您的正则表达式需要使用小写字母。玩家回答是需要键入 (用他的语言, 可在''messages. yml''配置) ' 密码: 这是玩家的猜测 '。如果失败, 则不会在聊天窗口中显示该消息。 |
| |
**例子**: `password beton ignoreCase events:message,reward` | **例子**: ''password beton ignoreCase events:message,reward'' |
| |
===== 钓鱼: fish ===== | ===== 钓鱼: fish ===== |
钓鱼Fishing和宰杀生物具有一样的properties属性。 | 钓鱼Fishing和宰杀生物具有一样的properties属性。 |
| |
**例子**: `fish raw_fish:1 5 notify events:tag_fish_caught` | **例子**: ''fish raw_fish:1 5 notify events:tag_fish_caught'' |
===== 剪羊毛: shear ===== | ===== 剪羊毛: shear ===== |
| |
剪羊毛与宰杀生物具有一样的properties属性。 | 剪羊毛与宰杀生物具有一样的properties属性。 |
| |
**例子**: `shear 1 name:Bob color:black` | **例子**: ''shear 1 name:Bob color:black'' |
| |
===== 附魔物品: enchant ===== | ===== 附魔物品: enchant ===== |
达成此目标需要玩家对指定物品进行附魔达到指定功能。第一个参数是物品名称, 该名称需在''items. yml''中有定义。第二个是附魔的功能''enchantment''和以'':''隔开的附魔级别(附魔功能可参见https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html) 。 | 达成此目标需要玩家对指定物品进行附魔达到指定功能。第一个参数是物品名称, 该名称需在''items. yml''中有定义。第二个是附魔的功能''enchantment''和以'':''隔开的附魔级别(附魔功能可参见https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html) 。 |
| |
**例子**: `enchant sword damage_all:1 events:reward`'':'' | **例子**: ''enchant sword damage_all:1 events:reward`'' |
| |
===== 往箱子放入物品: chestput ===== | ===== 往箱子放入物品: chestput ===== |
达成此目标要求玩家把指定的物品放在指定的箱子里。第一个参数是箱子的位置, 第二个参数是一个物品列表(物品须来自''items yml''文件), 物品间用逗号隔开。您还可以在冒号后添加物品数量。在完成目标后, 这些物品将被删除, 除非您添加可选''items-stay''参数。 | 达成此目标要求玩家把指定的物品放在指定的箱子里。第一个参数是箱子的位置, 第二个参数是一个物品列表(物品须来自''items yml''文件), 物品间用逗号隔开。您还可以在冒号后添加物品数量。在完成目标后, 这些物品将被删除, 除非您添加可选''items-stay''参数。 |
| |
**例子**: `chestput 100;200;300;world emerald:5,sword events:tag,message` | **例子**: ''chestput 100;200;300;world emerald:5,sword events:tag,message'' |
| |
===== 酿造: potion ===== | ===== 酿造: potion ===== |
Potion objective has `amount` and `left:` properties. | Potion objective has `amount` and `left:` properties. |
| |
**例子**: `potion weird_concoction 4 event:add_tag` | **例子**: ''potion weird_concoction 4 event:add_tag'' |
| |
===== 吃/喝: consume ===== | ===== 吃/喝: consume ===== |
| |
| |
**例子**: `consume tawny_owl events:faster_endurance_regen` | **例子**: ''consume tawny_owl events:faster_endurance_regen'' |
| |
===== 变量: variable ===== | ===== 变量: variable ===== |
| |
这个目标是特殊的任务目标,您无法完成它, 它也将忽略定义的事件和条件。你要做的就是开始这个目标。目标活动期间, 玩家在聊天中键入的所有内容 (并匹配特殊模式) 将成为一个变量。模式是 "变量名: 值"(''key: value'')。因此, 如果键入该值, 它将创建一个名为“变量名”''key''的变量, 它将解析为"值"''value''字符串。这种不是全局变量, 您可以将它们作为目标属性访问。假设您在''objectives yml''文件中定义了此目标为''var''。您可以在任何对话、事件或条件中访问变量''% objective.var.key%''。在这个例子里, 它将解析为"值"''value''。玩家可以键入其他内容, 变量将更改其值。变量是每个玩家个人的, 所以不同玩家的相同' 变量名 ' 的变量值也不一定相同, 这取决于玩家自己在聊天中键入的内容。如果你愿意,你想要多少变量就能有多少变量。要删除这个目标,只有使用''objective delete''事件,没有其他方式。 | 这个目标是特殊的任务目标,您无法完成它, 它也将忽略定义的事件和条件。你要做的就是开始这个目标。目标活动期间, 玩家在聊天中键入的所有内容 (并匹配特殊模式) 将成为一个变量。模式是 "变量名: 值"(''key: value'')。因此, 如果键入该值, 它将创建一个名为“变量名”''key''的变量, 它将解析为"值"''value''字符串。这种不是全局变量, 您可以将它们作为目标属性访问。假设您在''objectives yml''文件中定义了此目标为''var''。您可以在任何对话、事件或条件中访问变量''%objective.var.key%''。在这个例子里, 它将解析为"值"''value''。玩家可以键入其他内容, 变量将更改其值。变量是每个玩家个人的, 所以不同玩家的相同' 变量名 ' 的变量值也不一定相同, 这取决于玩家自己在聊天中键入的内容。如果你愿意,你想要多少变量就能有多少变量。要删除这个目标,只有使用''objective delete''事件,没有其他方式。 |
| |
你还可以使用''variable''事件改变目标中的变量数值。有个可选的参数''no-chat'',如果使用这个参数,玩家在对话栏输入的东西将不改变玩家变量的值。 | 你还可以使用''variable''事件改变目标中的变量数值。有个可选的参数''no-chat'',如果使用这个参数,玩家在对话栏输入的东西将不改变玩家变量的值。 |
| |
**例子**: `variable` | **例子**: ''variable key: value'' |
| |
===== 杀死玩家: kill ===== | ===== 杀死玩家: kill ===== |
要达成此目标, 玩家需要杀死另一个玩家。第一个参数是要杀死的玩家数量。您还可以指定其他参数: ''name'' 后跟需要杀死的玩家名。''required''后面跟用逗号','分割的条件列表,''notify''参数将在玩家被击杀时显示提示。 | 要达成此目标, 玩家需要杀死另一个玩家。第一个参数是要杀死的玩家数量。您还可以指定其他参数: ''name'' 后跟需要杀死的玩家名。''required''后面跟用逗号','分割的条件列表,''notify''参数将在玩家被击杀时显示提示。 |
| |
**例子**: `kill 5 required:team_B` | **例子**: ''kill 5 required:team_B'' |
| |
===== 投喂动物: breed ===== | ===== 投喂动物: breed ===== |
要达成此目标,玩家需要喂投指定类型的动物。第一个参数是动物类型 (动物类型可参见https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html) ,第二个是喂投数量 (正整数)。您可以添加通知参数''notify'', 以便在每次喂投动物时显示带有剩余数量的邮件。当您可以指定任何实体时, 只有对象为可喂投的动物,目标才会达成。 | 要达成此目标,玩家需要喂投指定类型的动物。第一个参数是动物类型 (动物类型可参见https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html) ,第二个是喂投数量 (正整数)。您可以添加通知参数''notify'', 以便在每次喂投动物时显示带有剩余数量的邮件。当您可以指定任何实体时, 只有对象为可喂投的动物,目标才会达成。 |
| |
**例子**: `breed cow 10 notify events:reward` | **例子**: ''breed cow 10 notify events:reward'' |
| |