插件手册:betonquest:任务目标

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
插件手册:betonquest:任务目标 [2018/06/19 17:21]
JohnHo [附魔物品: enchant]
插件手册:betonquest:任务目标 [2021/09/24 13:12] (当前版本)
duangfafa
行 1: 行 1:
 ====== 任务目标列表 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:''用来规定需要达成的条件。//**
行 28: 行 28:
  
 **例子**: ''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 =====
行 57: 行 63:
  
 **例子**: ''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 =====
  
行 65: 行 82:
 **例子**: ''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 =====
  
行 79: 行 101:
 **例子**: ''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 =====
  
行 95: 行 124:
 为了完成这个目标, 玩家只需离开服务器。请记住, 玩家下线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''
行 150: 行 178:
 ===== 变量: 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 =====
  • 插件手册/betonquest/任务目标.1529400112.txt.gz
  • 最后更改: 2018/06/19 17:21
  • JohnHo