You might try making a variable that gets 1 added to it every time an enemy spawns.
ex: variable name: numberEnemiesSpawned=0 (at the beginning if no enemies are present. Replace 0 with the number of enemies to be spawned/killed initially).
and variable name: numberEnemiesToBoss= 3 (this means that you want it to be 3 enemies spawned/killed until the boss appears)
then you can make a condition:
system - compare two variables
first value - numberEnemiesSpawned
comparison - =
second value- numberEnemiesToBoss
with the action of
sprite - is visible (or however you want to spawn your boss)
the above will make it so that the game checks to see if numberEnemiesSpawned and numberEnemiesToBoss are equal.
then you make conditions such that every time an enemy dies, it adds +1 to numberEnemiesSpawned. It should add +1 up until 3 (starting from 0, not one, or else it will only be two baddies who are destroyed before the boss!).
finally make a condition such that when numberEnemiesToBoss = 3 the boss spawns.
Hope it helps! Let me know if anything is unclear!This worked for me but my game is different from yours :)
NB. When I did it they were global variables. I don't have enough experience to know if instance variables will do!