第一中文网

第六十一章 tat与指令的输出结果 (第2/2页)

天才一秒记住【第一中文网】地址:www.dyzww.cc

悉一下具体的操作流程。

假设这是一个命令方块,它位于坐标12,24,81处——>?

我们要获取整个服务器现在一共有多少名玩家,首先就需要准备一个计分项以及一个正在被该计分项追踪的目标。请注意,必须是在该计分项上有分数的目标,否则\/stats会无法修改分数(因为\/stats指令只能修改分数而不能添加追踪目标)!

假设你已经准备好一个叫做information的计分项和一个正在被该计分项追踪的虚假玩家players。现在,运行下面的指令:

\/stats block 12 24 81 set Successcount players information

此时游戏会返回信息:将Successcount项统计信息储存在了players的information上。这样子写可能会误导一些玩家,实际上这时候才开始追踪,并没有开始获取结果并修改记分板上的分数。

为了方便观察,你可以把information计分项显示在侧边栏或其他地方,然后在?命令方块处输入:

testfor @a

最后拉下拉杆。假设此时在线玩家为3,你就会发现players的分数变成3了!

如果你拉下拉杆后服务器又进入一名玩家,此时你再次运行命令方块,你就会发现players的分数又变为4了!

使用起来是不是很简单?别看用的时候很简单,清理的时候可别搞错了。

使用\/stats指令追踪一个方块或实体,如果我们没有及时停止追踪,游戏就会一直追踪下去!因此,请你最好在指令执行完成后再加一句:

\/stats block 12 24 81 clear Successcount

这句指令的意思是:停止追踪?命令方块的Successcount类结果信息

清除时请注意一点,结果类型一定要一样!因为每一个追踪项都是精细到结果类型的,结果类型填错了就变成清理其他追踪项,这点一定要注意!如果你忘记了结果类型,只能把五个类型全部清一遍(mojang没有提供查询追踪项的方式)。

这就是\/stats指令的用法。使用\/stats指令,你可以跟踪获取到方块执行指令的结果、玩家执行指令的结果和作用在跟踪目标上的\/execute子命令运行的结果,并根据这些结果修改记分板上的分数。

对了,使用\/stats时请注意一点,跟踪的目标有没有被其他正处于循环当中的execute指令影响到,如果有的话,获取到的结果就会被污染!!!

现在你会用\/stats了吗?我们下一章见。

stats历史

Java

1.8——加入了\/stats指令

1.13——移除了\/stats指令,改用更先进的\/execute存储子命令。关于\/execute在Java1.13更新后的使用方式,我们下一卷会讲到。

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

新书推荐

都市超品仙医 活在两个世界 大秦:这个太子总想着造反 与其说瞎话不如 穿越万界:神功自动满级 诛神乾坤 多子多福,仙女都被他抢了怎么办