跳到主要内容

管控

control 组件控制玩家是否能接受或完成任务。配置为列表,每项是一条规则,所有规则都通过才允许操作

支持四种规则类型:

  • $(脚本代理):Kether 脚本条件
  • coexist:限制同类型任务的并行数量
  • repeat:限制接受/完成次数
  • cooldown:冷却时间

脚本代理($)

$ 作为键,值为 Kether 脚本,脚本返回布尔值决定是否放行。

脚本代理示例
some_quest:
addon:
control:
- $: check permission example.quest # 检查权限

多行脚本写成列表:

多行脚本
some_quest:
addon:
control:
- $:
- check level >= 10
- check permission vip.quest

共存(coexist)

限制玩家同时进行的任务数量,按任务的 type 标签分类统计。

共存限制示例
some_daily_quest:
addon:
control:
- type: coexist
amount:
daily: 3 # daily 类型任务最多同时进行 3 个
weekly: 5 # weekly 类型任务最多同时进行 5 个

amount 下的键对应任务的 type 字段值。

重复(repeat)

限制玩家接受或完成任务的次数,可选周期重置。

重复限制示例
some_quest:
addon:
control:
- type: repeat accept # 触发时机:accept / complete / fail
amount: 3 # 最多接受 3 次
period: day 1 4 0 # 每天凌晨 4:00 重置次数(可选)
group: daily # 同组共享次数限制(可选)
字段类型默认值说明
typestringrepeat accept / repeat complete / repeat fail
amountint允许的最大次数
periodstring重置周期,如 day 1 4 0week 1 1 4 0
groupstring分组名,同组任务共享计数

数据存储格式:

quest.repeat.<group或questId>.<trigger>.amount
quest.repeat.<group或questId>.<trigger>.time

冷却(cooldown)

任务操作后进入冷却,冷却期内无法再次操作。

固定时长冷却
some_quest:
addon:
control:
- type: cooldown complete # 完成后冷却
time: 1h30m # 冷却 1 小时 30 分钟
group: daily # 同组共享冷却(可选)
周期重置冷却
some_quest:
addon:
control:
- type: cooldown accept # 接受后冷却
time: day 1 4 0 # 每天凌晨 4:00 重置
字段类型默认值说明
typestringcooldown accept / cooldown complete / cooldown fail
timestring固定时长(1h30m1d)或重置时间点(day 1 4 0
groupstring分组名,同组任务共享冷却

数据存储格式:

quest.cooldown.<group或questId>.<trigger>

组合示例

完整管控配置
some_quest:
addon:
control:
# 权限检查
- $: check permission example.quest

# 同时进行的 daily 任务不超过 3 个
- type: coexist
amount:
daily: 3

# 每天最多接受 1 次,每天凌晨 4:00 重置
- type: repeat accept
amount: 1
period: day 1 4 0
group: daily

# 完成后 24 小时冷却
- type: cooldown complete
time: 24h
group: daily
task:
0:
objective: ...
提示

repeatcooldowngroup 填相同值时,同组的所有任务共享这份计数/冷却数据,适合用于限制每日任务整体次数。