返回顶部

[转载] [1.7-1.16]Quests——经典的任务插件 教程+汉化

[复制链接]
像素搬运菌Lv.7 显示全部楼层 发表于 2024-2-21 03:00:18 |阅读模式 打印 上一主题 下一主题 来自 中国广西南宁
联机教程
教程类型: 插件
教程来源: 转载
原贴地址:
教程目标: Quests

马上登录/注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 像素搬运菌 于 2024-2-21 03:08 编辑

插件介绍

原帖插件介绍
Quests is an ever-growing, completely open system allowing for intricate quest design and customization. It aims to provide you with the tools to immerse players into a world unlike any other, greeted by the challenges you present. Players may take on multiple quests simultaneously, completing them for stellar rewards and a sense of accomplishment.

Feel like contributing to the project? Great! This project is community-driven, meaning most non-breaking updates are made by coders like you! Pull requests are checked regularly on Github.


Quests是一款不断完善的,完全开放的,可用于创建各种任务的自定义化任务插件,它的功能是让你的玩家体验一种别处体验不到的游戏感觉,玩家们会面临多个预设的任务,并领取这些任务,完成它们并获得奖励,以及前所未有的成就感
想帮助作者完善这个项目?当然可以!这个项目是面向社区开放的,身为开发者的你可以通过在GitHub发合并请求的方式给这个插件提供更新!




原帖插件特性


In-game editor! You should never have to touch the file containing your Quests! Nearly everything can be configured via chat.
Helpful NPCs! Quests can be given by NPCs using Citizens 2! Players can also talk to, deliver items to, or kill, NPCs if you so desire.
Delicious rewards! Give items, experience, permissions, and/or perks from other plugins! Leaderboards are available should you decide to hand out Quest Points.
Get creative! Objectives range from item delivery and enchanting, to mob/player killing and reaching locations.
Unique events! Cause lightning strikes, potion effects, mob swarms, hunger, teleportation and more!
Attention grabbing! By default, NPCs show a particle effect above their heads when quests become available. Players can view those quests via inventory GUI, if configured.
Language support! You can edit nearly every written portion of Quests, down to the menu formatting. Anyone can contribute a translation via our Crowdin page!
Coders rejoice! Three different Quests APIs allow you to build your own requirements, rewards or objectives.

  • 游戏内编辑!你甚至根本不需要去改动配置,几乎所有操作都可以通过聊天栏完成
  • NPC支持!Quests支持Citizens 2的各种NPC!玩家可以与NPC交谈,甚至给NPC提交物品,甚至击杀NPC
  • 诱人的奖励!你可以将物品,经验,权限,或者其它插件提供的VIP专属特权作为任务奖励!
  • 创造性!你可以把物品转交,附魔,击杀生物/玩家,甚至到达目标地点作为任务!
  • 独特的事件!可以在任务中设置触发雷击,药水效果,怪物生成,饥饿值改变,传送,甚至更多事件!
  • 吸引眼球!默认情况下有可接受任务的NPC可以在头顶显示粒子效果,玩家可点击NPC打开GUI来选取任务
  • 多语言支持!你几乎可以编辑插件的所有可见语言,甚至包含菜单格式!你还可以通过Crowdin提交多语言!
  • 开发者!三种不同的API来让开发者创建属于自己的任务需求,任务奖励和任务目标!




本插件是一个任务插件,让玩家可以完成各种丰富多彩的任务并获得奖励!任务可以是破坏/放置怪物,杀死生物/玩家,到达指定地点等等,甚至可以是回答出一道问题!

插件支持Citizens,可以让NPC作为任务的发布者,甚至以和NPC交谈或者杀死NPC作为任务!



支持多种插件作为前置,可以以杀死MythicMobs或者CustomMobs怪物作为任务,可以限制在某WorldGuard区域内接受任务,还可以以MCMMO技能经验作为任务奖励!

厌倦了繁琐的配置文件编辑任务?本插件让你在游戏内即可编辑任务!输入左侧的数字即可做出选择!



本插件提供了任务可能触发的一系列事件,这些事件也是可以游戏内编辑的!



如果你不喜欢游戏内编辑任务,本帖同样提供了配置编辑的方法,请参下文

↓↓↓以下内容是为喜欢用配置编辑的人准备的,喜欢游戏内编辑的人请直接跳过↓↓↓

使用教程-配置-quests.yml

