Skip to content

奖励系统

奖励系统控制副本通关或达成条件后发放的奖励内容。

开发状态

奖励系统在 v0.2.0 中可通过 $command 脚本实现基础奖励发放。完整的奖励配置系统为计划中功能。

当前实现 (v0.2.0)

目前通过 $command 脚本在怪物组 end-script 中发放奖励:

yaml
end-script:
  # 发放钻石
  - "$command{sender=console;command=give <player> diamond 3}"
  # 发放经验
  - "$command{sender=console;command=xp add <player> 100 levels}"
  # 发放经济(需要 Vault)
  - "$command{sender=console;command=eco give <player> 500}"
  # 全服公告
  - "$command{sender=console;command=say <player> 通关了 <dungeon:name>!}"

计划中的奖励类型

类型说明
COMMAND执行命令奖励
ITEM直接发放物品
MONEY经济奖励(依赖 Vault)
EXP经验奖励
POINT积分奖励
RANDOM随机奖励池
FIRST_CLEAR首次通关专用奖励
DAILY每日可领取奖励
WEEKLY每周可领取奖励

计划配置格式

yaml
# 未来将独立为 reward.yml
rewards:
  default:
    first-clear:
      - "$command{text=eco give <player:name> 1000}"
      - "$message{text=&a首通奖励:1000 金币!}"

    normal:
      - "$command{text=give <player> diamond 3}"
      - "$command{text=eco give <player:name> 300}"

奖励发放时机

时机说明
通关时满足副本通关条件
阶段完成完成特定怪物组
首次通关该玩家/队伍第一次通关此副本
每日首通当天第一次通关

当前替代方案

在完整的奖励系统就绪前,使用 $command 配合其他插件可以实现丰富的奖励:

yaml
end-script:
  # 使用 ItemsAdder 发放物品
  - "$command{sender=console;command=ia give <player> dungeon_key 1}"
  # 使用 MMOItems 发放物品
  - "$command{sender=console;command=mmoitems give SWORD DUNGEON_SWORD <player> 1}"
  # 使用 PlayerPoints 发放积分
  - "$command{sender=console;command=points give <player> 100}"