I use one. In my case, I have decided that what I like to do is to have a file that takes one line of tray icons, in my case row 2, and I have it so that when I press the spacebar it launches the powers on my tray for my attack rotation one by one very quickly from left to right. Sometimes it automatically launches the first one that is not on cooldown and the next one as well with just one keypress. If you spam the key you can literally launch all of them across the whole row in about 3 or 4 seconds, delayed only by some powers that have a launch time, and have all your buffs and debuffs that can fit in one row all applied at once, timed right while you have your enemy in your sights. This happens way way faster than it would if you click them all one by one with the mouse while trying to steer your ship. In short, it's COMPLETELY unfair. I love it. They will wilt before your glorious orgy of firepower. To do that, a section for that in my text file looks like this:
|spacebar will run the attack rotation on tray 2
space "+STOTrayExecByTray 1 0 $$ +STOTrayExecByTray 1 1 $$ +STOTrayExecByTray 1 2 $$ +STOTrayExecByTray 1 3 $$ +STOTrayExecByTray 1 4 $$ +STOTrayExecByTray 1 5 $$ +STOTrayExecByTray 1 6 $$ +STOTrayExecByTray 1 7 $$ +STOTrayExecByTray 1 8 $$ +STOTrayExecByTray 1 9 $$ +STOTrayExecByTray 1 8 $$ +STOTrayExecByTray 1 7 $$ +STOTrayExecByTray 1 6 $$ +STOTrayExecByTray 1 5 $$ +STOTrayExecByTray 1 4 $$ +STOTrayExecByTray 1 3 $$ +STOTrayExecByTray 1 2 $$ +STOTrayExecByTray 1 1 $$ +STOTrayExecByTray 1 0"
The top line starts with a pipe symbol | which acts as a REM or remark command in this script file, doing nothing, and you use it as a note so you can remember what it does later.
The actual script line starts with the key [space for spacebar], then lists all the power tray slots by row and number and tells it to execute each in turn. Note that for this to work well, automatically running the powers from left to right, for some reason the script has to list all the tray slots one by one from left to right, and then back again. The row and tray numbers go from 0 to 9 rather than from 1 to 10. So row 0 = row 1, row 1 = row 2, and so on. So what this script is doing is listing row 2 slot 1 through 10, then back down to 1 again, and for some reason it just works great. What I do is I line up all my powers like attack patterns, other buffs and debuffs, with the ones with the highest duration to the left and the least duration to the right, with the idea being that I will hit my enemy with a giant, orgasmic alpha strike with everything applying to my damage at once. This is an extreme example, where I have a toon that has 10 things that I'd like to trigger all at once to smash someone with. Most of my toons stop at "+STOTrayExecByTray 1 6 $$" or so and then count back down to zero, so the space bar button only triggers up to 7 powers. I find that you can hit it selectively, while watching the tray, and that way you can save some things for later, or time them better. I usually have a secondary button for things like exotic damage, which in my play style is a secondary thing that I'll use when I really want to ramp up damage. I only have typically 3 or 4 tray powers for exotic that can stack to mess up my foes because I don't play very science-centric ships. I trigger those with the minus key on the keypad so I can just use my mouse hand to tap it several times quickly and launch them all at an opportune time. So those would be red matter capacitor, the Romulan cloak and science buff reputation tier 5 power, followed by the highest grav well I can slot and then the Temporal Tier 5 attack for when I get closer [5km or less I think].
Although I never use them, here are other scripts I put in my script that do work, if the right powers are in the right slots:
|keys 1 through 5 will select team members 1 through 5, with 1 being self, and run the hull heals on tray 1
1 "Target_self 1 $$ +STOTrayExecByTray 0 7 $$ +STOTrayExecByTray 0 8 $$ +STOTrayExecByTray 0 9 $$ +STOTrayExecByTray 0 8 $$ +STOTrayExecByTray 0 7"
2 "TargetTeammate 1 $$ +STOTrayExecByTray 0 7 $$ +STOTrayExecByTray 0 8 $$ +STOTrayExecByTray 0 9 $$ +STOTrayExecByTray 0 8 $$ +STOTrayExecByTray 0 7"
3 "TargetTeammate 2 $$ +STOTrayExecByTray 0 7 $$ +STOTrayExecByTray 0 8 $$ +STOTrayExecByTray 0 9 $$ +STOTrayExecByTray 0 8 $$ +STOTrayExecByTray 0 7"
4 "TargetTeammate 3 $$ +STOTrayExecByTray 0 7 $$ +STOTrayExecByTray 0 8 $$ +STOTrayExecByTray 0 9 $$ +STOTrayExecByTray 0 8 $$ +STOTrayExecByTray 0 7"
5 "TargetTeammate 4 $$ +STOTrayExecByTray 0 7 $$ +STOTrayExecByTray 0 8 $$ +STOTrayExecByTray 0 9 $$ +STOTrayExecByTray 0 8 $$ +STOTrayExecByTray 0 7"
|Function keys 1 through 5 will select team members 1 through 5, with 1 being self, and run the shield heals on tray 1
F1 "Target_self 1 $$ +STOTrayExecByTray 0 0 $$ +STOTrayExecByTray 0 1 $$ +STOTrayExecByTray 0 2 $$ +STOTrayExecByTray 0 1 $$ +STOTrayExecByTray 0 0"
F2 "TargetTeammate 1 $$ +STOTrayExecByTray 0 0 $$ +STOTrayExecByTray 0 1 $$ +STOTrayExecByTray 0 2 $$ +STOTrayExecByTray 0 1 $$ +STOTrayExecByTray 0 0"
F3 "TargetTeammate 2 $$ +STOTrayExecByTray 0 0 $$ +STOTrayExecByTray 0 1 $$ +STOTrayExecByTray 0 2 $$ +STOTrayExecByTray 0 1 $$ +STOTrayExecByTray 0 0"
F4 "TargetTeammate 3 $$ +STOTrayExecByTray 0 0 $$ +STOTrayExecByTray 0 1 $$ +STOTrayExecByTray 0 2 $$ +STOTrayExecByTray 0 1 $$ +STOTrayExecByTray 0 0"
F5 "TargetTeammate 4 $$ +STOTrayExecByTray 0 0 $$ +STOTrayExecByTray 0 1 $$ +STOTrayExecByTray 0 2 $$ +STOTrayExecByTray 0 1 $$ +STOTrayExecByTray 0 0"
These take a key associated with each teammate and cast either shield or hull healing powers on them. In the examples here the hull heals are in tray 1, slots 8, 9 and 10. So if you spam the 2 key, it will target teammate 1 in your group, and hit powers in row 1, powers 8, 9 and 10. Likewise, the other set does the shield heals I had on the left side of the row.
To load the file once you have it set up, you have to use the following command: /bind_load_file [path and filename]. I used to be able to just run it like this, /bind_load_file filename.txt, as long as the filename.txt file was in the Live folder in the installation directory, but for some reason these days when I'm loading it, it doesn't work unless I include the whole path, which I just copy from the address bar in windows. So my command, to load it is:
/bind_load_file C:\Program Files (x86)\Steam\steamapps\common\Star Trek Online\Star Trek Online\Live\filename.txt
Looks long and complicated, but all you have to do is type in the /bind and the chat window will pop up auto complete options, just pick the /bind_load_file one and paste in the path from File Explorer to your file folder. Then type in the name of the file.
One last thing: on mine, I found that it messes up some default key binds, like movement and throttle controls in space. I just go into options after the file load and re-map them again, and I am all set. I could probably fix it if I monkeyed around with it enough, but I can correct it so fast now when I rarely load the file that I don't care.
Hope this helps to give you some ideas on what you can do with this. It is a VERY worthy thing to follow up on to improve your game.