Hola!!
En muchos vs esta el problema dle minimapa osea "uno dice Estoy en medio de un boque y nose donde esta la cueva y tenes que tar 1 ora buscando una cueva " por eso les traigo como crear el minimapa !!
1- Buscamos :
Public Type GrhData
sX As Integer
sY As Integer
FileNum As Integer
pixelWidth As Integer
pixelHeight As Integer
TileWidth As Single
TileHeight As Single
NumFrames As Integer
Frames(1 To 25) As Integer
Speed As Integer
End Type
Y lo reemplazamos por :
Public Type GrhData
sX As Integer
sY As Integer
FileNum As Integer
pixelWidth As Integer
pixelHeight As Integer
TileWidth As Single
TileHeight As Single
NumFrames As Integer
Frames(1 To 25) As Integer
Speed As Integer
Active As Boolean
MiniMap_color As Long
End Type
2- En cualquier modulo agregamos:
Public Sub DibujarMiniMapa()
Dim map_x As Long, map_y As Long
For map_y = 1 To 100
For map_x = 1 To 100
If MapData(map_x, map_y).Graphic(1).GrhIndex > 0 Then
SetPixel frmMain.MiniMap.hdc, map_x, map_y, GrhData(MapData(map_x, map_y).Graphic(1).GrhIndex).MiniMap_color
End If
Next map_x
Next map_y
SetPixel frmMain.MiniMap.hdc, UserPos.X, UserPos.Y, RGB(255, 0, 0)
SetPixel frmMain.MiniMap.hdc, UserPos.X + 1, UserPos.Y, RGB(255, 0, 0)
SetPixel frmMain.MiniMap.hdc, UserPos.X - 1, UserPos.Y, RGB(255, 0, 0)
SetPixel frmMain.MiniMap.hdc, UserPos.X, UserPos.Y - 1, RGB(255, 0, 0)
SetPixel frmMain.MiniMap.hdc, UserPos.X, UserPos.Y + 1, RGB(255, 0, 0)
frmMain.MiniMap.Refresh
End Sub
3- Buscamos:
Do Until Grh <= 0
Y debajo agregamos:
GrhData(Grh).Active = True
4- Buscamos (Sub LoadGrhData):
Loop
'************************************************
Close #1
Y debajo agregamos:
Dim count As Long
Open IniPath & "minimap.dat" For Binary As #1
Seek #1, 1
For count = 1 To 15000
If GrhData(count).Active Then
Get #1, , GrhData(count).MiniMap_color
End If
Next count
Close #1
5- Buscamos:
Call SetConnected
Y debajo agregamos:
Call DibujarMiniMapa
6- Buscamos:
Call SendData("M" & Direccion)
Y debajo agregamos:
Call DibujarMiniMapa
7- Agregamos al modulo Declaraciones :
Public Declare Function SetPixel Lib "gdi32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long
8- Agregamos un picturebox al frmMain con las siguientes propiedades: Name = Minimap, ScaleMode = 3, Widht = 100, Height = 100, AutoRedraw = True
-------------------------------------------------------------------------
COMO GENERAR EL MINIMAP.DAT?
1- Descargamos esta aplicación: AO Minimap Color Finder
2- La colocamos dentro de la carpeta del cliente de argentum.
3- Ejecutamos la aplicación,y presionamos el boton 'Cargar Graficos.ind' y luego 'Comenzar!' y esperaremos a que termine el proceso..
4- Ya podemos borrar el AO Minimap Color Finder.exe y disfrutar del minimapa
AVISO: El minimap.dat se genera una sola vez y ya queda en la carpeta 'INIT' .. Solo hay que volver a generarlo si indexamos una nueva superficie