Does making the flamethrower just move forwards not create the same effect? As the player moves to the side he will spawn the flames in a new place, generating the same(if not similar)effect.
I understand what you are trying to say, Im aware of that, however, I want the flame not to move forward and disappear. As if creating a flame that always stays in front of the player's mouth. Though, thank you for the reminding, I will use that for back-up.

Just make the flame individual instances instead of just one object with one sprite. For example:
// CREATION OF FLAME
new_flame=instance_create(x,y,flame)
new_flame.direction=90
new_flame.speed=7
new_flame.alarm[0]=30
// FLAME ALARM0 EVENT
image_alpha-=0.05
alarm[0]=1
if image_alpha<=0
instance_destroy()
The flames will travel upwards while you are still moving, creating the effect you described above. All you have to do is get a good flame(ish) sprite for each instance and voila, fully working flamethrower!
Hope that helps.
Thank you for the code, I will try it, and try to make a good flamish sprite. Thank you very much