希望检测..20里面的玩家数量 然后输出结论在一个记分版上 例如..20范围内有5个玩家 记分版B就是5 2个玩家记分版B就是2
我现在的做法是1. execute as @a at @s if @a[xxxxx,distance=..20] 然后 run 记分版@s A set 1 然后连锁命令方块 条件制约 @a[XXXX] 记分版B +1
2. execute as @a at @s if @a[xxxxx,distance=20..] 然后 run 记分版@s A set 0 然后连锁命令方块 条件制约 @a[XXXX] 记分版B -1
其中xxxx是特殊nbt 就不详细写是什么特殊nbt了 当成是team=123就行
可是当别的玩家使用类似home什么的时候 B记分版就出现错误了 即使A记分版还是..20的人才是都是1 可是有5个人是1的时候B记分版的数字可能才是4或者3
求更好的解决方案
避免数据包
我现在的做法是1. execute as @a at @s if @a[xxxxx,distance=..20] 然后 run 记分版@s A set 1 然后连锁命令方块 条件制约 @a[XXXX] 记分版B +1
2. execute as @a at @s if @a[xxxxx,distance=20..] 然后 run 记分版@s A set 0 然后连锁命令方块 条件制约 @a[XXXX] 记分版B -1
其中xxxx是特殊nbt 就不详细写是什么特殊nbt了 当成是team=123就行
可是当别的玩家使用类似home什么的时候 B记分版就出现错误了 即使A记分版还是..20的人才是都是1 可是有5个人是1的时候B记分版的数字可能才是4或者3
求更好的解决方案
避免数据包
本帖最后由 阴阳师元素祭祀 于 2020-8-26 18:38 编辑
太长不看的理解:
记录@s玩家周围玩家数量到sb上(包括自身)
/execute store result score player_number DoNotTemp run execute if entity @a[distance=..20]
/execute store result score {NAME} {SB_NAME} run execute if entity @a[distance=..20]
【就算看完了正文也有点理解不了】
太长不看的理解:
记录@s玩家周围玩家数量到sb上(包括自身)
/execute store result score player_number DoNotTemp run execute if entity @a[distance=..20]
/execute store result score {NAME} {SB_NAME} run execute if entity @a[distance=..20]
【就算看完了正文也有点理解不了】
本帖最后由 Jokey_钥匙 于 2020-8-26 22:59 编辑
别问为什么回复了你yys 点错了(
execute as @a at @s store result score @s B if entity @a[xxx,distance=..20]
令所有玩家检测周围20格xxx玩家的数量并将结果输出到自身的计分板B上
看来不是命令的执行不理解
execute看懂了再写啊!!!
阴阳师元素祭祀 发表于 2020-8-26 18:37
太长不看的理解:
记录@s玩家周围玩家数量到sb上(包括自身)
/execute store result score player_number ...
别问为什么回复了你yys 点错了(
execute as @a at @s store result score @s B if entity @a[xxx,distance=..20]
令所有玩家检测周围20格xxx玩家的数量并将结果输出到自身的计分板B上
看来不是命令的执行不理解
execute看懂了再写啊!!!
阴阳师元素祭祀 发表于 2020-8-26 18:37
太长不看的理解:
记录@s玩家周围玩家数量到sb上(包括自身)
/execute store result score player_number ...
你这里run后面的execute忘了写as xxx at @s 了 只会是以命令方块为圆点开始计算
不过还是谢谢了
吹风机客户 发表于 2020-8-27 16:09
你这里run后面的execute忘了写as xxx at @s 了 只会是以命令方块为圆点开始计算
不过还是谢谢了 ...
怎么想这种事情都是用循环命令方块实在= =