欢迎光临散文网 会员登陆 & 注册

我的世界指令:密室杀手随机分配职业附自动清除职业+匹配区

2023-01-27 17:35 作者:小皮果吖  | 我要投稿

小皮果吖制作严禁搬运转载!

作者我的世界版本:网易手机版。

需要一定基础,不建议新手做。

一共20个命令方块,3条前置指令,1个盔甲架。

盔甲架命名为“

匹配区

”。

前置指令聊天栏输入

/scoreboard objectives add 人数 dummy /scoreboard objectives add 倒计时 dummy /scoreboard objectives add 密室杀手 dummy

匹配区人数显示(必弄)

①循环无条件保存开启(必弄) /scoreboard players set @e[type=armor_stand,name=匹配区] 人数 0 ②连锁无条件保持开启(必弄) /execute @a[匹配区范围自己填]~~~scoreboard players add @e[type=armor_stand,name=匹配区] 人数 1 ③连锁无条件保持开启(必弄) /titleraw @a[匹配区范围自己填] actionbar {"rawtext":[{"text":"§l§a匹配区§f|§6目前人数§b"},{"score":{"name":"@e[type=armor_stand,name=匹配区]","objective":"人数"}},{"text":"§f/10"},{"text":"\n§e倒计时§b "},{"score":{"name":"@e[type=armor_stand,name=匹配区]","objective":"倒计时"}}]}

匹配区倒计时检测+分配职业+显示职业+传送玩家(附防止bug)

⒈循环无条件保持开启(必弄) /scoreboard players set @e[name=匹配区,scores={人数=0..1},type=armor_stand] 倒计时 60 ⒉连锁无条件保持开启(可省) /scoreboard players set @e[name=匹配区,scores={人数=3..,倒计时=31..},type=armor_stand] 倒计时 30 ⒊连锁无条件保持开启(可省) /scoreboard players set @e[name=匹配区,scores={人数=6..,倒计时=11..},type=armor_stand] 倒计时 10 ⒋连锁无条件保持开启(必弄) /execute @e[type=armor_stand,name=匹配区,scores={人数=2}] ~~~scoreboard players random @a[匹配区范围自己填] 密室杀手 0 1 ⒌连锁无条件保持开启(必弄) /execute @e[type=armor_stand,name=匹配区,scores={人数=3..}] ~~~scoreboard players random @a[匹配区范围自己填] 密室杀手 0 2 ⒍连锁无条件保持开启(必弄) /execute @e[name=匹配区,scores={倒计时=0},type=armor_stand]~~~ title @a[scores={密室杀手=0},匹配区范围自己填] title §l§e你的身份是:§b平民 ⒎连锁无条件保持开启(必弄) /execute @e[name=匹配区,scores={倒计时=0},type=armor_stand]~~~ title @a[scores={密室杀手=1},匹配区范围自己填] title §l§e你的身份是:§b杀手 ⒏连锁无条件保持开启(必弄) /execute @e[name=匹配区,scores={倒计时=0},type=armor_stand]~~~ title @a[scores={密室杀手=2},匹配区范围自己填] title §l§e你的身份是:§b侦探 ⒐连锁无条件保持开启(可省) /execute @e[name=匹配区,scores={倒计时=0},type=armor_stand]~~~ title @a[匹配区范围自己填] subtitle §l§c密室杀手 ⒑连锁无条件保持开启(不怕bug就省) /execute @e[name=匹配区,scores={倒计时=0},type=armor_stand]~~~clear @a[匹配区范围自己填] ⒒连锁无条件保持开启(不怕bug就省) /execute @e[name=匹配区,scores={倒计时=0},type=armor_stand]~~~xp -9999L @a[匹配区范围自己填] ⒓连锁无条件保持开启(必弄) /execute @e[name=匹配区,scores={倒计时=0},type=armor_stand]~~~tp @a[匹配区范围自己填] 游戏场地坐标

离开游戏场地自动清除职业(不怕bug就省)

①循环无条件保持开启(必弄) /tag @a remove 已存在 ②连锁无条件保持开启(必弄) /tag @a[游戏场地范围自己填] add 已存在 ③连锁无条件保持开启(必弄) /scoreboard players reset @a[tag=!已存在] 密室杀手

减倒计时+最后10秒音效

①循环无条件保持开启延迟20(必弄) /scoreboard players remove @e[type=armor_stand,name=匹配区,scores={人数=2..}] 倒计时 1 ②连锁有条件保持开启(可省) /execute @e[type=armor_stand,name=匹配区,scores={倒计时=0..10}] ~~~playsound random.orb @a[匹配区范围自己填]

范围常用格式:

x= ,y= ,z= ,dx= ,dy= ,dz=

匹配逻辑:

♡用实体盔甲架作为<目标选择器>可以省去一个计分板。 ①检测匹配区范围的玩家,有则添加计分板分数。 ②当人数达到一定时设置倒计时为某数字,也就是大幅度减少倒计时,比如2人开始60秒倒计时,3人以上倒计时跳到30秒,6人以上倒计时跳到10秒。 ③当倒计时为0时先显示文字再传送到游戏场地。(文字会停一段时间且指令执行速度快,不用担心传送到游戏场地就没文字了)

分配职业逻辑

①随机分配计分板数字给玩家。 铺垫:职业参数(计分板分数),方便后续各职业的功能安排。(每个数字代表一个职业) ②以数字为参数分别给玩家显示文字告诉其职业。 ③防止后续bug,比如: ⒈玩家中途离开游戏场地 ⒉玩家携带其它物品(clear解决) ⒊玩家有经验误兑换武器(xp -9999L解决) ♡针对⒈解决逻辑: 当玩家在游戏场地重复给标签导致无法被清标签,所以计分板分数不会被重置。

额外可能发生的bug

①盔甲架被误清导致指令无法运行。 ②没有创建对应计分板导致指令不能运行。 ③没弄常加载区导致玩家离开指令区无法使用。 ④区域范围填写错误导致指令执行错误。 ⑤命令方块摆放错误导致指令不能运行。 ⑥设置没有开启“运行命令方块”导致所有命令方块都无效。 ⑦计分板分配数字恰好一样或不均。(作者试了几十次没遇到。) 等等,所以新人慎做,需要一定基础。

♡别人的指令不一定适合你。

♡仅供参考,不是给你照搬。

——完。

我的世界指令:密室杀手随机分配职业附自动清除职业+匹配区的评论 (共 条)

分享到微博请遵守国家法律