插件手册:betonquest:基本概念

差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
插件手册:betonquest:基本概念 [2019/02/13 05:22]
小小k酱 [对话继承 Extends]
插件手册:betonquest:基本概念 [2021/08/31 16:11] (当前版本)
duangfafa [物品 Items]
行 244: 行 244:
 如果玩家要取消一个任务,他需要打开他的//背包backpack//(/backpack)然后点击“取消”按钮(默认是个骨头图标,如需自定义你可以在//items.yml//中创建一个名为“cancel_button”的物品)。点击之后就会显示一系列可以被取消的任务。 如果玩家要取消一个任务,他需要打开他的//背包backpack//(/backpack)然后点击“取消”按钮(默认是个骨头图标,如需自定义你可以在//items.yml//中创建一个名为“cancel_button”的物品)。点击之后就会显示一系列可以被取消的任务。
  
-===== 全局位置 Global Locations =====+===== 全局任务目标 Global Objectives ===== 
 + 
 +如果你想制作一个对所有玩家都有效的任务目标,无论玩家有没有开启,你可以通过“全局目标”实现。在普通的任务目标指令(objectives.yml中的指令)末尾加上''global''参数,那么这个任务目标就会对所有进入游戏的玩家生效。每次玩家加入服务器的时候,都会自动启动这个任务目标。 
 + 
 +但为了避免这个任务目标在玩家每次加入服务器的时候被重复启动,系统还会给启动过这个任务目标的玩家添加一个tag,只要玩家有这个tag在身上,就不会重复启动这个任务目标。这个tag的格式是''<package>.global-<id>'',其中''<id>''是任务目标的id(如下例中是“start_quest_mine”),''<package>''是该任务目标所在的objectives.yml的脚本包路径。(kj译注)如果你需要这个任务目标可以被重复完成,你应该在末尾添加''persistent''参数,而不是删除global tag! 
 + 
 +你可以利用这个设计出诸如在固定地点启动某些事件,或破坏某些特定方块后触发奖励的功能。
  
-//全局位置 global locations//是会发动//事件//的地理位置。它们以普通的**location**//任务目标//的形式在//conditions.yml//中定义,并会在玩家走进这个坐标范围的时候触发。//全局位置//会自动应用在所有玩家身上,即使他们从未开启过这个//任务目标//。这功能特别适用于和地理位置相关的任务,比如设计一个隐藏地牢任务、固定的传送门之类。 
-They use tags to tell which player has been at certain location and which hasn't. These tags follow syntax ''global_<tag>'', where ''<tag>'' is location objective's tag, defined at the end of instruction string (eg. ''global_conversation_start'', where ''conversation_start'' is a tag of location objective). You can specify which events will be global locations in the //main.yml// file inside a package, separating them with commas: 
 <code yaml [enable_line_numbers="true"]> <code yaml [enable_line_numbers="true"]>
-global_locationsdungeon_entrance,trap,something_else+start_quest_mine'location 100;200;300;world 5 events:start_quest_mine_folder global'
 </code> </code>
  
行 265: 行 269:
 ===== 任务日志 Journal ===== ===== 任务日志 Journal =====
  
-The journal is a book in which all your adventures are described. You can obtain it by typing **/j** command or **/b** and selecting it from backpack. You cannot put it into any chests, item frames and so on. If you ever feel the need to get rid of your journal, just drop it - it will return to your backpack. The journal is updated with the ''journal'' event, and the text inside is defined in //journal.yml// config file. If you update these texts and reload the plugin, all players' journals will reflect changes. Colors in the journal can be altered in config.yml. The entries can use color codes, but the color will be lost between pages. +日志是一本记录你所有冒险历程的书。你可以输入**/j**指令或输入**/b**在背包里找到它。你不能将它放入任何箱子、展示框等。如果你觉得有必要解除你的日志,只需要丢掉它,它将会回到你的背包中。日志将随日志事件''journal''更新,其文本由配置文件//journal.yml//定义。如果你更新了文本并重新加载(reload)了插件,所有玩家的日志将会反映变化。日志中的颜色可以在//config.yml//中修改。条目可以使用颜色代码,但颜色会在页面间消失。
- +
-The journal by default appears in the last slot of the hotbar. If you want to change that use ''default_journal_slot'' option in //config.yml//, experiment with different settings until you're ok with it. +
- +
-If you want to translate the entry do the same thing as with conversation option - go to new line, add language ID and the journal text for every language you want to include.+
  
