Multicolor g code does everything except extruding when resume. Small help would be appriciated

Hello to all, i am trying to setup a multicolor g code in printer settings. I have tried m600 but it refuses to continue printing. Pause works but the z is to low to exchange the filament.

Upon further searching i have managed to compile a g code. It does all as it shoulds but when resuming it doesnt extrude.
I have noticed that when i press resume it extrudes a small ammount, then retracts, then it goes back printing dragging the extruded filament and then it resumes in thin air without extruding.
The wheel is spining when it resumes print so it should extrude but as the filament was retracted before it has nothing to extrude.

My G Code:

; Color change start
G91 ; Set relative positioning
G1 Z20 F300 ; Raise Z by 20mm
G90 ; Set absolute positioning
G1 X0 Y0 F9000 ; Move to park position
G91 ; Set relative positioning
G1 E-20 F150 ; Retract 20mm of filament
G90 ; Set absolute positioning
M25 ; Pause print (wait for user to remove old filament)

; User changes filament and presses resume to extrude new filament

G91 ; Set relative positioning
G1 E50 F50 ; Extrude 50mm of new filament
G90 ; Set absolute positioning
M25 ;Pause again (wait for user to clean the nozzle and confirm)

; User presses resume again to continue printing
G92 E0 ; Reset extruder position
M24 ; Continue printing
; Color change end

Does nobody know the answer or Am i asking at the wrong place?