|前言|
特殊的命令用法,该用法仅适用于以下功能中的命令格式
Ranks(位阶)Scheduler(定时任务)Portals(传送门)
EventCommands(自定义行为指令)Interactive Commands(交互指令)
Kits(礼包)custom alias(自定义指令别名)
|用法|
- 每条指令只能使用一个特殊指令格式,否则,将使用最后一个格式
- 若指令中包含[playerName]变量,则指令将执行给目标玩家,该功能无法适用于定时任务,因为定时任务是一个全局性的功能,无法特指一个玩家
- 若指令以 msg! 开头,若指明一个玩家,则该指令会给玩家发送一条消息,如:
- 若指令以 broadcast! 开头,则会发送一条公告信息给所有在线玩家,且无任何前缀信息,如:
- - broadcast! &e7输入&e/rules&7查看服务器规则
复制代码- 若指令以 actionbar! 开头,则会发送一条Actionbar(物品栏上方)消息给所有在线玩家,如:
- - actionbar! &7服务器将在 &61 &7秒后关闭
复制代码- 若指令以 title! 开头,则会发送一条Title(屏幕中间第一行)消息给所有在线玩家,如:
- - title! &7欢迎来到&Bxxx&7服务器
复制代码- 若指令以 subtitle! 开头,则会发送一条Title(屏幕中间第二行)消息给所有在线玩家,如:
- 若指令以 kickall! 开头,则会踢出所有在线玩家并发送一条提示消息,如:
- - kickall! &e服务器已关闭,请稍后再来!
复制代码- 若指令以 asPlayer! 开头,则会以玩家身份执行对应的指令,如
- 若指令以 asConsole! 开头,则会以控制台身份执行对应的指令,如
- - asconsole! give stick [playerName]
复制代码- 若指令以 asFakeOp! 开头,则会以伪造OP的身份执行命令
- 这与asConsole稍有不同,该功能不会使执行指令的玩家和后台收到任何提示消息
- 若指令以 cooldown:[秒]! 开头,则该行(若已指定)指令或下方的所有行都将在[秒]后执行,
- 如下方,意思为立即治疗玩家,但是在20秒之内你无法再次执行该操作指令来治疗这名玩家了
- 通俗来讲就是,如果我设置玩家进服执行heal执行,然后在立即退出服务器又立即进来
- 期间时间不超过20秒,则玩家再次进入服务器不会执行heal指令
- cooldown:20! cmi heal [玩家名]
复制代码- 若指令以 perm:[permissionNode]! 开头,若玩家有对应的权限则执行指令,未指定玩家则无效
- - perm:cmi.announce.vip! broadcast! 欢迎你,尊敬的VIP玩家
复制代码- 若指令以 moneycost:[数量]! 开头,若玩家有足够的钱则执行指令
- - moneycost:[100]! killall
复制代码- 若指令以 hasmoney:[amount]! 开头,则当玩家有足够的钱才能继续执行下面的操作,否则停止
- 若指令以 expcost:[amount]! 开头,若玩家有足够的经验则执行指令
- 若指令以 hasexp:[amount]! 开头,则当玩家有足够的经验才能继续执行下面的操作,否则停止
- 若指令以 item:[itemdata](-amount)! 开头,若玩家有指定的物品则执行指令
- 若指令以 hasitem:[itemdata](-amount)! 开头
- 则当玩家有足够的物品才能继续执行下面的操作,否则停止
- 若指令以 ifonline:[玩家名]! 开头,则指定玩家在线时才会执行指令
- [玩家名]可以指定一名玩家或使用变量[playerName]
- - ifonline:Azitate! killall
复制代码- 若指令以 ifoffline:[玩家名]! 开头,则指定玩家离线时才会执行指令
- [玩家名]可以指定一名玩家或使用变量[playerName]
- - ifoffline:Azitate! heal
复制代码- 若指令以 ifempty:[hand/offhand/quickbar/armor/inv/subinv]! 开头
- 上方[]中的参数分别对应[主手][副手][快捷栏][装备栏][背包][子背包]
- 则若玩家指定区域内无任何物品则执行指令,如下方的例子为,快捷栏有三个空白格或以上即可执行
- - ifempty:quickbar-3! killall
复制代码- 若指令以 votes:[数量]! 开头,则玩家有指定数量的票数才可执行指令
- 若在使用中在两行之间插入 delay! [秒] 则延迟指定秒后继续执行下方操作,如:
- - cmi launch [playerName]
- - delay! 2
- - cmi launch [playerName]
复制代码- [randomPlayer]会随机获取一位没有 cmi.scheduler.exclude 权限的玩家名称
- 这可用于随机给予一名玩家5颗钻石这样的指令
- - cmi give [randomPlayer] diamond %rand/1-5%
复制代码- 若指令以allPlayers! 开头,则给服务器所有在线玩家执行指令
- 变量[allPlayers]需在填写玩家名的地方输入
- - allPlayers! cmi heal [allPlayers]
复制代码
|附加|
- perm:[value][@][?][#]!
- bperm:[value][@][?][#]!
- moneycost:[value][?][#]!
- expcost:[value][?][#]!
- hasmoney:[value][@][?][#]!
- hasitem:[value][@][?][#]!
- item:[value][?][#]!
- hasexp:[value][@][?][#]!
- votes:[value][@][?][#]!
- cooldown:[value][?][#]!
- ifonline:[value][?][#]!
- ifoffline:[value][?][#]!
- ifempty:[value][?][#]!
- click:[value][#]!
- ifinworld:[value][@][?][#]!
复制代码 以上均用于检查玩家是否符合以上对应的要求,符合才会执行指令,如:
拥有cmi.testperm权限时才会执行/cmi heal [玩家名]若玩家没有则不会执行
- <font color="#000000">- p</font>erm:cmi.testperm! cmi heal [playerName]
复制代码 如果你想告诉玩家你没有足够的条件执行命令,则需要在!号前面加一个?号
- - perm:cmi.testperm?! cmi heal [playerName]
复制代码 若当玩家没有足够的条件时,不会继续执行下面的操作,则需要在!前加一个#
如下方,如果玩家没有150金币,则不会执行/cmi heal,因为加了#,所以下面的/cmi feed也不会执行
- - moneycost:150#! cmi heal [playerName]
- - cmi feed [playerName]
复制代码 若你想实现相反的效果,即当玩家没有权限节点/钱/经验时才会执行指令
则在!前加上@号,如下方,当玩家没有cmi.testperm权限时才会执行/cmi heal
- - perm:cmi.testperm@! cmi heal [playerName]
复制代码 若你想让玩家仅处于特定世界时才会执行指令,则需要使用如下
仅当玩家在下方所指示的世界中时,指令才会执行
- - ifinworld:[世界名][@][?][#]! killall
复制代码 附加条件有:检查相反的条件、关闭提示、停止继续执行操作的功能
完整的附加格式看起来应该像下面这样:
若没有cmi.testperm权限时执行/cmi heal和下面的feed指令
若有则不执行这两条指令且不发送任何提示信息
- - perm:cmi.testperm@?#! cmi heal [playerName]
复制代码- 若指令以 bperm:[权限节点][@][?][#]! 开头
- 则跳过CMI在游戏内的权限检查
- 这是什么意思?比如你写了一条
- bperm:cmi.command.heal! cmi heal
复制代码- 则允许玩家使用/cmi heal来治疗自己而无需cmi.command.heal权限节点
- 可用于创建消耗品来让玩家使用它们通常无法使用的情况
- 以下内容不敢保证准确,若您有更好的想法可以在帖子下回复我
- 若指令以 ptarget:[名称]! 为开头
- 是仅能从控制台执行的特殊指令动作
- 更新变量或检查执行条件时name将自动更换为目标玩家名称
- 比如使用/givehomes这样的自定义命令简写可表示为
- - ptarget:$1! lp user $1 permission set ......消息过长影响排版请前往原WIKI查看完整示例
复制代码
- 这样你就可以在控制台输入/givehomes Zrips给Zrips添加新的权限节点
- 上方的例子表示让Zrips所能设置的最大家数增加1个
- 若指令以 click:[数值]! 为开头
- 其中的数值可填写: left、right、leftshift、rightshift
- 这表示当玩家以特定方式与方块交互时才会执行指令,如:
- - click:leftshift! killall
复制代码 |