Ja bym proponował coś takiego - działa w każdą stronę, aczkolwiek nie dodaje zer czy cos - nie mniej powinno przyblizyc do rozwiązania
GML
var i,j,add,mx,suma,dir;
suma = '';
i = argument0;//pierwszy indeks
j = argument1;//drugi indeks
mx = argument2 - 1;//ilosc elementów tablicy
dir = argument3;//kierunek, np. 45
add = 0;
for(add = 0; add < mx; add+=1) {
var ni, nj;
ni = i + add * lenghtdir_x(1, dir);
nj = j + add * lenghtdir_y(1, dir);
if (ni > mx or nj > mx or ni < 0 or nj < 0) break;
suma += string( tablica[ni, nj];
}
return suma;