Sorts src into blocks of stride, in ascending order if ascending is TRUE, descending order if ascending is FALSE, and returns a new list. src is not changed. If ascending is not equal to TRUE then it is considered FALSE (not typical in LSL).

Setting stride to either 0 or 1 sorts each item in the list. For any other number, if the length of src is not a multiple of stride this function will silently fail.

Strides

"strides" are groups of related data. For example, if you are storing information about vegetables, and you want to store the vegetable name, its color, and how many of them you have, you might have a list like this:

"carrots", "lettuce" and "onions" are now sorted into alphabetical order.

If data types do not match, llListSort still returns a modified list, but the results are strange. Note that while the above example uses a list containing both strings and integers, because the stride is set to 3, llListSort only sorts the list according to the string containing the name of the vegetable.

I've been doing a bit of research into this function and here is how it sorts mixed lists. It sorts the list by each type, then it recombines the sorted result by type, so if the first position was a key, then in the output the first position is a key. So...