Thanks, I knew there was a more efficient way to do this, I'm still an intermediate programmer myself with GML, so I tend to use practices from other programming experience.
Well anyway, I can add that in and update it. I basically just copied most of the code over from my current project as I thought "this might be something people would like to know how to do". Since I had to basically design it from scratch since there wasn't a tutorial on it. I'll make those changes to it, as it's probably faster to do it your way too.
Edit: And I wrote the code for the radar stuff before I knew about length_dir... so it was all trig functions

Edit2: I adjusted the code you put a bit because radar (in games) tends to have that lingering effect when objects get out of the range you can still detect them for a little while. So here is the revised version of your code:
**MediaFire Link Updated**
///Draws the radar screen
draw_sprite(Radar_Button, 0, view_xview[0]+75, view_yview[0]+75);
//stop here if no player
if (!instance_exists(Player_Obj))
{
exit;
}
//local vars for easy access in the with() and to prevent creating variables in the instances
var d,a,xx,yy;
xx = Player_Obj.x;
yy = Player_Obj.y;
with(EnemyParent)
{
//how far
d = point_distance(xx,yy,x,y);
//in range
if( d < 3000 && d > 1500) // This will set the blips to the outside edge, creating a lingering effect
{
//convert radar range to radar display radius
d = 75;
//angle to target
a = point_direction(xx,yy,x,y)
//draw relative to center of radar using simplified lengthdir function
draw_sprite(RadarBlip, 0, view_xview[0]+75 + lengthdir_x(d,a), view_yview[0]+75 + lengthdir_y(d,a));
}
else if(d <= 1500) // This is the standard distance conversion on the radaar screen.
{
d = d/1500*75;
a = point_direction(xx,yy,x,y)
draw_sprite(RadarBlip, 0, view_xview[0]+75 + lengthdir_x(d,a), view_yview[0]+75 + lengthdir_y(d,a));
}
}
Edited by wakeskater_X, 10 January 2012 - 08:16 AM.