Have three characters that each spawn a bullet every two seconds. This should be done by a simple 'for-each' loop, while waiting two seconds. But the problem with that is, essentially, that they'll be all shooting at the same time.
So, what you need to do, is to check for when you want them to start firing. This can be done different ways, by checking the nearest enemy, and then seeing if the distance between them and the hero is less than X amount of pixels, or just to activate it when they're all on the screen. Either way, you could set up a global variable that is called 'EnemiesStartFiring'.
Before you go any further, give each enemy its own boolean variable, called 'ActivateFiring'. Make this condition as part of the 'for-each' loop mentioned above (so in the single action, it should be: for-each ENEMY | Wait 2.0 Seconds | Enemy.ActivateFiring = true.
Anyway, when EnemiesStartFiring = 1, make an action that sets the ActivateFiring of the closest enemy to be true. Then have the System wait 1 second, and set the second enemy's ActivateFiring to be true. Then, have it wait an additional second before setting the third enemy's ActivateFiring true. Make sure you set EnemiesStartFiring to 0, otherwise that will continue to loop.
Does that make sense?
In one of my combat games, I simply have each enemy attack whenever they're within a certain range of the hero. It works well enough, but there's no coordination between the enemies.