打开配置文件中的quests.yml 本插件默认自带了几个任务
我们先从一个最简单的任务开始看起
quests:
  Miner:
    name: 石头矿工
    ask-message: <yellow>挖 <purple>10<yellow> 块 <purple>石头
    finish-message: <yellow>干得漂亮!请收下奖励!
    redo-delay: 1800
    requirements:
      items:
      - name-wood_pickaxe:amount-1
      remove-items:
      - false
      fail-requirement-message: <red>去挖石头至少也要准备一把 <purple>木镐<red> 吧...
    stages:
      ordered:
        '1':
          break-block-names:
          - stone
          break-block-amounts:
          - 10
          break-block-durability:
          - 0
    rewards:
      money: 1000
      quest-points: 1

这个任务的名字为“石头矿工”,玩家接受任务后首先看到的是提示语“挖10块石头”,玩家需要拥有一把木镐才能接受任务,否则会显示接受失败的提示语,玩家只要挖掘10块石头(stone:0)即为完成任务,完成任务后玩家将看到完成提示语“干得漂亮!请收下奖励!”,并得到1000金币+1任务点,本任务1800秒之后可以重新领取

配置的一级属性含义

  • name: 任务的名字,可以使用/quests take <任务名> 来接受任务
  • ask-message: 玩家接受任务后看到的第一句提示,通常用来作为任务描述
  • finish-mesage: 玩家完成任务后看到的提示语,通常用来作为祝贺以及描述奖励之用
插件自带的颜色代码是像<yellow>这样的字段,但是我推荐大家用更方便的 § 符号,例如§e
不要使用&作为颜色代码符号!!!!!
  • redo-delay: 该任务多少秒以后可以重做
  • npc-giver-id: 该任务由哪个ID的NPC发布?玩家点击NPC即可接受任务,NPC ID请使用数字
需要安装Citizens前置,如果不清楚NPC的ID请使用指令/npc list
    npc-giver-id: 0
  • block-start: 玩家点击某世界某方块可以接受该任务,格式block-start: 世界名 X Y Z,例如
    block-start: world 230 65 -180
  • region: 玩家必须处于哪个WorldGuard区域内才能接受该任务,例如
    region: Lobby
  • gui-display: 输入指令/questadmin togglegui <NPC ID>可以设置NPC是以聊天的形式展示任务还是以GUI菜单的形式展示任务,若是以GUI形式,该任务会以什么物品显示(物品格式参下文)例如
   gui-display: name-WOOD_PICKAXE:amount-1
  • events: 玩家接受该任务后触发的“事件”,详参下文
  • requirements: 接受该任务的前提,详参下文
  • stage: 该任务的阶段,详参下文
  • rewards: 完成该任务的奖励,详参下文
  • planners: 设置这个任务只能在某个现实的时间点完成,你需要设置任务的开始时间(start),结束时间(end),,时间的格式为:日:月:年:时:分:秒:时区,举例如下,该任务的可完成时间为2020年1月11号上午9点到下午17点,1天后可重复执行:
  
planner:
       start: 11:1:2020:9:0:0:SystemV/EST5
       end: 11:1:2020:17:0:0:SystemV/EST5
       repeat: 86400
       cooldown: 32400
       override: false
repeat的作用是重复,将此任务的可用时间不断向后重复,就拿上面的例子而言,设置的repeat是86400秒(1天)那么,在1月12号/13号/14号......的9点到17点都可以接受此任务(这个机制可以做出“每日任务”的效果)
cooldown的作用是设置玩家两次完成任务的最短冷却时间,防止玩家“卡零点”(例如晚上23:59分和凌晨0:01分把两天的每日任务都完成)
override的作用是当玩家重复接取此任务时是否无视冷却时间
通过这个设置项,也可以做出一些特殊节日任务,比如设置每年12月25日完成圣诞节任务,同时repeat设置为31536000(1年)玩家即可每年完成这一任务


使用教程-配置-requirements

quests.yml中的requirements代表“接受该任务需要的前提”,格式如下

    requirements:
      money: 100
      quest-points: 1
      permissions:
      - pcd.test
      quests:
      - 完成该任务才能接下个任务
      quest-blocks:
      - 完成该任务禁止接此任务
      items:
      - name-wood_pickaxe:amount-1
      remove-items:
      - false
      mcmmo-skills:
      - Mining
      - Repair
      mcmmo-amounts:
      - 10
      - 10
      fail-requirement-message: <red>你不满足领取任务条件

  • money: 领取该任务需要的金钱数量
  • quest-points: 领取该任务需要的任务点数量
  • permissions: 领取该任务需要的权限
  • quests: 只有完成了下列任务才能接受此任务
  • quest-blocks: 与上面那条相反,一旦完成了下列任务就禁止接受此任务
  • items: 领取该任务需要的物品,物品格式如下(不一定所有属性都用上)
      - name-物品英文名:amount-数量:data-子ID:enchantment-附魔壹 附魔等级:enchantment-附魔贰
      - 附魔等级:displayname-物品显示的名字:lore-第一行:lore-第二行:lore-第三行
