Vol. 16 如何检测死亡玩家
<h4>后台部分</h4>
<pre><code>tag @e remove 死亡锁存
tag @a[tag=死亡,tag=!死亡锁存]add 死亡锁存
tag @a add 死亡
tag @e[type=player]remove 死亡
execute @a[tag=死亡,tag=!死亡锁存]~~~ particle minecraft:cauldron_explosion_emitter ~~0.5~
execute @a[tag=死亡,tag=!死亡锁存]~~~ particle minecraft:knockback_roar_particle ~~0.7~
execute @a[tag=死亡,tag=!死亡锁存]~~~ playsound cauldron.explode @a[r=20]</code></pre>
<h4>备注</h4>
<p>>- 该项目暂无注释,欢迎联系我们补全项目注释</p>
<h4>更多</h4>
<h6>基本原理</h6>
<pre><code>//在命令块执行时,我们将循环块看作有间隔的执行,连锁块近似地看作无间隔的执行。
tag @a add 标记A
//标记所有玩家
tag @e remove 标记A
//排除所有存活玩家</code></pre>
<h6>死亡提示(标签法)</h6>
<pre><code>tag @e[type=player] add 标记B
//排除存活玩家
execute @a[tag=!标记B]~~~say 该玩家已死亡
//提示
tag @a add 标记B
//重置
tag @e[type=player]remove 标记B
//防止刷屏</code></pre>
<h6>死亡提示(记分板法)</h6>
<pre><code>[inif]--初始化
scoreboard objetives add Death dummy 死亡检测
[rcb-chain]--后台部分
scoreboard players set @a[scores={Death=!2}] Death 0
scoreboard players set @e[type=player] Death 1
scoreboard players set @a[scores={Death=0}] Death 2
execute @a[scores={Death=2}] ~~~ say 该玩家已死亡
</code></pre>
<h6>复活提示</h6>
<pre><code>execute @e[tag=标记C]~~~say 该玩家已复活
//提示
tag @a add 标记C
//重置
tag @e[type=player]remove 标记C
//标记存活玩家</code></pre>