Settings\Schedules.yml 中文注释版🔗
本页为 CMI 插件计划任务(Scheduler)配置说明,对应配置文件
Settings/Schedules.yml。 计划任务文件,你可以设置命令按固定时间间隔或特定时间执行。 支持 PlaceHolderAPI 变量;关于特殊命令的更多信息可以在 https://www.zrips.net/cmi/commands/specialized/ 找到。
计划任务参数🔗
Enabled — (true/false)
只有启用的计划任务才会被包含 可以有 2 种类型:按固定时间间隔(以秒为单位)执行,或在特定时间执行
Delay — (数字)
定义每次动作之间等待多久,600 表示每 10 分钟执行一次动作
Randomize — false
如果设置为
true,那么只会使用定义命令中的一个随机命令。命令在全部用完之前不会重复。适用于重复随机公告
DuplicateRandomize — false
如果设置为
true,那么只会使用定义命令中的一个随机命令。命令可能会重复。适用于重复随机公告
SingleLinear — false
如果设置为
true,那么只会连续使用定义命令中的一个,不重复,直到所有命令都被执行。适用于需要按精确顺序逐一显示的场景
Repeat — true
如果设置为
false,动作只会执行一次,否则它将在间隔或特定时间反复执行
MinPlayers — (数量)
将限制执行命令时应该在线的最小玩家数量
MinPlayersCommands — (命令列表)
当在线玩家数量低于指定限制时要执行的命令列表
MaxPlayers — (数量)
如果在线玩家超过定义的数量,将跳过计划任务
Feedback — true
如果设置为
false,在没有足够玩家执行此计划任务时将不会在控制台显示反馈消息
DontTranslatePlaceholders — false
如果设置为
true,我们不会在发送命令到后续处理前翻译命令内的占位符 这默认为false,占位符会提前翻译delay!特殊命令变量除外,它总是会提前翻译
触发时间(PerformOn)🔗
PerformOn 部分将定义执行命令的特定时间。首先应定义名称,然后给出额外的时间段 它可以有 Month、Day、Hour、Minute、Second 部分。全部使用数字格式,小时使用 24 小时格式
你可以使用星期名称来指示该计划任务应该在每周的哪一天执行。示例 -
Day: MondayFirstMonthDay或LastMonthDay可以用来指示该计划任务应该在每月的哪一天执行。这会替换 Day 部分。示例 -FirstMonthDay: Friday将在每月的第一个星期五触发计划任务 这将设置命令在凌晨 4 点和 22:30 执行。这是在在线玩家较少时控制服务器备份的好方法
命令专用语法(Commands)🔗
在时间正确时要执行的命令列表 可以在单行中定义多个命令,用
;;分隔每个命令,例如:command1;;command2;;command3支持以下命令前缀: - 以
msg!开头并给出玩家名称:如果该玩家在线,将向其发送一条简单消息 - 以broadcast!开头:将以简单方式向服务器上的所有人发送消息 - 以actionbar!开头:所有玩家将获得在此变量之后定义的动作栏消息 - 以title!开头:所有玩家将获得在此变量之后定义的标题消息 - 以subtitle!开头:所有玩家将获得在此变量之后定义的副标题消息 - 以kickall!开头:所有玩家将被踢出服务器并显示定义的消息。在服务器停止前很有用 - 以perm:[permissionNode]!开头:如果玩家拥有权限节点,命令将执行。当我们不知道目标玩家是谁时这不会起作用。例如:perm:cmi.announce.vip! broadcast! Hello vip guys - 以moneycost:[amount]!开头:如果玩家有足够的金钱,命令将执行 - 以expcost:[amount]!开头:如果玩家有足够的经验值,命令将执行 - 以allPlayers!开头:命令将通过使用每个在线玩家的名称来执行。命令本身需要包含 [allPlayers] 来指示玩家名称需要添加在哪里 - 插入delay! 5行以在计划任务触发后 5 秒执行剩余命令。这允许在服务器停止前创建例如倒计时 -[randomPlayer]占位符可以用来获取没有 cmi.scheduler.exclude 权限节点的随机在线玩家名称。这可以用于在特定时间给随机玩家发放奖励。例如:cmi give [randomPlayer] diamond %rand/1-5% 将给随机在线玩家 1 到 5 颗随机数量的钻石
调度器示例🔗
GiveDiamonds(发放钻石)🔗
Enabled — false
是否启用该调度器
MinPlayers — 3
执行命令时至少需要在线的最小玩家数量
FeedBack — true
是否在控制台显示反馈消息
Repeat — true
是否重复执行
PerformOn — 18:00
定义执行时间
Commands — (命令列表)
执行时执行的命令
Commands:
- cmi give [randomPlayer] diamond %rand/1-5%
- msg! [randomPlayer] &eYou just got diamonds!
StopServer(停止服务器)🔗
Enabled — false
是否启用该调度器
PerformOn — 03:59:30
定义执行时间
Commands — (命令列表)
执行时执行的命令(倒计时后踢出所有玩家并停止服务器)
Commands:
- actionbar! &eServer will stop in &630 &esec!
- delay! 5
- actionbar! &eServer will stop in &625 &esec!
- delay! 5
- actionbar! &eServer will stop in &620 &esec!
- delay! 5
- actionbar! &eServer will stop in &615 &esec!
- delay! 5
- actionbar! &eServer will stop in &610 &esec!
- delay! 5
- actionbar! &eServer will stop in &65 &esec!
- delay! 1
- actionbar! &eServer will stop in &64 &esec!
- delay! 1
- actionbar! &eServer will stop in &63 &esec!
- delay! 1
- actionbar! &eServer will stop in &62 &esec!
- delay! 1
- actionbar! &eServer will stop in &61 &esec!
- delay! 1
- kickall! &eServer will be back online soon!
- delay! 1
- stop
AllInOneJustExample(综合示例)🔗
Enabled — false
是否启用该调度器
MinPlayers — 3
执行命令时至少需要在线的最小玩家数量
MaxPlayers — 10
如果在线玩家超过定义的数量,将跳过计划任务
FeedBack — false
是否在控制台显示反馈消息
Delay — 600
定义每次动作之间等待多久
Repeat — true
是否重复执行
PerformOn — (多个时间段)
定义执行时间,可包含 Month、Day、Hour、Minute、Second 部分
Commands — (命令列表)
执行时执行的命令
Commands:
- cmi give [randomPlayer] diamond %rand/1-5%
- msg! [randomPlayer] &eYou just got diamonds!
- broadcast! &e[randomPlayer] just got some stuff!
- delay! 1
- actionbar! &eServer will stop in &61 &esec!
- kickall! &eServer will be back online soon!
Announcer(公告)🔗
Enabled — false
是否启用该调度器
MinPlayers — 1
执行命令时至少需要在线的最小玩家数量
FeedBack — false
是否在控制台显示反馈消息
Delay — 600
定义每次动作之间等待多久
Repeat — true
是否重复执行
Randomize — true
随机选取一条命令执行
Commands — (命令列表)
执行时执行的命令