以下提供一个示例
      - name-DIAMOND_SWORD:amount-1:enchantment-Sharpness 3:enchantment-Looting 2
  • remove-items: 上述物品在领取任务时是否扣除,可选true/false
  • mcmmo-skills: 和mcmmo-amounts: 领取该任务需要的MCMMO技能和经验 必须一一对应!
  • fall-requirement-message: 当上述条件不满足任何一条时,显示该提示语
  • heroes-primary-class: 领取该任务时需要的Heroes插件的第一阵营
  • heroes-secondary-class: 领取该任务时需要的Heroes插件的第二阵营

以上列出的是修改配置的方法,在游戏中配置更方便
(第一版汉化里我把“任务限制”翻译成了“任务方块”……日……)

使用教程-配置-stage

quests.yml中的stage部分代表任务的分段,你可以把一个大任务分成几个阶段来让玩家进行
当然,只设置一个阶段也是可以的,以下提供一个示例


    stages:
      ordered:
        '1':
          death-event: DeathFail
          mobs-to-kill:
          - Pig
          mob-amounts:
          - 3
          finish-event: GoodJob
        '2':
          death-event: DeathFail
          mobs-to-kill:
          - Zombie
          mob-amounts:
          - 2
          finish-event: GoodJob
        '3':
          death-event: DeathFail
          mobs-to-kill:
          - Skeleton
          mob-amounts:
          - 1
          finish-event: GoodJob

这个任务被分为3个小阶段,分别是击杀3只猪,击杀2只僵尸,击杀1只骷髅

阶段中各属性含义
  • break-block-names:
  • break-block-amounts:
  • break-block-durability:
这三个属性代表完成该任务需要破坏方块的种类/数量/子ID,三者需要一一对应,格式如下
    stages:
      ordered:
        '1':
          break-block-names:
          - STONE
          - WOOL
          break-block-amounts:
          - 2
          - 10
          break-block-durability:
          - 0
          - 1
  • damage-block-names:
  • damage-block-amounts:
  • damage-block-durability:
这三个属性代表完成该任务需要撸的方块的种类/次数/子ID,也就是鼠标左键点击方块,三者一一对应,格式同上

  • place-block-names:
  • place-block-amounts:
  • place-block-durability:
这三个属性代表完成该任务需要放置的方块的种类/数量/子ID,三者一一对应,格式同上

  • use-block-names:
  • use-block-amounts:
  • use-block-durability:
这三个属性代表完成该任务需要“使用”的方块的种类/次数/子ID,例如开关门,按按钮等等,三者一一对应,格式同上

  • cut-block-names:
  • cut-block-amounts:
  • cut-block-durability:
这三个属性代表完成该任务需要手持剪刀“剪”的方块种类/数量/子ID,可以是任何方块,三者一一对应,格式同上

  • fish-to-catch: 代表完成该任务需要钓鱼的数量,格式如下
          fish-to-catch: 5
  • players-to-kill: 代表完成该任务需要击杀的玩家数量,格式如下
          players-to-kill: 5
  • enchantments:
  • enchantment-item-names:
  • enchantment-amounts:
这三个属性代表完成该任务需要附魔出的属性/被附魔的物品/附魔的次数,三者一一对应,例如钻石胸甲,附魔保护属性1次,物品名称建议使用数字ID而非英文名称,格式如下
          enchantments:
          - 保护
          - 火焰保护
          enchantment-item-names:
          - 311
          - 313
          enchantment-amounts:
          - 1
          - 1
  • items-to-deliver:
  • npc-delivery-ids:
  • delivery-messages:
需要安装Citizens 2,这几个属性代表要转交给NPC的物品/转交NPC的ID/转交后NPC说的话,三者一一对应,需要安装Citizens前置,物品格式请参上方requirements-items部分,格式如下
          items-to-deliver:
          - name-FISHING_ROD:amount-1
          npc-delivery-ids:
          - 0
          delivery-messages:
          - 货物已经安全送到了吗?太感谢你了!
  • npc-ids-to-talk-to: 代表完成该任务需要与之交谈的NPC ID,“交谈”即右键点击NPC即可,格式如下
          npc-ids-to-talk-to:
          - 0
  • npc-ids-to-kill:
  • npc-kill-amounts:
