ID:2158064
 
Well the question is pretty self explanatory I have some ideas but what is the normal way to do this??
It's actually not all that self-explanatory. The term "minimap" may not mean the same thing to all people. Can you describe in detail what you want?
I thought of some different ways to do this, but it would depend on how big your map is, and how much of it you want on the mini map. I'm assuming that when you say mini map, you mean a little map that pops up in a HUD when called.
Sure I just thought all the extra details would only get in the way. So actually I'd like to know how to create a simple hud minimap of the main level and also an interactive one where you can click on regions and interface will display region info.

Can I use the map control in the interface and have two maps one being the main map where player moves and the other being a simple control on the interface??
The simple way is to loop through the turfs you have, use a proc to determine what kind of color they should be based on their turf type or what objects they have on their turf. And then blend that color onto a specific pixel of a minimap icon. Each turf blends their color onto it and there you have your minimap
Something that could help.

proc
GetMapImage(zlevel=1)
var/icon/img = new('map_template.dmi'),list/Tiles = list(),turf/T,icon/A,icon/B,X,Y,XX = world.maxx,YY = world.maxy,obj/O
img.Crop(1,1,XX,YY)
for(Y=1 to YY)
for(X=1 to XX)
T = locate(X,Y,zlevel)
if(!("[T.icon][T.icon_state]" in Tiles))
A = new(T.icon,T.icon_state,T.dir,1)
A.Scale(1,1)
img.Blend(A,ICON_OVERLAY,X,Y)
Tiles["[T.icon][T.icon_state]"] = A
else img.Blend(Tiles["[T.icon][T.icon_state]"],ICON_OVERLAY,X,Y)
for(O in T.contents)
if(!("[O.icon][O.icon_state]" in Tiles))
B = new(O.icon,O.icon_state,O.dir,1)
B.Scale(1,1)
img.Blend(B,ICON_OVERLAY,X,Y)
Tiles["[O.icon][O.icon_state]"] = B
else img.Blend(Tiles["[O.icon][O.icon_state]"],ICON_OVERLAY,X,Y)
return img

mob/verb/Test()
src<<ftp(GetMapImage(zlevel=1),"Map.dmi")
Thanks for the ideas guys I have no problem generating the image thing is I have no clue how to portray it. I mean is there a predefined object, an interface file or do I have to use images??
Setting the appearance of an object to it then defining that object with a particular screen loc is your best bet.

If you want it in the corner at all times you could do "SOUTH,WEST" for example. Or you could have it toggled with a verb and do screen_loc = "CENTER" and screen_loc = null.
I just published this to help someone. But you can check it out. I will be making it much more flexible and customizable in the future. http://www.byond.com/developer/FatAlbert/X_Minimap
There are a handful of mini map libraries at your disposal that can be found here: http://www.byond.com/developer/?text=mini+map

And there's more where than came from, such as Fat Albert's X_Minimap. Good luck :)