1. Your for loop is handling that just fine. If there are 3 players, your loop executes 3 times.
2. You should always use the BP_* functions to get the actual ability.
3. Unfortunately, there is no Command Point cost modifier for abilities. There is an Action Point cost modifier, though, that you would need to create your own function for. The best thing would be to create a Tuning Pack to adjust costs.
4. The best way would be to edit the abilities in a Tuning Pack. Otherwise, you would have to use a Game Event like GE_AbilityExecuted to catch when the ability is used, and then disable it after that using Player_SetAbilityAvailability.
What would you say is lacking in that documentation?
First of all, thanks for the response!
1) So the loop is only affecting human players? I still would like it to target players at certain positions, because the ability should only be available to the players starting on the beach.
2)I understand the BP function is necessary. That said, when I use BP_GetAbilityBlueprint("P47_Strafing_Run"), it doesn't work...
3/4) What's the best place to start in regards to 'creating a tuning pack'?
Again, thanks for the help. What I meant by lacking documentation, is that, for example, the SCAR link only details the different functions available, but doesn't really go into any detail as to the syntax of the variables, or any examples of how to format it. This lead me to trouble with the P47 Strafing Run, as I know it's possible, but have no idea what the syntax is.