Starczy draw_line i lengthdir'y.
GML
x2 = x1+lengthdir_x(dlugosc_bok1, kat);
y2 = y1+lengthdir_y(dlugosc_bok1, kat);
x3 = x2+lengthdir_x(dlugosc_bok2, kat+90);
y3 = y2+lengthdir_y(dlugosc_bok2, kat+90);
x4 = x3+lengthdir_x(dlugosc_bok1, kat+180);
y4 = y3+lengthdir_y(dlugosc_bok1, kat+180);
x5 = x4+lengthdir_x(dlugosc_bok2, kat+270);
y5 = y4+lengthdir_y(dlugosc_bok2, kat+270);
draw_line( x1, y1, x2, y2 );
draw_line( x2, y2, x3, y3 );
draw_line( x3, y3, x4, y4 );
draw_line( x4, y4, x5, y5 );
voila!
lub jak kto woli:
GML
draw_primitive_begin(pr_linestrip);
draw_vertex(x1,y1);
draw_vertex(x2,y2);
draw_vertex(x3,y3);
draw_vertex(x4,y4);
draw_vertex(x5,y5);
draw_primitive_end();
A żeby było jeszcze prościej robisz se skrypt draw_rectangle_angle i wsadzasz:
GML
x1 = argument0; // poczatkowy x
y1 = argument1; // poczatkowy y
/*
argument2 - dlugosc 1 boku
argument3 - dlugosc 2 boku
argument4 - kat
*/
x2 = x1+lengthdir_x(argument2, argument4);
y2 = y1+lengthdir_y(argument2, argument4);
x3 = x2+lengthdir_x(argument3, argument4+90);
y3 = y2+lengthdir_y(argument3, argument4+90);
x4 = x3+lengthdir_x(argument2, argument4+180);
y4 = y3+lengthdir_y(argument2, argument4+180);
x5 = x4+lengthdir_x(argument3, argument4+270);
y5 = y4+lengthdir_y(argument3, argument4+270);
draw_primitive_begin(pr_linestrip);
draw_vertex(x1,y1);
draw_vertex(x2,y2);
draw_vertex(x3,y3);
draw_vertex(x4,y4);
draw_vertex(x5,y5);
draw_primitive_end();