天才一秒记住【第一中文网】地址:www.dyzww.cc
你应该知道是干什么的。最后一条execute指令,将会让所有玩家分别作为执行者,如果其死亡次数(death计分项中的分数)大于等于50(也就是many_dead_times这个假玩家在duibi计分项中的值),玩家自己就会收到一条消息:
兄弟,你已经死了x次了!
其中,x指的是这名玩家在计分板death上的分数,也就是他死亡的次数。
除去这个tellraw内的JSoN文本有一部分我们没学过以外,其他部分还是很容易理解的。
至于matches模式的比较就更简单了,这就是原本players test子命令的功能。其中的『范围』也就是采用和目标选择器一样的『两点法』。举个例子:
\/execute as @a if score @s death matches 50.. run 同上
这是上面例子的简化版,功能还是一样的。
值得注意的是,在基岩版中,『两点法』可以使用!来反选。比如:
\/execute if score @s death matches !10..15
这将会测试执行者自己在death计分板上的分数,如果分数不在10~15(含)的范围内就会测试通过。同样的,基岩版在其他能用到这种『两点法』的地方基本上也能够用『!』来反选,比如目标选择器。
最后,我们来看看前一章节就已经碰到过的predicate子命令:
... if|unless predicate <谓词条件Id>...
什么是谓词?我在上一章已经解释过了:
『在我们讲数据包之前(也有可能永远不会讲到),你可以将这东西当作是一个打包好的『判断函数』,在这个『判断函数』里面写了一些东西,可以判断当前游戏的情况是否符合指定的条件,如果符合则通过判断,如果不符合则不通过判断。比如里面写了一个『当前游戏正在下雨』的条件,当这个条件被调用时就会看看现在游戏是否在下雨,如果下雨就会通过判断,你的指令也就能够运行,反之就不会运行。』
举个简单的例子,假设有一位大佬做了一个数据包,其命名空间为『the_dark_forest』,里面有一个叫做『isRaining.json』的谓词条件。这个条件会判断当前世界是否在下雨,如果下的是普通的雨,就随机50%的几率使条件成立,如果下的是暴雨,这个几率会提升到80%。
我们可以通过如下命令来调用这个谓词条件:
\/execute ... if predicate the_dark_forest:isRaining ...
如果你调用这个谓词条件时,游戏里正在下普通的雨,那么你的指令就有50%的几率能够运行。如果下的是雷暴雨,那么就有80%的几率会运行。如果是晴天,那么不可能会运行。
当然,你也可以将if改为unless来反转条件:
\/execute ... unless predicate the_dark_forest:isRaining ...
这条指令和上面指令的运行条件完全是反着来的:如果是晴天,那么必定会运行;如果是普通的雨天,有50%的几率会运行;如果是雷暴雨,只剩下20%的几率会运行。
现在你懂了吧?让我们来做几道题目,巩固一下知识。
第一题:请写出下列execute指令成功运行的条件
1\/execute as @e[typ
本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!