Attached is a map I started, it's just an AOS I'm messing with basing heroes on Warhammer Online right now. Only one hero is totally completed, the Pyromancer. But all his spells are coded leakless in GUI and have floating damage numbers.
The damage numbers will always show in the color of the player that caused them. DoT spells show their DPS at the start rather than many small numbers over the duration. Damage moves up-left and heals move up-right.
Toggle the mode via chat commands:
-dn 0 turns off all numbers
-dn 1 turns on for only ultimates
-dn 2 turns on for all spells
Default is set at 2.
You can check the triggers to see how it works. I'm positive making a JASS function would be better but since I used GUI, I have to paste almost the same set of actions in every spell.
The pyromancer hero has a total of 10 abilities, but only 5 are loaded at a time. The map will have a "pick your abilities" thing but for now, you have to set them in the editor. The pyromancer ones are easy to find: they all start with PYR.P, PYR.A1, PYR.A2, and PYR.U for "primary (Q hotkey)" "active 1 (W hotkey) "active 2 (E hotkey)" and "ultimate (R hotkey)" i recommend only testing with one from each slot at a time since their button coords overlap and maybe their base abilities (all three PYR.A1 spells hotkey W and are position 1,2 in the command card).
So I hope this damage numbers system might help you design one for yourself.
Hope this helps you come up with a system.
PS: you will see a lot of globals are dedicated to this system, especially making the colors for each player. If you don't want it based on player color, it will be a lot simpler than mine. The map automatically spawns enemies so you can just play it in test mode and check out the numbers in action.