Minecraft(我的世界)中文论坛

标题: [Wiki][多人插件] BetonQuest-具体任务Wiki翻译 第十章:目标列表

作者: WM2030    时间: 2017-2-10 10:34
标题: [Wiki][多人插件] BetonQuest-具体任务Wiki翻译 第十章:目标列表
目标:位置(location)

当玩家移动至某一特定范围中并且符合其他所有条件时该目标达成。该目标的第一个参数位置坐标(格式必须像100;200;300;world;5一样)其中100是X轴的坐标值,200是Y轴的坐标值,300是Z轴的坐标值,world是世界的名称,而5是范围。所有的条件参数和事件参数必须在位置坐标参数之后填写。坐标必须是有效的双精度浮点数据(浮点必须是“.”)。而世界名称所指代的必须是已加载的世界。
目标:位置有一个属性,即位置。这一属性是一个以“X: 100, Y: 200, Z:300”格式出现的字符串。这一属性中不包含关于范围的描述。
示例:
  1. location 100;200;300;world;5 condition:test1,!test2 events:test1,test2
复制代码



目标:方块

玩家破坏或放置特定数量方块之后该目标达成。该目标的第一个参数是方块种类的名称以及该方块的数据值。(在方块名之后加上冒号以使用数据值参数,例如:WOOD:2指的是白桦木板)您可以在Bukkit参考页面上查阅方块种类名(material types)。第二个参数是数量。如果您输入一个正数,则要求玩家放置这一数量的方块;如果您输入一个负数,则要求玩家破坏这一数量的方块。您也可以加上“notify”这一关键词,这样玩家就可以看到自己还需要放置或破坏多少方块才能完成任务了。
这一目标有两个属性,即数量和剩余数量。数量属性指当前已经完成的数量。剩余数量属性指达成目标所需要的数量。注意:剩余数量可能是个负数。
示例:
  1. block LOG:2 -16 events:reward notify
复制代码



目标:击杀生物

当玩家击杀特定数量的某种生物之后该目标达成。您必须要指定所需击杀生物的种类,之后指定所需击杀生物的数量。您可以在生物列表页面找到生物的种类。另外,您也可以使用“name:x”(比如 name:Uber_Zombie)指定所需击杀生物的名字,如此一来就只会将有特定名字的生物计入击杀数了。生物的名字里含有的空格都应该用“_”替代。因此在我给出的示例中,玩家需要击杀五只头上顶着“Uber Zombie”的僵尸。您也可以输入“notify”这一关键词,这样每次玩家击杀指定生物的时候就会有提示弹出。
这一目标同样有两个属性,即数量和剩余数量。数量属性指当前已经击杀指定生物的数量。剩余数量属性指达成目标所需要的数量。
示例:
  1. mobkill ZOMBIE 5 name:Uber_Zombie conditions:night
复制代码



目标:动作

当玩家点击指定种类的方块时即达成该目标。这一目标可以被条件:位置和条件:手持物品进一步限制。该目标的第一个参数必须在“left”(左击)、“right”(右击)或是“any”(任意)中选择一项。第二个参数是方块种类,您可以选择加上一个冒号并紧接着填写数据值。您也可以使用“loc:”参数来指定位置,冒号之后填写带有范围的标准位置坐标(格式就像之前在目标:位置中说过的那样)。“loc:”参数将会定义玩家需要点击的方块的位置坐标,而不是玩家本身的坐标。如果您加上一个“cancel”参数,那么点击的动作将不会生效。(比如说箱子不会因为点击而打开之类的)
这一目标有一个属性,即位置。这一属性是一个以“X: 100, Y: 200, Z:300”格式出现的字符串。这一属性中不包含关于范围的描述。
示例:
  1. action right DOOR:1 conditions:holding_key loc:100;200;300;world;5
复制代码



目标:死亡

当玩家符合一切条件且角色死亡时达成该目标。您可以加上一个“cancel”参数,那么玩家将会免于一死,并且被完全治愈。您也可以选择是否把玩家传送回出生点。这一目标含有两个参数。第一个参数是“cancel”,第二个参数是“respawn”。这两个参数都是可有可无的,并且只有当您加入了“cancel”参数时,“respawn”参数才是有效的。使用时只需要紧跟着目标名,根据需要填写这两个参数就行了。
示例:
  1. die cancel respawn:100;200;300;world;90;0 events:teleport
复制代码



目标:合成

玩家在工作台上合成出某一特定物品时达成此目标。该目标的第一个参数是物品种类。您可以通过加上个冒号的方式来指定数据值。第二个参数是数量,这一参数必须是正数。
目标:工作台合成有两个属性,即数量和剩余数量。数量属性指当前已经合成指定物品的数量。剩余数量属性指达成目标所需要的数量。
示例:
  1. craft WOOD:0 10 events:reward
复制代码



目标:熔炼