这两个属性代表完成该任务要击杀的NPC ID以及击杀次数,二者一一对应,格式如下
          npc-ids-to-kill:
          - 0
          npc-kill-amounts:
          - 1
  • mobs-to-kill:
  • mob-amounts:
  • locations-to-kill:
  • kill-location-radii:
  • kill-location-names:
这五个属性代表完成该任务需要击杀的怪物种类/击杀数量/击杀位置/击杀位置半径/击杀位置名称,五者一一对应,“击杀位置”的格式为“世界名 X Y Z”,“击杀位置半径”代表以击杀位置为中心多少格内的击杀算有效击杀,格式如下
          mobs-to-kill:
          - Pig
          mob-amounts:
          - 1
          locations-to-kill:
          - world -201.0 65.0 203.0
          kill-location-radii:
          - 3
          kill-location-names:
          - 击杀点
  • locations-to-reach:
  • reach-location-radii:
  • reach-location-names:
这三个属性代表完成该任务需要到达的位置/位置半径/位置名称,三者一一对应,“到达位置”的格式为“世界名 X Y Z”,“位置半径”代表以到达位置为中心玩家进入多少格内即算成功到达,格式如下
          locations-to-reach:
          - world -201.0 65.0 203.0
          reach-location-radii:
          - 2
          reach-location-names:
          - 到达点
  • mobs-to-tame:
  • mob-tame-amounts:
这两个属性代表完成该任务需要驯服的生物种类/次数,二者一一对应,格式如下
          mobs-to-tame:
          - Wolf
          mob-tame-amounts:
          - 1
  • sheep-to-shear:
  • sheep-amounts:
这两个属性代表完成该任务需要剪羊毛的颜色/数量,二者一一对应,剪羊毛颜色属性请务必使用英文单词而非中文汉字,格式如下,你可以在这里查到可用的羊毛颜色列表。
          sheep-to-shear:
          - white
          - yellow
          sheep-amounts:
          - 5
          - 5
password-displays:这两个属性代表完成该任务需要回答的问题/问题的答案,二者一一对应,格式如下
          password-displays:
          - 天狼星(Sirius)组件的作者是谁?
          password-phrases:
          - lona
同样你可以给一个问题设置多个答案,每个答案请使用竖杠 | 隔开,例如
          password-displays:
          - 你们是不是应该给秋风残叶的帖子评个人气?
          password-phrases:
          - Yes|当然|是的|一定|那肯定的啊
  • script-to-run: 该阶段任务完成后触发的Denizen脚本
  • start-event: 任务开始时触发的事件,请参下文
  • finish-event: 任务结束时触发的事件,请参下文
  • disconnect-event: 玩家突然掉线触发的事件,一般设置为任务失败,请参下文
  • death-event: 玩家死亡触发的事件,一般设置为任务失败,请参下文

  • chat-event-triggers:
  • chat-events:
这两个属性代表玩家在聊天栏发送哪些内容会触发事件/触发的事件名,二者一一对应,格式如下
          chat-event-triggers:
          - 我要篡位
          chat-events:
          - 篡位剧情
  • delay: 该阶段任务结束后,要冷却多少秒才能开始下一个阶段
  • delay-message: 任务冷却中的提示语,格式如下
delay: 1
delay-message: 还在冷却中!
  • start-message: 该阶段任务开始时的提示语
  • complete-message: 该阶段任务完成时的提示语

【附属:MythicMobs Quests Module】
该附属可将击杀MythicMobs怪物作为任务要求
需要先安装MythicMobs4.1.0以上版本以及下载MythicMobs Quests Module原帖,然后将附属放入plugins/Quests/modules文件夹,重启服务器
你可以在游戏里编辑任务,简单方便,如果你想用配置编辑任务,以下提供一个示例

    stages:
      ordered:
        '1':
          custom-objectives:
            custom1:
              name: Kill MythicMobs Objective
              count: 2
              data:
                Mob Level: '0'
                Mob Faction: ANY
                Objective Name: 测试猪
                Internal Mobnames: Pigtest
                Notifier enabled: 'true'
                Notifier msg: '已击杀 %c%/%s%'



  • name: Kill MythicMobs Objective 这个不要改
  • count: 击杀生物的数量
  • Mob Level: 怪物的等级,使用0代表不限等级
  • Mob Faction: 怪物的派系,使用ANY代表不限派系
  • Objective Name: 在任务中显示的怪物名称,这个随意填
  • Internal Mobnames: 怪物在mm配置文件里的名字,也就是你用/mm mobs list看到的名字
  • Notifier enabled: 每杀一只怪物是否开启提示语(很奇怪居然不是布尔值数据)
  • Notifier msg: 每杀一只怪物的提示语 %c%代表已经击杀的量 %s%代表总量


