Kormiya
有4个实体在test记分板内的分数值分别为[1, 9, 3, 2]
请问如何获取4个实体的分数的排列(类似原版sidebar,但是需要将排列后的顺序存储到另一个记分板内)
例如在test2的记分板内,#2的分数为1,#3的分数为2,#4的分数为3,#1的分数为4

(版本 1.17.1

晴路卡
本帖最后由 晴路卡 于 2021-8-19 19:39 编辑

四个盔甲架开始时都带有test标签,执行:
  1. execute as @e[tag=test] run function test:do
复制代码

test/functions/do:
  1. tag @s add do
  2. scoreboard players set @s order 0

  3. execute as @e[tag=test] if score @s test > @e[tag=do,limit=1] test run scoreboard players add @e[tag=do,limit=1] order 1
  4. execute as @e[tag=test,tag=!listed] if score @s test = @e[tag=do,limit=1] test run scoreboard players add @e[tag=do,limit=1] order 1

  5. tag @s remove do
  6. tag @s add listed
复制代码

Chelover_C60
本帖最后由 Chelover_C60 于 2021-8-19 19:56 编辑
  1. scoreboard players set @e[scores={test=-2147483648..2147483647}] test2 1
  2. execute at @e[scores={test=-2147483648..2147483647}] as @e[scores={test=-2147483648..2147483647}] if score @s test > @e[limit=1,sort=nearest,scores={test=-2147483648..2147483647}] test run scoreboard players add @e[limit=1,sort=nearest,scores={test=-2147483648..2147483647}] test2 1
复制代码


参考自https://www.mcbbs.net/forum.php?mod=redirect&goto=findpost&ptid=1048886&pid=18298701

第一页 上一页 下一页 最后一页