Ver Fonte

让两个人的时候跑酷可以结束

LTCatt há 6 anos atrás
pai
commit
4525763eae

+ 1 - 0
data/mini/functions/main/player_failed.mcfunction

@@ -3,6 +3,7 @@
 # 计数
 tag @s remove mini_running
 execute store result score $t_alive mem if entity @a[tag=mini_running,tag=!watcher]
+execute store result score $t_finish mem if entity @a[tag=!mini_running,tag=!watcher]
 execute if entity @s[tag=!rejoining] if score $t_alive mem matches 1.. run tellraw @a [{"selector": "@s","color":"red"}," 已失败! 剩余 ",{"score": {"name": "$t_alive","objective": "mem"}}," 人!"]
 
 # 给存活的玩家加分

+ 5 - 3
data/mini/functions/main/player_finished.mcfunction

@@ -2,8 +2,9 @@
 
 # 计数
 tag @s remove mini_running
+execute store result score $t_alive mem if entity @a[tag=mini_running,tag=!watcher]
 execute store result score $t_finish mem if entity @a[tag=!mini_running,tag=!watcher]
-execute if score $t_finish mem matches ..3 run tellraw @a [{"selector": "@s","color":"green"}," 已成功! 第 ",{"score": {"name": "$t_finish","objective": "mem"}}," 名!"]
+execute if entity @s[tag=!rejoining] if score $t_finish mem matches ..3 run tellraw @a [{"selector": "@s","color":"green"}," 已成功! 第 ",{"score": {"name": "$t_finish","objective": "mem"}}," 名!"]
 
 # 给已完成的玩家加分
 scoreboard players add @a[tag=!mini_running] mini_score 1
@@ -12,6 +13,7 @@ scoreboard players add @a[tag=!mini_running] mini_score 1
 gamemode spectator @s
 spectate @r[tag=mini_running]
 
-# 如果有三个玩家成功,则游戏结束
+# 如果有三个玩家成功,或只有一个玩家未成功,则游戏结束
 # 这里设置成等于就不会触发多次 game_end 了
-execute if score $t_finish mem matches 3 run function mini:main/game_end
+execute if score $t_finish mem matches 3 run function mini:main/game_end
+execute if score $t_finish mem matches ..2 if score $t_alive mem matches 1 run function mini:main/game_end