-You can control behavior of the journal in //config.yml// file, in ''journal'' section. ''chars_per_page'' specifies how many characters will be placed on a single page. If you set it too high, the text will overflow outside of the page, too low, there will be too much pages. ''one_entry_per_page'' allows you to place every entry on a single page. The ''chars_per_page'' setting is in this case ignored, BetonQuest will put entire entry on that page. ''reversed_order'' allows you to reverse order of entries and ''hide_date'' lets you remove the date from journal entries.+日志默认出现在快捷栏最后一格中。如果你想更改它,可以调试//config.yml//中的''default_journal_slot''项,尝试不同设置直到你觉得没问题。 
 +如果你想要编译条目,做与conversation项相同的行为——换行,添加你想包括的所有语言ID与日志文本。
  
-You can control colors in the journal in ''journal_colors'' section in //config.yml//''date'' is a color of date of every entry, ''line'' is a color of lines separating entries and ''text'' is just a color of a text. You need to use standard color codes without ''&'' (eg. '''4''' for dark red).+你可以通过//config.yml//文件中的日志''journal''部分控制日志行为。''chars_per_page''说明了单页上可以放置多少字符。如果你设置得过高,文本将会溢出页面,而太低则会有过多页面。''one_entry_per_page''允许你将所有条目放置于同一页面。在此情况下''chars_per_page''则被无视,BetonQuest将把全体条目放入此页面。''reversed_order''允许你反转条目顺序而''hide_date''让你从日志条目中删除日期。 
 +您可以在//config.ym//l的''journal_colors''部分中控制日记中的颜色:''date''是每个条目的日期颜色,''line''是条目分割线的颜色,''text''是文本的颜色。 您需要使用不带''&''的标准颜色代码(如:''4''表示深红色)。
  
-You can also add a main page to the journal. It's a list of texts, which will show only if specified conditions are met. You can define them in the //main.yml// file, in the ''journal_main_page'' section:+您还可以将主页添加到日记中。 这是一个文本列表,仅在满足指定条件时显示。 您可以在//main.yml//文件的''journal_main_page''部分中定义它们:
 <code yaml [enable_line_numbers="true"]> <code yaml [enable_line_numbers="true"]>
 journal_main_page: journal_main_page:
行 285: 行 287:
     conditions: 'quest_started,!quest_completed'     conditions: 'quest_started,!quest_completed'
 </code> </code>
-Each string can have text in different languages, list of conditions separated by commas (these must be met for the text to show in the journal) and ''priority'', which controls the order of texts. You can use conversation variables in the texts, but they will only be updated when the player gets his journal with the **/journal** command. Color codes are supported.+每个字符串可以有不同语言的文本,条件列表用逗号分割(这些条件必须满足日志中显示的文本)和优先级(''priority'')——它控制文本的顺序。你可以在文本中使用会话变量,但只有在玩家使用**/journal**命令获取日志时才会更新它们。支持颜色代码。 
 + 
 +如果您希望主页采用单独的页面(条目将显示在下一个空页面上),将//config.yml//中的''full_main_page''设置为“true”。
  
-If you want your main page take a separate page (so entries will be displayed on next free page), set ''full_main_page'' in //config.yml// to "true". 
  
 ===== 标签 Tags ===== ===== 标签 Tags =====
行 328: 行 331:
   * ''data'' - 物品附加值。例如不同颜色的羊毛,或镐子的损坏度。查找的时候你可以匹配完全一致的某个数字,或大于/小于某个数,在数字的后面加上''+''/''-''就可以了。   * ''data'' - 物品附加值。例如不同颜色的羊毛,或镐子的损坏度。查找的时候你可以匹配完全一致的某个数字,或大于/小于某个数,在数字的后面加上''+''/''-''就可以了。
  
