本帖最后由 贰逼 于 2015-7-26 20:20 编辑
获取执行值将会涉及到
stats用法
全索引链接
执行值便是一个指令除了输出外执行的结果,通常返回执行的次数,输出值或者条件真假。获取执行值就能够随机应变,根据判断来调整下一步输出;执行值也可以用作debug;执行值也可以变相获取游戏参数。
在指令中,返回值的指令是stats。使用这条指令可以对指令影响的实体、方块、物品进行值的返回,结合条件语句进行下一步输出;或者产生对应参数。
获取执行值将会涉及到
stats用法
全索引链接
上一篇(stats用法)--下一篇(stats与时钟)
§6.2 stats与条件语句
下一页为 结合表达式
既然stats是与计分板关联的,那么stats的执行值同样可以适用于所有条件语句中的结论,
比如或且非等等逻辑语句。
stats关联条件语句便是对事件执行值进行判断输出,使事件输出更加灵活。
可以将stats与条件语句看作两个模块,一个负责获取,一个负责处理条件,便达成了一个完整的输出。
6.1.1 结合表达式
由于条件语句都有固定的格式,这边只进一步阐述将本章内容分为两个模块的概念
例如:
检测所有实体的数量,如果数量>=3或者<=1就输出。
我们则可以将检测数量当作一个模块,条件输出再当作一个模块,那么指令如下:

按照顺序执行:
*获取执行值模块
*条件检测模块
效果:



由于>=3或<=1输出,所以当检测到两个实体无输出。
分析:
*执行获取
仍旧需要先设定初始值,
然后stats执行值关联计分板,
最后影响实体的方法有很多,这边考虑的获取数量不影响任何实体,所以testfor是一个很好的选择。
*条件检测
用到的就是条件语句且中的标准格式,
这个模块一定是在执行获取后面,因为先有值才有检测。
当然这个模块中条件语句所有逻辑关系标准格式通用。
附加部分
练习:
获取执行值
下一页为 stats与条件语句
本章将引进新的概念:执行值。
执行值便是一个指令除了输出外执行的结果,通常返回执行的次数,输出值或者条件真假。
获取执行值就能够随机应变,根据判断来调整下一步输出;执行值也可以用作debug;执行值也可以变相获取游戏参数。
在指令中,返回值的指令是stats。使用这条指令可以对指令影响的实体、方块、物品进行值的返回,
结合条件语句进行下一步输出;或者产生对应参数。
获取执行值将会涉及到
stats用法
- 所有执行类型
- 相对执行概念
- 计分板调用
- 实体储存
- 一般执行
- !非
- 且&&
- 或||
- 结合表达式
全索引链接
2021.12 数据,可能有更多内容
获取执行值下一页为 stats与条件语句本章将引进新的概念:执行值。执行值便是一个指令除了输出外执行的结果,通常返回执行的次数,输出值或者条件真假。获取执行值就能够随机应变,根据判断来调整下一步输出;执行值也可以用作debug;执行值也可以变相获取游戏参数。
在指令中,返回值的指令是stats。使用这条指令可以对指令影响的实体、方块、物品进行值的返回,结合条件语句进行下一步输出;或者产生对应参数。
获取执行值将会涉及到
stats用法
- 所有执行类型
- 相对执行概念
- 计分板调用
- 实体储存
- 一般执行
- !非
- 且&&
- 或||
- 结合表达式
全索引链接
上一篇(stats用法)--下一篇(stats与时钟)
§6.2 stats与条件语句
下一页为 结合表达式
既然stats是与计分板关联的,那么stats的执行值同样可以适用于所有条件语句中的结论,
比如或且非等等逻辑语句。
stats关联条件语句便是对事件执行值进行判断输出,使事件输出更加灵活。
可以将stats与条件语句看作两个模块,一个负责获取,一个负责处理条件,便达成了一个完整的输出。
6.1.1 结合表达式
由于条件语句都有固定的格式,这边只进一步阐述将本章内容分为两个模块的概念
例如:
检测所有实体的数量,如果数量>=3或者<=1就输出。
我们则可以将检测数量当作一个模块,条件输出再当作一个模块,那么指令如下:

按照顺序执行:
代码:
- /scoreboard players set @e[name=f] a 0
- /stats entity @e[name=f] set AffectedEntities @e[name=f] a
- /execute @e[name=f] ~ ~ ~ testfor @e
*获取执行值模块
代码:
- /execute @e[name=f,score_a=1] ~ ~ ~ /scoreboard players set @e[name=f] b 1
- /execute @e[name=f,score_a_min=3] ~ ~ ~ /scoreboard players set @e[name=f] b 1
- /execute @e[name=f,score_b_min=1] ~ ~ ~ say 1
*条件检测模块
效果:



由于>=3或<=1输出,所以当检测到两个实体无输出。
分析:
*执行获取
仍旧需要先设定初始值,
然后stats执行值关联计分板,
最后影响实体的方法有很多,这边考虑的获取数量不影响任何实体,所以testfor是一个很好的选择。
*条件检测
用到的就是条件语句且中的标准格式,
这个模块一定是在执行获取后面,因为先有值才有检测。
当然这个模块中条件语句所有逻辑关系标准格式通用。
附加部分
练习:
- 使用本文中的例子,将条件检测变更为实体数量!=2;
- 制作一个使用SuccessCount执行类型并关联条件检测的模块。
看不懂....
看不懂。。。帮顶
本帖最后由 lzs1234 于 2015-7-28 09:43 编辑
然而当实体个数为0的时候没有输出,是因为没有实体testfor @e 会失效吗?哦,盔甲架也是实体