- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
BetonQuest:修订间差异
SetttingDust(留言 | 贡献) 无编辑摘要 |
SetttingDust(留言 | 贡献) 无编辑摘要 |
||
第44行: | 第44行: | ||
这些对话可以像在Baldur's Gate或是Skyrim一样有多种路线,任务可以有多种方式来结束,也可以有很多不同的影响玩家声誉的结局,就靠你来决定了。<br> | 这些对话可以像在Baldur's Gate或是Skyrim一样有多种路线,任务可以有多种方式来结束,也可以有很多不同的影响玩家声誉的结局,就靠你来决定了。<br> | ||
这个插件也包含了一个在书中的日志。你玩过Morrowind吗? 它们差不多一样,我们只是保留了你查看日志的顺序,所以你不必翻好几百页。现在完成任务并不需要显示像“你收集了所有的矿石,现在回到矿工那儿!”这样的信息。反之,它可以更新玩家的日志,加入像这样的新的记录:“我收集了所有的矿石,我需要回到矿工那儿去拿奖励!”。这样会显得真实得多。 | 这个插件也包含了一个在书中的日志。你玩过Morrowind吗? 它们差不多一样,我们只是保留了你查看日志的顺序,所以你不必翻好几百页。现在完成任务并不需要显示像“你收集了所有的矿石,现在回到矿工那儿!”这样的信息。反之,它可以更新玩家的日志,加入像这样的新的记录:“我收集了所有的矿石,我需要回到矿工那儿去拿奖励!”。这样会显得真实得多。 | ||
== 指令 == | |||
/j – 给予一本日志 | |||
/backpack – 打开背包 | |||
/q – 列出所有可用的管理员指令 | |||
/q reload – 重载插件 | |||
/q objectives <playerName> [list/add/del] [instruction] –列出/修改玩家目标 | |||
/q tags <playerName> [list/add/del] [tag] – 列出/修改玩家的标签 | |||
/q points <playerName> [list/add/del] [category] [amount] – 列出/修改玩家在所有阵营的点数 | |||
/q journal <playerName> [list/add/del] [package.pointer] [date] - lists | |||
/q event <playerName> <package.eventID> - 为玩家激活一个事件 | |||
/q condition <playerName> <package.conditionID> - 显示玩家是否经历过指定的环境 | |||
/q item <package.itemID> - 创建一个基于你手中物品的物品 | |||
/q config <set/add/read> <path> [value] – 操作配置项 | |||
/q purge <playerName> - 删除玩家数据 | |||
/q backup – 创建配置文件和数据库的备份 | |||
/q create <package>: 创建一个新的包并包含默认任务 | |||
/q vector <packname.variable> <newvariable>: 计算第一个位置变量到你的位置并且储存到第二个参数中 | |||
/questlang <lang> - 改变玩家的语言(如果由控制台使用就可以改变全局语言) | |||
=== 缩写 === | |||
*/j: bj, journal, bjournal, betonjournal, betonquestjournal | |||
*/backpack: b, bb, bbackpack, betonbackpack, betonquestbackpack | |||
*/q: bq, bquest, bquests, betonquest, betonquests, quest, quests | |||
**objective: o, objectives | |||
**tag: t, tags | |||
**point: p, points | |||
**event: e, events | |||
**condition: c, conditions | |||
**journal: j, journals | |||
**item: i, items | |||
**create: package | |||
*/questlang: ql | |||
=== 详情 === | |||
/q reload重载所有配置,但是不是所有东西都会被保存。当数据库保存时,不可以修改玩家数据。数据库也是一样,你需要重启/重载服务器才可以保存数据库<br><br> | |||
标签相关的命令可以让你快速的编辑它 ,'/q tags Beton' 将会列出Beton这个玩家的标签。'/q tags Beton add test'将会添加"test"标签给玩家,并且 '/q tags Beton del test' 会移除它<br><br> | |||
点数相关的命令可以操纵点数。向一个类别添加点数应该用'/q points Beton add reputation 20' (给"reputation"添加20点)。你也可以使用负数来减去。 删除全部点数使用'/q points Beton del reputation'.<br><br> | |||
日志相关命令与上面两项相同。添加或删除使用 /q journal Beton add default.wood_started (or del),并且你也可以在结尾加上时间来指定时间,格式为:23.04.2014_16:52。注意要用_来代替空格!名字前必须带上包名,因为命令不属于任何包<br><br> | |||
目标相关命令可以显示玩家的目标。它也可以直接对不表进行操作。记住要在事件/条件前加上包名!如果你想添加一个在events.yml中有定义的目标,只需要使用事件的相关命令<br><br> | |||
使在线玩家激活事件可以使用'/q event Beton default.give_emeralds'这将会为玩家Beton从”default”包激活 "give_emeralds"。也有条件相关的指令来操作,例如'/q condition Beton default.has_food'。事件与条件必须在它们的文件中定义,这个命令不支持原版指令。你可以不写包名,之后插件会自动读取default_package它可以在config.yml设置<br><br> | |||
如果需要创建一个"Nettlebane"任务物品,只需要把它拿在手里之后输入'/q item default.nettlebane'. 你手中的物品就会复制到items.yml 并且以你指定的名称保存(这里是"nettlebane"). 你也可以不输入包名.<br><br> | |||
你可以在. set 项中自定义命令的参数。.add 可以让你快捷的添加字符到存在的值上. (需要注意的地方: 插件不会识别空格,你可以用“_”这个字符来代替空格。例如objective location,是一段存在的字符串,并且你想给它附加 100;200;300;world;10这个值,你的命令应该是/q config add default.events.loc_obj _100;200;300;world;10). read 可以显示配置的值。<br> | |||
这里的路径就是值的地址。你可以用“.”来表示分支,例如config.language,可以设置语言键的值,同理"bye"这个玩家的配置项路径应该是 | |||
default.conversations.innkeeper.player_options.bye.text<br><br> | |||
你可以使用'/q purge Beton'清除指定玩家的数据. 目前无法使用命令清除整个数据库,但你可以修改数据库的前缀<br> | |||
如果你想要备份你的设置以及数据,需要你的服务器是空的(需要获取所有数据库的数据>所有玩家离线)之后运行'/q backup'这条命令,你将会获得一个包含所有数据的zip压缩文件。<br><br> | |||
使用'/q create beton' 你可以创建一个名为'beton'的任务,它将会与默认任务相同。<br><br> | |||
/q vector 命令可以让你创建一个由第一个位置变量到你的位置的矢量。结果会储存到"vectors.{第二参数}" | |||
== 权限 == | |||
*betonquest.admin – 允许使用管理员命令(/q ...)且可以创建NPC | |||
*betonquest.journal – 允许使用/ J指令(默认为玩家) | |||
*betonquest.backpack –允许使用/backpack 指令(默认为玩家) | |||
*betonquest.conversation -允许与NPC对话(默认为玩家)betonquest.language -允许改变的语言(默认为玩家) |
2015年8月24日 (一) 14:20的版本
外文名 | BetonQuest |
插件类型 | Spigot / CraftBukkit |
最新版本 | v1.7.3 |
兼容服务端 | 1.7.2-1.8.3 |
前置插件 | 无 |
源地址 | http://dev.bukkit.org/bukkit-plugins/BetonQuest |
BetonQuest是一个高大上的任务插件。它不像传统的将任务变成一个与对话绑定,而是网状结构(即类似Gal的剧情系统)。
你的任务不一定要像"击杀, 带来物品, 获得奖励"这样: 你可以创建一个多条路线的任务,通过与NPC的对话,玩家可以进入不同的路线,获得不同的任务奖励。
特点
- 你的冒险不止一条路可以走
- 强大的事件系统:可以在任何地方发生你想的事情
- 强大的条件系统:你可以限制任何事情的(不)发生
- 拥有队伍系统,这带来了团队任务
- 与NPC的对话的多样性
- 所有的日志记录在一本书中
- 独立的任务物品背包
- 可以对物品操作,甚至是书中的文本
- 可以给玩家增加标签(tag)来储存信息
- 完善的荣誉系统
- 位置监听:当玩家进入指定区域会触发事件
- 每日任务和可重复任务
- 任务可以分配到不同的包(方便管理)
- 支持Citizens2
- MythicMobs, Skript, WorldGuard和Vault的混合(意思就是全部支持)
- 多语言支持并且非常容易翻译
- 玩家可以选择自己的语种
- 可以使用API创建你自己的事件、条件、目标(Developer)
- 支持SQLite&MySQL数据库
- 可备份的配置及数据
- 自动升级
概览
这插件到底怎样运作?我将以一个简单的伐木任务为例来描述。请注意“事件”、“条件”和“目标”之间的区别。
首先,你需要创建一个和NPC的对话。玩家可在对话内的多个选项中进行选择,NPC会根据选项做出不同的反应(例如NPC会在玩家要求工作时告诉他去砍些树) 。同时,在某些地方会有“事件”被触发,增加一个获得木头的“目标”。它将会把该玩家标记为开始任务的人。从现在开始,NPC会在对话中使用不同的选项,例如他会让玩家快点干活。这些选项将会基于“条件”被选择。
当玩家完成“目标”时(例如通过摧毁木头),“事件”将会触发,将这个玩家标为采集木头的人。当玩家返回NPC处并与其对话时,NPC将以“条件”来核对玩家是否真的拥有那块木头。如果是的话,他将触发给予奖励的“事件”。
我们没有创建任何“任务”对象,只是创建了一个能触发“事件”并与“条件”进行核对的对话。“目标”当然也不是“任务”,它只能在玩家得到木头时标记该玩家,不能单独存在。另一方面,该对话可以在之后开始其他任务(例如挖一些矿石),所以“目标”也不是“任务”
不要为举的例子感到失望,这些只是简化后的过程,所以我可以更简单的解释这个系统,其实用BetonQuest可以做到更多
这些对话可以像在Baldur's Gate或是Skyrim一样有多种路线,任务可以有多种方式来结束,也可以有很多不同的影响玩家声誉的结局,就靠你来决定了。
这个插件也包含了一个在书中的日志。你玩过Morrowind吗? 它们差不多一样,我们只是保留了你查看日志的顺序,所以你不必翻好几百页。现在完成任务并不需要显示像“你收集了所有的矿石,现在回到矿工那儿!”这样的信息。反之,它可以更新玩家的日志,加入像这样的新的记录:“我收集了所有的矿石,我需要回到矿工那儿去拿奖励!”。这样会显得真实得多。
指令
/j – 给予一本日志 /backpack – 打开背包 /q – 列出所有可用的管理员指令 /q reload – 重载插件 /q objectives <playerName> [list/add/del] [instruction] –列出/修改玩家目标 /q tags <playerName> [list/add/del] [tag] – 列出/修改玩家的标签 /q points <playerName> [list/add/del] [category] [amount] – 列出/修改玩家在所有阵营的点数 /q journal <playerName> [list/add/del] [package.pointer] [date] - lists /q event <playerName> <package.eventID> - 为玩家激活一个事件 /q condition <playerName> <package.conditionID> - 显示玩家是否经历过指定的环境 /q item <package.itemID> - 创建一个基于你手中物品的物品 /q config <set/add/read> <path> [value] – 操作配置项 /q purge <playerName> - 删除玩家数据 /q backup – 创建配置文件和数据库的备份 /q create <package>: 创建一个新的包并包含默认任务 /q vector <packname.variable> <newvariable>: 计算第一个位置变量到你的位置并且储存到第二个参数中 /questlang <lang> - 改变玩家的语言(如果由控制台使用就可以改变全局语言)
缩写
- /j: bj, journal, bjournal, betonjournal, betonquestjournal
- /backpack: b, bb, bbackpack, betonbackpack, betonquestbackpack
- /q: bq, bquest, bquests, betonquest, betonquests, quest, quests
- objective: o, objectives
- tag: t, tags
- point: p, points
- event: e, events
- condition: c, conditions
- journal: j, journals
- item: i, items
- create: package
- /questlang: ql
详情
/q reload重载所有配置,但是不是所有东西都会被保存。当数据库保存时,不可以修改玩家数据。数据库也是一样,你需要重启/重载服务器才可以保存数据库
标签相关的命令可以让你快速的编辑它 ,'/q tags Beton' 将会列出Beton这个玩家的标签。'/q tags Beton add test'将会添加"test"标签给玩家,并且 '/q tags Beton del test' 会移除它
点数相关的命令可以操纵点数。向一个类别添加点数应该用'/q points Beton add reputation 20' (给"reputation"添加20点)。你也可以使用负数来减去。 删除全部点数使用'/q points Beton del reputation'.
日志相关命令与上面两项相同。添加或删除使用 /q journal Beton add default.wood_started (or del),并且你也可以在结尾加上时间来指定时间,格式为:23.04.2014_16:52。注意要用_来代替空格!名字前必须带上包名,因为命令不属于任何包
目标相关命令可以显示玩家的目标。它也可以直接对不表进行操作。记住要在事件/条件前加上包名!如果你想添加一个在events.yml中有定义的目标,只需要使用事件的相关命令
使在线玩家激活事件可以使用'/q event Beton default.give_emeralds'这将会为玩家Beton从”default”包激活 "give_emeralds"。也有条件相关的指令来操作,例如'/q condition Beton default.has_food'。事件与条件必须在它们的文件中定义,这个命令不支持原版指令。你可以不写包名,之后插件会自动读取default_package它可以在config.yml设置
如果需要创建一个"Nettlebane"任务物品,只需要把它拿在手里之后输入'/q item default.nettlebane'. 你手中的物品就会复制到items.yml 并且以你指定的名称保存(这里是"nettlebane"). 你也可以不输入包名.
你可以在. set 项中自定义命令的参数。.add 可以让你快捷的添加字符到存在的值上. (需要注意的地方: 插件不会识别空格,你可以用“_”这个字符来代替空格。例如objective location,是一段存在的字符串,并且你想给它附加 100;200;300;world;10这个值,你的命令应该是/q config add default.events.loc_obj _100;200;300;world;10). read 可以显示配置的值。
这里的路径就是值的地址。你可以用“.”来表示分支,例如config.language,可以设置语言键的值,同理"bye"这个玩家的配置项路径应该是
default.conversations.innkeeper.player_options.bye.text
你可以使用'/q purge Beton'清除指定玩家的数据. 目前无法使用命令清除整个数据库,但你可以修改数据库的前缀
如果你想要备份你的设置以及数据,需要你的服务器是空的(需要获取所有数据库的数据>所有玩家离线)之后运行'/q backup'这条命令,你将会获得一个包含所有数据的zip压缩文件。
使用'/q create beton' 你可以创建一个名为'beton'的任务,它将会与默认任务相同。
/q vector 命令可以让你创建一个由第一个位置变量到你的位置的矢量。结果会储存到"vectors.{第二参数}"
权限
- betonquest.admin – 允许使用管理员命令(/q ...)且可以创建NPC
- betonquest.journal – 允许使用/ J指令(默认为玩家)
- betonquest.backpack –允许使用/backpack 指令(默认为玩家)
- betonquest.conversation -允许与NPC对话(默认为玩家)betonquest.language -允许改变的语言(默认为玩家)