Used for custom command calls. Earlier = more negative. This is the exact line of code the editor uses to determine sort order:
sortOrder => (*int*)(bar * 10000 + beat * 100 + sortOrderOffset);
This means that, for events on the same bar and beat, it's the sortOrderOffset that determines which is called first.
Each event has a sort order event assigned to it in hardcode already.
The problem is, tags override these because tags just try to execute all the tagged events, it doesnt follow the sort order system.
Also All Prebar events are executed first, according to sort order, and then all Bar events.
Hence if you have a tag that calls a SetBeatSound, you should set:
MakeRow: -10
PlaySong: -9
PlaySound: -9
SetBeatSound: -1
AddBeat: -1