function sort(indices: strings, values: numbers, descending: boolean = true) :: strings:
loop {_indices::*}:
set {_sort::%{_values::%loop-index%}%.%loop-index%} to loop-value
return (reversed {_sort::*}) if {_descending} is true, else {_sort::*}
on break:
add 1 to {broken::%player's uuid%}
every 5 minutes:
set {broken::*} to sorted((indices of {broken::*}), {broken::*})
command /blocktop:
trigger:
if (size of {broken::*}) >= 10:
set {_n} to 1
loop {broken::*}:
set {_p} to loop-index parsed as a offline player
send "%{_n}%. %{_p}%: %loop-value%"
add 1 to {_n}
if {_n} > 10:
exit loop
else:
send "&cNot enough data."
I haven't tested it yet but please come back with errors if possible.