OK:
// create
global.s = -1;
// draw
if (!surface_exists(global.s)) { // redraw tylko jak komputer usunie z pamieci surface, albo jeszcze go nie ma
global.s = surface_create(1024, 768);
// jesli potrzebujemy aktualizowac surface co klatkę, bo się zmienia, poniższy kod wyciągamy poza nawiasy klamrowe
surface_set_target(global.s);
draw_clear_alpha(c_white, 0); //maluje na przezroczysto
draw_text(10, 10, "test"); // pamietaj, ze teraz wsystkie pozycje są relatywnie do 0,0 na surface, a nie od pozycji obiektu
surface_reset_target();
}
draw_surface(global.s, 10, 20);
Jak nic nie pomyliłem z kolejnością argumentów, masz fajny gotowy tutorial