【附属:CustomMobs Quests Module】
该附属可将击杀CustomMobs怪物作为任务要求
需要先安装CustomMobs4.0以上版本以及下载CustomMobs Quests Module原帖,然后将附属放入plugins/Quests/modules文件夹,重启服务器
你可以在游戏里编辑任务,简单方便,如果你想用配置编辑任务,以下提供一个示例

    stages:
      ordered:
        '1':
          custom-objectives:
            custom1:
              name: Kill CustomMobs
              count: 2
              data:
                KillNames: 测试猪
                ObjectiveName: 测试



  • name: Kill CustomMobs 这个不要改
  • count: 击杀生物的数量
  • KillNames: 生物的名称
  • ObjectiveNames: 在任务中显示的怪物名称,这个随便填

附属不是插件,不应该放在plugins文件夹!!
问问题前请仔细阅读帖子!!

你可以在这里看到和Quests有关的更多附属


使用教程-配置-actions


actions部分代表“事件”,即在接受任务到完成任务之间触发的一系列事件

actions的各配置在actions.yml文件中,以下是一个例子

actions:
  ExampleEvent:
    message: '<red>你获得了药水效果!'
    potion-effect-types:
      - Speed
      - Jump
    potion-effect-durations:
      - 100
      - 25
    potion-effect-amplifiers:
      - 3
      - 2



当这个名叫ExampleEvent的事件被触发时,玩家会看见消息:你获得了药水效果! 同时获得速度IV100秒以及跳跃III25秒
事件中各属性含义
  • message: 该事件被触发后玩家看到的消息,可加以§开头的彩色代码,不要使用&开头的彩色代码
  • items: 该事件被触发后玩家获得的物品 物品格式参上方requirements-items部分,格式如下
    items:
    - name-DIAMOND_PICKAXE:amount-1:data-2
  • potion-effect-types:
  • potion-effect-durations:
  • potion-effect-amplifiers:
这三个属性代表该事件被触发后玩家获得的药水效果种类/时长/等级,格式见本部分最上方例子
  • fail-quest: 该事件被触发后是否任务失败,一般和death-event:连用,即“玩家死亡,任务失败”,可选true/false
  • timer: 任务限时秒,超时即主任务失败(而非任务阶段失败),一般和start-event:连用,即“任务开始,计时开始”,格式如下
    timer: 40
  • cancel-timer: 任务计时取消,即不再限时,一般和finish-event:连用,即“阶段达成,计时取消”,可选true/false

  • explosions: 该事件被触发后在某世界某坐标产生一次爆炸,格式如下
    explosions:
    - world -261.0 64.0 134.0
  • lightning-strikes: 该事件被触发后在某世界某坐标产生一次雷击,格式如下
    lightning-strikes:
    - world -1.0 127.0 59.0

  • commands: 该事件被触发后执行的控制台指令,可使用<player>变量指代执行任务的玩家
请注意是控制台指令,不是OP指令也不是玩家指令!某些只能由玩家执行的指令可能无法执行!
    commands:
    - eco give <player> 1000
  • teleport-location: 该事件被触发后将玩家传送至某世界某坐标,格式如下
    teleport-location: world 8.0 127.0 59.0
  • health: 该事件被触发后设置玩家的血量值
  • hunger: 该事件被触发后设置玩家的饥饿值

  • effects:
  • effect-locations:
这两个属性代表该事件被触发后听到的音效/音效被播放的坐标,二者一一对应,格式如下
    effects:
    - GHAST_SHOOT
    effect-locations:
    - world -267.0 64.0 125.0
  • clear-inventory: 该事件被触发后是否清空玩家背包,谨慎使用,可选true/false
  • fail-quest: 该事件被触发后是否任务失败,一般和death-event:连用,即“玩家死亡,任务失败”,可选true/false

  • storm-world:
  • storm-duration:
