jeśli chodzi o efekty pełnoekranowe, to musisz przypisać view do surface (view_surface_id[id] = surfaceID), a potem surface malować np. w draw gui w najgłębszym obiekcie (albo w osobnym ale też z namniejszym depth). Przypominam, że w GM:S malujemy na surface tylko w draw, a dodatkowo należy zawsze przed surface_set_target sprawdzać czy surface istnieje i jak nie to go utworzyć, bo surface są usuwane przez wygaszacz ekranu/usypianie urządzeń/inne aplikacje pełnoekranowe/zmiany rozdzielczości