Hola manes, el problema esta en que al dibujar en una superficie digamos si quiero dibujar varios sprites en ella, no le puedo asignar una depth (profundidad a estos? ¿como se hace?

Teoricamente una surface trabaja como un evento draw. Que tiene comportamiento de pila
por lo que el sprite que se dibuja primero queda mas debajo, y el que se dibuja al ultimo queda por encima de todo
solo bastaria con que dibujés los sprites en orden de llamada:

[gml]draw_sprite(sprite_de_mas_abajo)
draw_sprite(sprite_de_enmedio)
draw_sprite(sprite_de_mas_arriba)[/gml]



Puedes usar una ds_list y ir dibujando en el orden que se encuentran en el evento END STEP  :-[