这两个属性代表该事件被触发后某世界开始下雨以及下雨的时长,时长单位是tick,格式如下
    storm-world: world
    storm-duration: 40
  • thunder-world:
  • thunder-duration:
  • 这两个属性代表该事件被触发后某世界开始雷雨以及雷雨的时长,时长单位是tick,格式如下
    thunder-world: world
    thunder-duration: 60
  • mob-spawns: 该事件被触发以后生成怪物,属性较多,请参下方配置格式
    mob-spawns:
      '0':
        # 怪物的显示名称
        name: 僵尸
        # 怪物的生成地点 格式:世界 X Y Z
        spawn-location: world_nether 23.0 127.0 43.0
        # 怪物种类
        mob-type: ZOMBIE
        # 怪物生成数量
        spawn-amounts: 5
        # 手持物品 物品格式参上文
        held-item: name-WOOD_PICKAXE:amount-1
        # 手持物品掉落几率 可输入0.0-1.0之间的数
        held-item-drop-chance: 0.1
        # 怪物穿的靴子
        boots: name-DIAMOND_BOOTS:amount-1
        # 靴子掉落几率
        boots-drop-chance: 0.1
        # 怪物穿的护腿
        leggings: name-DIAMOND_LEGGINGS:amount-1
        # 护腿掉落几率
        leggings-drop-chance: 0.1
        # 怪物穿的胸甲
        chest-plate: name-DIAMOND_CHESTPLATE:amount-1
        # 胸甲掉落几率
        chest-plate-drop-chance: 0.1
        # 怪物戴的头盔
        helmet: name-DIAMOND_HELMET:amount-1
        # 头盔掉落几率
        helmet-drop-chance: 0.1

  • denizen-script: 该事件被触发后执行的Denizen脚本


使用教程-配置-conditions


你不想让玩家“那么容易”地完成任务?那么你可以给任务添加conditions
conditions要求玩家在完成任务之时必须“处在某一状态”,比如手里正拿着某一特定物品
如果玩家没有处在这一状态则任务无法完成,甚至任务直接失败

conditions的各配置在conditions.yml文件中,以下是一个例子
当这个名叫RideThePig的conditions被应用后,玩家完成任务时必须骑在猪上才可以,否则任务直接失败

conditions:
  RideThePig:
    fail-quest: true
    ride-entity:
    - Pig



  • hold-main-hand: 主手里正拿着一特定物品,物品格式同上
  • ride-entity: 玩家必须骑着某一实体
  • ride-npc: 玩家必须骑着某一NPC(来自Citizens 2)
  • stay-within-biome: 玩家必须处在某一生物群系
  • stay-within-world: 玩家必须处在某一世界
  • stay-within-region: 玩家必须处在某一WorldGuard区域
  • fail-quest: 如果玩家不符合所列标准,是否直接让任务失败,可选true/false
  • check-placeholder-id:
  • check-placeholder-value: 玩家必须符合的PlaceholderAPI变量名称及变量值,必须一一对应
  • permission: 玩家必须拥有的权限


使用教程-配置-rewards


quests.yml中的rewards代表完成全部阶段任务获得的奖励,以下是一个例子


    rewards:
      money: 1000
      quest-points: 1
      exp: 100
      items:
      - name-WOOD_PICKAXE:amount-1
      commands:
      - eco give <player> 1000
      permissions:
      - pcd.test
      mcmmo-skills:
      - ALL
      mcmmo-levels:
      - 10



  • money: 金钱奖励
  • quest-points: 任务点奖励
  • exp: 经验奖励
  • items: 物品奖励 物品格式参上文
  • commands: 完成任务后执行的控制台指令
  • permissions: 完成任务后给玩家添加的权限
  • mcmmo-skills:
  • mcmmo-levels: 这两项是MCMMO技能名称以及相应的经验奖励,二者一一对应,技能名称可以是单个的技能,也可以是列表,如果把技能名称设置为ALL代表所有技能
  • plat-loots: 完成任务后获得的PlatLoots战利品,可以是单个战利品也可以是列表


↑↑↑以上内容是为喜欢用配置编辑的人准备的,喜欢游戏内编辑的人请忽略上文↑↑↑

指令&权限

/quests 玩家指令帮助
/questadmin 管理员指令帮助

指令帮助内容已全部汉化,不在本帖赘述

本插件权限系统已经默认配置好,不需要做其他更改



玩家默认拥有的权限
quests.quest - 使用/quest查看当前任务
quests.questinfo - 查看任务帮助
quests.quests - 查看玩家帮助
quests.list - 查看任务列表
quests.take - 用指令接受任务
quests.quit - 放弃任务
quests.stats - 查看自己已做的任务记录
quests.top - 查看任务达人榜
quests.info - 查看插件信息
quests.journal - 查看任务记录书

其余管理员权限不再赘述





config参数

更多帮助请参这里


