draw_sight(x,y,sight view,angle, distance between points,sight range,color,outline width,alpha)
for(i=0 i<argument2 i+=argument4)
{var uzaklik,uzaklik2;
uzaklik=0
uzaklik2=0
do{uzaklik+=2 }
until(collision_line(x,y,x+lengthdir_x(uzaklik,i-argument2/2+argument3),y+lengthdir_y(uzaklik,i-argument2/2+argument3),argument6,1,0) or uzaklik>argument5)
do{uzaklik2+=2 }
until(collision_line(x,y,x+lengthdir_x(uzaklik2,i-(argument2/2-argument4)+argument3),y+lengthdir_y(uzaklik2,i-(argument2/2-argument4)+argument3),argument6,1,0) or uzaklik2>argument5)
draw_line_width_color(x+lengthdir_x(min(argument5,uzaklik-3),i-argument2/2+argument3),y+lengthdir_y(min(argument5,uzaklik-3),i-argument2/2+argument3),x+lengthdir_x(min(argument5,uzaklik2-3),i-(argument2/2-argument4)+argument3),y+lengthdir_y(min(argument5,uzaklik2-3),i-(argument2/2-argument4)+argument3),argument8,argument7,argument7)
draw_set_alpha(argument9)
draw_triangle_color(x,y,x+lengthdir_x(min(argument5,uzaklik),i-argument2/2+argument3),y+lengthdir_y(min(argument5,uzaklik),i-argument2/2+argument3),x+lengthdir_x(min(argument5,uzaklik2),i-(argument2/2-argument4)+argument3),y+lengthdir_y(min(argument5,uzaklik2),i-(argument2/2-argument4)+argument3),argument7,argument7,argument7,0)
draw_set_alpha(1)
if i=0
{draw_line_width_color(x,y,x+lengthdir_x(uzaklik-3,-argument2/2+argument3),y+lengthdir_y(uzaklik-3,-argument2/2+argument3),argument8,argument7,argument7)
}
if i=argument2-argument4
{
draw_line_width_color(x,y,x+lengthdir_x(uzaklik2-3,+argument2/2+argument3),y+lengthdir_y(uzaklik2-3,+argument2/2+argument3),argument8,argument7,argument7) }
}
example
draw_sight(x,y,80,direction,5,150,obj_wall,c_red,0,0.8)

---

http://speedy.sh/8b73e/draw-sight.gmk