-  * ''enchants'' - 附魔列表和对应的级别。每个附魔都需要包含下面这些信息,用冒号分隔:\\ > ''name''[[https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html|附魔名称]]\\ > ''level''附魔级别(正整数)\\ 格式是''name:level''。举个例子,''damage_all:3''是//锋利 III//。你可以同时定义多个附魔,每样附魔之间用英文句号''.''分隔开。\\ 你可以填写''none''要求某个物品没有任何附魔。你还可以在后面加上''+''/''-''去检查某样附魔的级别是否大于/小于一定值。如果你不在意等级,可以用''?''代替数字部分。\\ 默认情况下所有//附魔//都会被匹配上。如果你只是想检查这个物品是否具有某一些附魔,请在最后加上''enchants-containing''参数。如果你想检查某个物品是否__不__包含某样附魔,请在附魔名字的前面加上''none-'',比如''enchants:none-knockback:?''表示这个物品不能有//击退//附魔。\\ **请不要在没有''enchants-containing''的情况下使用''none-''**,这并不符合逻辑而且会破坏检查过程。+  * ''enchants'' - 附魔列表和对应的级别。每个附魔都需要包含下面这些信息,用冒号分隔:\\ > ''name''[[https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html|附魔名称]] (你可以在这里[[插件手册:mythicmobs:物品:附魔|查阅汉化后的附魔列表]]) \\ > ''level''附魔级别(正整数)\\ 格式是''name:level''。举个例子,''damage_all:3''是//锋利 III//。你可以同时定义多个附魔,每样附魔之间用英文句号''.''分隔开。\\ 你可以填写''none''要求某个物品没有任何附魔。你还可以在后面加上''+''/''-''去检查某样附魔的级别是否大于/小于一定值。如果你不在意等级,可以用''?''代替数字部分。\\ 默认情况下所有//附魔//都会被匹配上。如果你只是想检查这个物品是否具有某一些附魔,请在最后加上''enchants-containing''参数。如果你想检查某个物品是否__不__包含某样附魔,请在附魔名字的前面加上''none-'',比如''enchants:none-knockback:?''表示这个物品不能有//击退//附魔。\\ **请不要在没有''enchants-containing''的情况下使用''none-''**,这并不符合逻辑而且会破坏检查过程。
  
   * ''unbreakable'' - 加上这个参数表示这个物品//无法破坏//。你可以直接写''unbreakable''或者是''unbreakable:true''来检查某个物品是否//无法破坏//。如果你想检查某个物品是否可以破坏,请使用''unbreakable:false''   * ''unbreakable'' - 加上这个参数表示这个物品//无法破坏//。你可以直接写''unbreakable''或者是''unbreakable:true''来检查某个物品是否//无法破坏//。如果你想检查某个物品是否可以破坏,请使用''unbreakable:false''
行 405: 行 408:
 下面的参数适用于//烟花火箭// 下面的参数适用于//烟花火箭//
  
