player_failed.mcfunction 846 B

123456789101112131415161718192021
  1. # 玩家失败时由玩家自己触发
  2. # 计数
  3. tag @s remove mini_running
  4. execute store result score $alive mem if entity @a[tag=mini_running,tag=!watcher]
  5. execute store result score $t_finish mem if entity @a[tag=!mini_running,tag=!watcher]
  6. # 显示提示
  7. execute if entity @s[tag=!rejoining] if score $alive mem matches 1.. run tellraw @a [{"selector": "@s","color":"red"}," 已失败! 剩余 ",{"score": {"name": "$alive","objective": "mem"}}," 人!"]
  8. execute as @a at @s run function lib:sounds/error
  9. # 给存活的玩家加分
  10. scoreboard players add @a[tag=mini_running] mini_score 1
  11. # 进入旁观
  12. gamemode spectator @s
  13. spectate @r[tag=mini_running]
  14. # 如果只有一个玩家没有失败,则游戏结束
  15. # 这里设置成等于就不会触发多次 game_end 了
  16. execute if score $alive mem matches 1 run function mini:main/game_end