我的世界中在分配人數平衡的隊伍的前提下得先知道人數,所以下面這條指令是必須的:
循環: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