第一中文网

第七十一章 条件子命令 (第4/5页)

天才一秒记住【第一中文网】地址: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

本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!

如遇章节错误,请点击报错(无需登陆)

新书推荐

游戏我有百倍爆率 遮天开始的人生模拟器 火影:从尸骨脉到轮回转生 重生魏晋南北朝 惊!替嫁娇妻是玄学大佬 西游之开局加入聊天群 邪王逆天宠