# 更多帮助请参 <a href="https://github.com/PikaMug/Quests/wiki/2-%E2%80%90-Configuration" target="_blank">https://github.com/PikaMug/Quests/wiki/2-%E2%80%90-Configuration</a>
# 玩家可在任务提示出现后多少秒内接受任务?
accept-timeout: 20
# 允许玩家通过指令接受任务吗
allow-command-questing: true
# 允许玩家通过指令接受NPC发布的任务吗
allow-command-quests-with-npcs: false
# 是否允许使用任务之书点击传送门
allow-pranks: true
# 允许玩家放弃任务吗
allow-quitting: true
# 玩家必须输入 Yes/No 来确认接受任务
ask-confirmation: true
# 哪些记录会被控制台记录?使用数字来表示
# 0=完全禁用 1=记录任务编辑 2=除了1还记录任务的开始和结束
# 3=除了1,2之外还记录奖励情况 4=除了1,2,3之外还记录debug信息
console-logging: 2
# 是否禁止MC原版的指令消息反馈机制(与这个gamerule挂钩:sendCommandFeedback)
disable-command-feedback: true
# 是否在玩家进入服务器的时候就生成有关玩家的配置文件
# 如果设置为false 玩家只在第一次使用本插件时生成配置文件
generate-files-on-join: true
# 检查玩家正在执行的任务时 是否忽视锁定的任务
ignore-locked-quests: false
# 若任务要求杀死一个玩家 请问杀死该玩家的时间冷却?
kill-delay: 600
# 语言文件
language: en-US
# 玩家一次能领取多少任务 设置成0无限制
max-quests: 0
# 启用任务NPC周围的粒子效果:新任务/重做任务
npc-effects:
  enabled: true
  new-quest: note
  redo-quest: heart
# 允许玩家查看任务需要的前提吗
show-requirements: true
# 允许玩家接受任务以及完成任务时显示Title消息吗
show-titles: true
# 每次间隔多少秒更新玩家的移动步数?
strict-player-movement: 0
# MySQL
storage-data:
  address: localhost:3306
  database: minecraft
  username: root
  password: ''
  table_prefix: 'quests_'
  pool-settings:
    max-pool-size: 10
    min-idle: 10
    max-lifetime: 1800000
    connection-timeout: 5000
# 玩家数据存储方式:yaml mysql
# 也可以设置为custom来使用开发者用户自定义的存储方式
storage-method:
  player-data: yaml
# 使用/quests top指令时最多显示多少任务
top-limit: 150
# 将任务道具的名称翻译为客户端的语言
translate-names: true
# 将插件的子指令翻译为服务器默认的语言
translate-subcommands: false




常见问题



  • 问:我在游戏里编辑任务,上面提示我用逗号隔开每一个输入值,我确实用逗号隔开了,为什么说我输入值不合法?
——答:可能是作者的锅,也可能是我翻译的锅,如果逗号分隔不行那就试试空格分隔或者分号分隔

  • 问:我在游戏里编辑任务,上面提示我输入时间长度,单位是秒,我输入了一个大于1的值,为什么还是说我输入的值不合法,必须大于1秒?
——答:可能是作者的锅,也可能是我翻译的锅……可能是我把“秒”和“毫秒”搞混了,输入一个大于1000的值试试

  • 问:我在游戏里编辑任务,上面提示我输入一串true/false的布尔值,我确实按照要求输入了,为什么说我输入的值不合法?
——答:可能是作者……算了算了是我的锅,true/false不行那就试试 是/否





汉化

关于汉化的一些废话

Quests是一款元老级任务插件,在本人接手此插件之前圈内已有一些汉化版本流传,但大多为机翻,质量并不高。
之后本人于2017年接手此插件的汉化并在MCBBS保持更新,本人汉化受到论坛大众的认可并收获了2000+下载,这是让我比较欣慰的事情。
但是随着时代变迁,Quests在Crowdin上立项了多语言项目并吸纳全球用户共同参与翻译工作,我第一时间将我写的汉化上传了过去,使得zh-CN中文成为了Quests多语言项目中较早翻译完成的语言,当然这不是我一个人的功劳,还有很多热心的中国用户参与了Crowdin汉化工作。
至此,由于汉化工作通过Crowdin平台分担给了广大汉化者,我在MCBBS提供的这一份汉化早已完成它的历史使命,显得过时又冗余,因此我考虑暂时冻结此汉化文件(但继续更新教程内容),建议各位使用官方提供的来自Crowdin平台的最新的汉化。
如果您对汉化有兴趣并且愿意帮助维护Quests的汉化,也欢迎加入Crowdin多语言翻译项目

