Okay, let's start
loop {Kills::*}:
add 1 to {_size}
if {_low.to.high.list::%loop-value%} is not set:
set {_low.to.high.list::%loop-value%} to loop-index
else:
set {_n} to 0
loop {_size} times:
set {_n} to {_n}+1
{_low.to.high.list::%loop-value-1%.%{_n}%} is not set
set {_low.to.high.list::%loop-value-1%.%{_n}%} to loop-index
stop loop
wait 1 tick
set {_n} to size of {_low.to.high.list::*}
loop {_low.to.high.list::*}:
set {_high.to.low.list::%{_n}%} to loop-value
set {_n} to {_n}-1
Essentially, this whole system sorts the variable list, in this case {Kills::*} into descending order (from largest number to smallest). This works with just vanilla skript, but if you want to compact it, Morkaz has a nice one line way of doing this. (though, in vanilla you could sort it then reverse it, but personally I prefer morkaz' format way)
set {_list::*} to sorted {Kills::*} from highest to lowest with format "@index"
Essentially, this lists them from highest to lowest with the format "@index", meaning it's the number on the list (for example, {_list::1}). You could also format it like "@index: $@value", but you could play around with it more.
Anyways, now that you have this sorted list, you want to loop it and for the first 10 people broadcast it (then stop after that), which is essentially what the last bit of code does
set {_i} to 0
#THIS IS THE MESSAGE WITH TOP KILLS
send "&7&m-----------&8< &6Top10 &8>&7&m-----------"
loop {_high.to.low.list::*}:
add 1 to {_topnumber}
set {_player} to "%loop-value%" parsed as offlineplayer
send "&7%{_topnumber}% - &c%{_player}% &8» &7%{Kills::%loop-value%}% Kills"
add 1 to {_i}
if {_topnumber} > 10: #this is top 10 you can change it
stop
send "&7&m------------------------------"