玩家在熔炉中熔炼出某一特定物品时即达成此目标。值得注意的是,您需要指定熔炼成品而不是指定熔炼的原料,同时您也不能指定熔炼成品的数据值。该目标的第一个参数是物品种类,第二个参数是数量。
该目标的属性与目标:合成一模一样,不再赘述。
示例:
  1. smelt IRON_INGOT 5 events:reward
复制代码



目标:驯服

当玩家驯服一定数量的生物之后达成此目标。该目标第一个参数是生物种类,这一参数只允许在“WOLF”(狼)、“OCELOT”(豹猫)或“HORSE”(马)三个选项中选择。第二个参数是玩家需要驯服的数量。
该目标与目标:击杀生物具有同样的属性
示例:
  1. tame WOLF 2 events:wolfs_tamed
复制代码



目标:等待

当玩家坚持等待一段特定长度的时间之后就达成了该目标。在一段时间(以分为单位)后,如果玩家符合所有附加条件且在线,这一目标将会自动达成。如果时限已到,但玩家不在线,则当玩家上线时这一目标会自动达成。然而这一目标的统计机制并不特别准确,玩家需要等待的时间可能会被设定时间多出一分钟。您可以试着利用这一特性,比如说删除一些标签,这样玩家就能多次完成任务。该目标的第一个参数是分钟数。剩下的就和其他目标一样。
目标:等待有两个属性,剩余时间和结束日期。第一个属性将会显示剩余需要等待的时间((比如:23 天, 5 小时 45 分钟),而第二个属性则是任务达成的时间点。这一时间点的格式可以在config.yml中设置。(这个时间点的格式看起来就和服务器日志开头的一样)
示例:
  1. delay 1440 events:event1,event2
复制代码



目标:射箭

当玩家用弓箭射中某个靶标时达成该目标。该目标只有一个参数,就是靶标位置和设计精确度(这是一个参数!),举个例子就好比“100.5;200.5;300.5;world;1.1”,这里的1.1就是精确度。值得注意的是,箭的命中位置必须是在方块的侧面或是落入某个方块中,如果射出的箭命中了其他东西,好比一个生物的脑袋,这样的情况下未必能给出正确的反馈。
示例:
  1. arrow 100.5;200.5;300.5;world;1.1 events:reward conditions:correct_player_position<font size="4"></font>
复制代码



目标:经验值

当玩家经验值达到某一等级时达成该目标。此处的经验值指的是Minecraft原版经验值。该目标达成条件的检测仅发生在玩家等级提升时,因此如果玩家错过了达成这一目标的机会,就需要在升至下一等级时才能达成这一目标。该目标唯一的参数是需要达到的等级,这一数值必须是整数。
示例:
  1. experience 25 events:reward
复制代码



目标:踩上压力板

当玩家踩上特定位置的压力板时达成该目标。这一目标无法检测压力板的种类,该目标唯一的参数就是位置。位置的格式可以仿照“100;200;300;world”来填写。如果给定的位置不存在压力板,那么这一目标时无法达成的。
目标:踩上压力板仅有一个属性,即位置。该属性为一个格式类似“X: 100, Y: 200, Z:300”的字符串。这一属性可以显示需要被踩中的压力板的确切位置。
示例:
  1. step 100;200;300;world events:done
复制代码



目标:注销

当玩家离开服务器时就可以达成这一目标。请注意“running folder”这一事件将会使这一目标处于“persisitent”(持续运行)模式,因为它可以检测到下一游戏刻中玩家不在线。
示例:
  1. logout events:delete_objective
复制代码



目标:输入密码

当玩家在对话栏中输入自己的密码时可以达成这一目标。该目标的第一个参数是密码。所有的“_”符号必须用空格代替。这一目标将会根据“regular expressions”中的规则来检测。
举个例子:如果您的密码是“^beton.*beton$”,那么只要输入任何以“beton”开头,又用“beton”结尾的密码,这个目标都会达成。(“^”表示字符串的开始,而“.”表示这个位置可以是任何字符,“*”表示星号之前的字符(这里的字符就是“.”,因此可以以任意次数重复任意字符。亦即在这一段内,无论什么内容都是符合要求的)可以任意重复。最后“$”是字符串的终止符。),当然如果您只是在这个参数中输入一个“beton”,它也同样会生效。但如果您希望这一目标忽略玩家输入内容的前缀后缀,您可以选择加上“ignoreCase”参数。这样的情况下,玩家必须使用“regular expressions”中规定的标记前缀后缀的符号。(比如说玩家需要输入 password: here goes player's guess)“password:”这一前缀可以在messages.yml进行配置。如果密码输入错误,则与该目标关联的事件不会发生。比如在以下的示例中,对话栏中不会有信息弹出。
示例:
  1. password beton ignoreCase events:message,reward
复制代码



目标:垂钓

玩家钓鱼且有收获时达成该目标。这也就意味着玩家不一定需要钓上一条鱼来,也可以是钓上了箱子或者垃圾。这一目标的第一个参数是玩家需要钓上的物品名称,这里您可以加上冒号并且在冒号之后填写物品的数据值。该目标的第二个参数是数量。如果您想要让玩家看到自己钓鱼的进度,您也可以加上一个“notify”参数。
目标:垂钓目标:击杀生物的属性是完全一样的。
示例:
  1. fish raw_fish:1 5 notify events:tag_fish_caught
复制代码



目标:剪羊毛

当玩家为一定数量的羊剪毛后达成该目标。您可以根据需要指定羊的名字或者是羊的颜色。这一目标的第一个参数是数量,这个数值必须是整数。另外您也可以加上“name:”参数来指定羊的名称;或者加上“color:”参数,在冒号之后填写颜色的名称来指定羊的颜色。
目标:剪羊毛目标:击杀生物的属性是完全一样的。
示例:
  1. shear 1 name:Bob color:black
复制代码



目标:附魔

当玩家给某种特定物品进行特定种类的附魔时达成该目标。该目标的第一个参数时需要被附魔的物品名称(这一名称在items.yml中又定义)。第二个参数是附魔种类和附魔等级,这两者之间用冒号分隔。
示例:
  1. enchant sword damage_all:1 events:reward
复制代码



目标:装箱

当玩家把特定物品放进指定的箱子时达成该目标。该目标的第一个参数是箱子的位置,格式类似“100;200;300;world”,而第二个参数是物品名称列表(物品名称在items.yml文件中定义),两个物品名称之间用逗号分隔。您也可以用冒号来标记物品的数量。您也可以选择加上一个“items-stay”参数,否则当目标达成时,箱子内的物品将会自动被收缴而消失。
示例:
  1. chestput 100;200;300;world emerald:5,sword events:tag,message
复制代码



目标:炼药

玩家在某一特定位置炼成某种特定药水时达成该目标。该目标的第一个参数时药水种类。(您可以在游戏中同时按下F3和H,并且把您的光标移动到药水的图标上,您就可以看到一个类似“#0373/8225”的数字,这里的“8225”指的是二级再生效果。总而言之您需要在药水种类一栏填写这样的一串东西。)该目标的第二个参数是药水数量。如果您的服务器有“custom potion brewing”这样的功能(这一功能使玩家有能力炼制出自定义效果的药水,比如说多重效果的药水。mcMMO插件就有这样的功能。详情见于第十二章“相关插件”。),您就可以使用“effect:”参数。这一参数之后应该填写一连串用逗号分隔的药水效果。每个药水效果都应该写上效果的种类和效果持续时长,这两者应该用冒号分隔。您也可以加上关键词“notify”来向玩家展示目标达成的进度。
炼药的判定是这样的:如果某玩家是最后一个点击了酿造台原料栏的人,而且酿造台中已经没有指定药水,那么这瓶药水就被认为是这个玩家炼出的。
目标:炼药有数量属性和剩余数量属性。
示例:
  1. potion 8225 3 events:add_tag
复制代码
示例2:
  1. potion 8225 3 effects:blindness:20,wither:10 events:give_item
复制代码



想要跟踪本帖的,请在下方回复或评分
  1. 这wiki翻译不错,我想订阅
复制代码
这样在每次更新时我会@你
@1345979462 @lsz7575 @光の旋律 @Rolas   

本帖与 @Smokey_Days 的翻译帖为同一项目

另外随口说几句



作者: kkk154    时间: 2017-3-25 21:39
为何这么好的帖子没人回复
作者: kkk154    时间: 2017-7-26 13:19
请问这个有效的双精度浮点数据是什么意思?
我是这样写的:jgchufang: location 183.13;77.00;-104.36;yichen;5
报错是这样的:[13:12:32 ERROR]: [BetonQuest] Error in 'default.jgchufang' objective (location): Not enough arguments
插件版本是1.9.2

作者: DIVER    时间: 2018-5-9 21:31
kkk154 发表于 2017-7-26 13:19
请问这个有效的双精度浮点数据是什么意思?
我是这样写的:jgchufang: location 183.13;77.00;-104.36;yich ...

我也和你有相同的问题。貌似这个教程里面目标的范例是错的??
作者: 117779284    时间: 2018-5-31 15:00
这wiki翻译不错,我想订阅
作者: Niu_uncle    时间: 2018-5-31 15:49
楼主头像鬼畜
作者: Niu_uncle    时间: 2018-5-31 15:50
很棒 加油不错的作品
作者: Victor_Elect    时间: 2018-6-17 15:35
加油,支持楼主
作者: 1210064597    时间: 2018-7-3 13:18
6666666666666666666666
作者: HotPe_e    时间: 2018-8-10 22:42
希望能够更改一下 location
WIKI原文
location 100;200;300;world 5 condition:test1,!test2 events:test1,test2
范围你包含在前面的 坐标里了