此为汉化(暂时冻结,建议使用官方汉化):

请把汉化文件放入plugins/Quests/lang/zh-CN文件夹
strings.yml (51.29 KB, 下载次数: 2669)
此汉化文件对应版本4.0(2021.03.08发布)
安装汉化后请重启服务器,而非重载插件





汉化没有更新?

本插件启动时,您可能会看到一些“报错”,内容多为[Quests] There are new language phrases in XXXX,看到这种报错是因为您的旧语言文件里缺失了相应项目,从而不再适合最新版Quests插件,发现了这种情况,请打开语言文件夹并找到strings_new.yml文件,里面会有缺失的语言项,请把里面所有的内容复制粘贴进strings.yml文件即可。





示例任务[当前 2 个]

我随便写几个示例任务好了,供你们参考,可能更新也可能不更新
示例任务中提到的服务器名 剧情名 地名 人名均为虚构

以下任务涉及到的事件actions.yml

  DeathFail:
    fail-quest: true
  FindtheTarget:
    items:
    - name-WHEAT:amount-1:displayname-药草
  TimerEvent:
    timer: 40
  CancelTimer:
    cancel-timer: true




《任务一》

  • 任务描述:请在60秒内击杀邪恶的BOSS(来自MythicMobs)
  • 任务奖励:1000金币 100经验
  • 任务备注:如果中途死亡/掉线/超时则任务失败
  • 备注:需要安装MythicMobs以及添加相应附属


quests:
  KilltheBOSS:
    name: 杀死BOSS
    ask-message: §e勇士!请帮我们杀死邪恶的BOSS!我们会给你丰厚的报酬的!
    finish-message: §e太感谢你了!请务必收下报酬!
    stages:
      ordered:
        '1':
          custom-objectives:
            custom1:
              name: Kill MythicMobs Objective
              # 击杀一只完成任务
              count: 1
              data:
                Mob Level: '0'
                Mob Faction: ANY
                Objective Name: 邪恶的BOSS
                # MythicMobs里的怪物名称:BOSS
                Internal Mobnames: BOSS
                Notifier enabled: 'true'
                Notifier msg: '已击杀 %c%/%s%'
          # 任务开始 触发TimeEvent事件 即“60秒计时开始”
          start-event: TimerEvent
          # 任务结束 触发CancelTimer事件 即“计时停止”
          finish-event: CancelTimer
          # 玩家死亡 任务失败
          death-event: DeathFail
          # 玩家掉线 任务失败
          disconnect-event: DeathFail
    rewards:
      money: 1000
      exp: 100




《任务二》

  • 任务描述:PCD组长夜幕病了 请去镇子外面寻找药草 找到后请把药草转交给组长夜幕
  • 任务奖励:成为OP
  • 备注:需要安装Citizens前置


quests:
  FindtheTarget:
    name: 寻找药草
    ask-message: §ePCD小组组长夜幕病了 需要到镇子外面的野地里寻找药草来治疗才行 如果你找到了 就尽快送去组长夜幕那里!
    finish-message: §e天哪太感谢你了!你救了我们组长的命!我们钦定你为OP!
    stages:
      ordered:
        # 阶段一 寻找药草
        '1':
          # 药草位于世界world坐标100 63 100的位置 玩家只要进入该坐标10格范围内即算成功找到
          locations-to-reach:
          - world 100.0 63.0 100.0
          reach-location-radii:
          - 10
          reach-location-names:
          - 药草
          complete-message: §e你已经找到药草了!快去把药草送给组长夜幕!
          # 任务结束 触发FindtheTarget事件 玩家获得物品“药草”
          finish-event: FindtheTarget
        # 阶段二 转交药草
        '2':
          items-to-deliver:
          - name-WHEAT:amount-1:displayname-药草
          # “组长夜幕”NPC的ID是0
          npc-delivery-ids:
          - 0
          delivery-messages:
          - 这……这是能用来治病的药草吗?
    rewards:
      # 以执行指令作为奖励 玩家成为OP
      commands:
      - op <player>




下载地址

本插件已不再支持1.7
支持原作者,请至原帖下载

帖子地址: 

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

像素世界 成立于2022年8月,是中国开发者开创的一个综合像素沙盒游戏交流社区,拥有稳定的开发维护及运营技术,提供长期交流需求。本社区开放了我的世界模组、地图、插件等资源交流版块,集中了大量资源为玩家和开发者提供了优质的游戏环境。
  • 官方B站

  • 微信公众号

  • 商务合作