我的世界用简单的指令做一个随机分配队伍

2019-02-08 23:01:36作者:亦真亦假

我的世界中在分配人数平衡的队伍的前提下得先知道人数,所以下面这条指令是必须的:

循环:scoreboard players set @e[type=armor_stand] rs 0

连锁:execute @a ~ ~ ~ scoreboard players add @e[type=armor_stand] rs 1

当两条指令都运行后,盔甲架的rs分数将是当前的总人数。

分配队伍

1-得到总人数的一半

脉冲:scoreboard players operation @e[type=armor_stand] rs2 = @e[type=armor_stand] rs

循环:scoreboard players operation @e[type=armor_stand] rs2 /= @e[type=item_frame] rs

将盔甲架的rs2分数同等于rs的分数,就得到了2份总人数。rs2的实际作用则是用来计算总人数的一半,应用在吓一条指令。

而第二条指令则将盔甲架的rs2的分数除以物品展示框rs的分数(2分)就得到了一半的人数。

如果你想分配成3个、4个队伍可以更改物品展示框rs的分数。

总人数÷2=总人数的一半

连锁:execute @e[type=armor_stand,score_rs2_min=1] ~ ~ ~ scoreboard teams join 黑 @r[type=plyaer,team=]

连锁:execute @e[type=armor_stand,score_rs2_min=0] ~ ~ ~ scoreboard players remove @s rs2 1

连锁:execute @e[type=armor_stand,score_rs2_min=0,score_rs2=0] ~ ~ ~ scoreboard teams join 红 @a[type=player,team=]

这里其实特别简单,当盔甲架的rs2分数最小为1时,将一名随机的没有队伍的玩家加入到“黑”的队伍。当盔甲架的rs2分数最小为0时,扣除自己(盔甲架)rs2计分板的1分。与上一条指令合作将一半的人数加入“黑”队。当盔甲架的rs2分数最小为0、最大为0时,将所有没有队伍的玩家加入“红”的队伍。将剩下没有被加入“黑”队的一半玩家加入到“红”队。如果想分配多个队伍,只需要在第1条指令后再插入下面这条指令,更改其中的队伍名字。

连锁:execute @e[type=armor_stand,score_rs2_min=1] ~ ~ ~ scoreboard teams join 队伍 @r[type=plyaer,team=]

当然加入队伍命令方块的数量请与物品展示框的rs分数少1,不能相等或多1。

总结

当脉冲命令方块被激活得出盔甲架的rs2的时,将会进行队伍分配。

icb:scoreboard players operation @e[type=armor_stand] rs2 = @e[type=armor_stand] rs

rcb:scoreboard players operation @e[type=armor_stand] rs2 /= @e[type=item_frame] rs

execute @e[type=armor_stand,score_rs2_min=1] ~ ~ ~ scoreboard teams join 黑 @r[type=player,team=]

execute @e[type=armor_stand,score_rs2_min=0] ~ ~ ~ scoreboard players remove @s rs2 1

execute @e[type=armor_stand,score_rs2_min=0,score_rs2=0] ~ ~ ~ scoreboard teams join 红 @e[type=player,team=]

使所有玩家退出队伍的指令:

/scoreboard teams leave @e

相关新闻

游戏狗>我的世界>正文