-  * ''firework'' - 一系列火箭特效。//火箭特效//之间用英文逗号'',''分隔。每一样//特效//都需要包含下面这些属性且用英文冒号'':''隔开:\\ > [[https://hub.spigotmc.org/javadocs/spigot/org/bukkit/FireworkEffect.Type.html|火箭特效]]名字\\ > 主颜色列表 - 具体格式请参考上面的//皮革装备//,每样颜色用英文分号'';''分隔。\\ > 渐变颜色列表\\ > ''true''/''false'' - 是否有拖痕(钻石效果)\\ > ''true''/''false'' - 是否闪烁(荧石粉效果)\\ 请特别留意分隔符号:1.英文逗号用来分隔每一样//特效//2.英文冒号分隔各种属性3.英文分号用来分隔//特效//的颜色。\\ 如果你想检查某个没有任何//特效//的火箭,请填写''none''。如果你不在意特效的类型,可以用''?''代替。如果你想检查没有主/渐变颜色的火箭,请填写''none''。如果你不在意主/渐变颜色是啥,可以用''?''代替。如果你不在意有没有拖痕/闪烁,可以用''?''代替true/false。\\ 默认情况下整个//特效//列表会被完全匹配。如果你只是想检查这个火箭是否具有某些//特效//,请在最后加上''firework-containing''。如果你想确认某个火箭是否__不__包含某种特效,请在//火箭特效//名字的前面加上''none-''\\ **请不要在没有''firework-containing''的情况下使用''none-''**,这并不符合逻辑而且会破坏检查过程。 +  * ''firework'' - 一系列火箭特效。//火箭特效//之间用英文逗号'',''分隔。每一样//特效//都需要包含下面这些属性且用英文冒号'':''隔开:   
 +    * [[https://hub.spigotmc.org/javadocs/spigot/org/bukkit/FireworkEffect.Type.html|火箭特效]]名字 
 +    * 主颜色列表 - 具体格式请参考上面的//皮革装备//,每样颜色用英文分号'';''分隔。 
 +    * 渐变颜色列表 
 +    * ''true''/''false'' - 是否有拖痕(钻石效果) 
 +    * ''true''/''false'' - 是否闪烁(荧石粉效果) 
 +  请特别留意分隔符号:1.英文逗号用来分隔每一样//特效//2.英文冒号分隔各种属性3.英文分号用来分隔//特效//的颜色。 
 +   
 +  如果你想检查某个没有任何//特效//的火箭,请填写''none''。如果你不在意特效的类型,可以用''?''代替。如果你想检查没有主/渐变颜色的火箭,请填写''none''。如果你不在意主/渐变颜色是啥,可以用''?''代替。如果你不在意有没有拖痕/闪烁,可以用''?''代替true/false。 
 +   
 +  默认情况下整个//特效//列表会被完全匹配。如果你只是想检查这个火箭是否具有某些//特效//,请在最后加上''firework-containing''。如果你想确认某个火箭是否__不__包含某种特效,请在//火箭特效//名字的前面加上''none-'' 
 +   
 +  //__请不要在没有''firework-containing''的情况下使用''none-''__//,这并不符合逻辑而且会破坏检查过程。
   * ''power'' - 飞行时长,等级。你可以检查//飞行时长//是否大于/小于(等于)某个等级,只需要在数字后面加上''+''/''-''即可。   * ''power'' - 飞行时长,等级。你可以检查//飞行时长//是否大于/小于(等于)某个等级,只需要在数字后面加上''+''/''-''即可。
  
行 427: 行 441:
 ===== 背包 Backpack ===== ===== 背包 Backpack =====
  
-有时候你想要某些东西在玩家死后依然保留在背包中,比如这些东西是完成整个任务的关键。你可以给这个物品添加这个lore让这个物品不会消失:''&2Quest_Item''(请注意这个lore必须是单独的一行),这样这个物品就不会因为玩家死亡而掉落。+有时候你想要某些东西在玩家死后依然保留在背包中,比如这些东西是完成整个任务的关键。你可以给这个任务物品添加这个lore让这个物品不会消失:''&2任务物品''(请注意这个lore必须是单独的一行),这样这个物品就不会因为玩家死亡而掉落。
  
 **例子:** **例子:**
 <code yaml [enable_line_numbers="true"]> <code yaml [enable_line_numbers="true"]>
-神剑: 'DIAMOND_SWORD name:毁灭之_凝结神力 lore:用秘银锻造的大剑;&2Quest_Item'+神剑: 'DIAMOND_SWORD name:毁灭之_凝结神力 lore:用秘银锻造的大剑;&2任务物品'
 </code> </code>
 +
 +(kj译注:这个''&2任务物品''根据你的语言设置不同而不同,如果你的//config.yml//语言设置是''language: en''英语,则需要写成''&2Quest_Item'',具体请看你的//config.yml//和//messages.yml//文件)
  
 如需打开背包,请输入指令**/backpack**。输入之后一个GUI就会显示,里面有你的任务物品和一些任务相关按钮。第一个物品永远是你的任务日志,取走之后这个位置会一直留空。你可以通过点击这些物品,让这些物品在//背包//和你的物品栏之间移动,左键移动一个物品,右键移动全部物品。只有任务相关物品才可以存入//背包// 如需打开背包,请输入指令**/backpack**。输入之后一个GUI就会显示,里面有你的任务物品和一些任务相关按钮。第一个物品永远是你的任务日志,取走之后这个位置会一直留空。你可以通过点击这些物品,让这些物品在//背包//和你的物品栏之间移动,左键移动一个物品,右键移动全部物品。只有任务相关物品才可以存入//背包//
  • 插件手册/betonquest/基本概念.1550006537.txt.gz
  • 最后更改: 2019/02/13 05:22
  • 小小k酱