Mini Mapa
+4
cenora06
Valentine
Gu1lh3rm3
Ricardo
8 participantes
Página 1 de 1
Mini Mapa
Começando
Primeiro baixe o arquivo abaixo na sua pasta \data files\graphics com nome minimap e verifique se o arquivo está salvo em bmp.
http://www.mediafire.com/?fh6oh4t5gj1j023
Descrição
Esse é um Minimap beta que apenas mostra os bloqueios, os npcs e os players. Olhei em vários fóruns 3 tipos de minimaps e todos eles tinham que criar um tipo novo de tile chamado Blank ,que no português significa branco, para deixar um pedaço do minimap branco para saber que não havia nada em certo lugar, então resolvi criar um novo modo para que a opção não fosse usado e ficasse mais simples, fiz o código para criar em todo o minimap essa parte branca e após disso criar as outras camadas do minimap para que elas não se desenhem em baixo do blank.
Log
Ícone branco quando não houver nada no mapa.
Ícone que mostra os jogadores que estão presentes no mapa.
Ícone que mostra os npcs que estão no mapa.
Ícone que mostra os bloqueios do mapa.
Ícone diferente para jogadores killers.
Ícone que mostra os teletransporte do mapa.
Ícone que mostra os itens do mapa.
Ícone que mostra as lojas do mapa sendo por atributo e sendo por npc.
Ícone diferente para cada tipo de npc.
Imagem
Vídeo
https://www.youtube.com/watch?v=12ebvMxO0UM&feature=youtu.be
Client~side
Vídeo
https://www.youtube.com/watch?v=12ebvMxO0UM&feature=youtu.be
Client~side
modDirectDraw7
Procure por:
- Código:
' Render the bars
BltBars
Abaixo adicione:
- Código:
' minimap
If Options.Minimap = 1 Then BltMiniMap
Procure por:
- Código:
Public DDS_Bars As DirectDrawSurface7
Abaixo adicione:
- Código:
Public DDS_MiniMap As DirectDrawSurface7
Procure por:
- Código:
Public DDSD_Bars As DDSURFACEDESC2
Abaixo adicione:
- Código:
Public DDSD_MiniMap As DDSURFACEDESC2
Procure por:
- Código:
If FileExist(App.Path & "\data files\graphics\bars.bmp", True) Then Call InitDDSurf("bars", DDSD_Bars, DDS_Bars)
Abaixo adicione:
- Código:
If FileExist(App.Path & "\data files\graphics\minimap.bmp", True) Then Call InitDDSurf("minimap", DDSD_MiniMap, DDS_MiniMap)
Procure por:
- Código:
Set DDS_Target = Nothing
ZeroMemory ByVal VarPtr(DDSD_Target), LenB(DDSD_Target)
Abaixo adicione:
- Código:
Set DDS_MiniMap = Nothing
ZeroMemory ByVal VarPtr(DDSD_MiniMap), LenB(DDSD_MiniMap)
No final do modulo adicione:
- Código:
Sub BltMiniMap()
Dim i As Long
Dim X As Integer, Y As Integer
Dim Direction As Byte
Dim CameraX As Long, CameraY As Long
Dim BlockRect As RECT, WarpRect As RECT, ItemRect As RECT, ShopRect As RECT, NpcOtherRect As RECT, PlayerRect As RECT, PlayerPkRect As RECT, NpcAttackerRect As RECT, NpcShopRect As RECT, NadaRect As RECT
Dim MapX As Long, MapY As Long
' If debug mode, handle error then exit out
If Options.Debug = 1 Then On Error GoTo errorhandler
MapX = Map.MaxX
MapY = Map.MaxY
' ************
' *** Nada ***
' ************
With NadaRect
.top = 4
.Bottom = .top + 4
.Left = 0
.Right = .Left + 4
End With
' Defini-lo no minimap
For X = 0 To MapX
For Y = 0 To MapY
CameraX = Camera.Left + 25 + (X * 4)
CameraY = Camera.top + 25 + (Y * 4)
Engine_BltFast CameraX, CameraY, DDS_MiniMap, NadaRect, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY
Next Y
Next X
' *****************
' *** Atributos ***
' *****************
' Bloqueio
With BlockRect
.top = 4
.Bottom = .top + 4
.Left = 4
.Right = .Left + 4
End With
' Warp
With WarpRect
.top = 4
.Bottom = .top + 4
.Left = 8
.Right = .Left + 4
End With
' Item
With ItemRect
.top = 4
.Bottom = .top + 4
.Left = 12
.Right = .Left + 4
End With
' Shop
With ShopRect
.top = 4
.Bottom = .top + 4
.Left = 16
.Right = .Left + 4
End With
' Defini-los no minimap
For X = 0 To MapX
For Y = 0 To MapY
Select Case Map.Tile(X, Y).Type
Case TILE_TYPE_BLOCKED
CameraX = Camera.Left + 25 + (X * 4)
CameraY = Camera.top + 25 + (Y * 4)
Engine_BltFast CameraX, CameraY, DDS_MiniMap, BlockRect, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY
Case TILE_TYPE_WARP
CameraX = Camera.Left + 25 + (X * 4)
CameraY = Camera.top + 25 + (Y * 4)
Engine_BltFast CameraX, CameraY, DDS_MiniMap, WarpRect, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY
Case TILE_TYPE_ITEM
CameraX = Camera.Left + 25 + (X * 4)
CameraY = Camera.top + 25 + (Y * 4)
Engine_BltFast CameraX, CameraY, DDS_MiniMap, ItemRect, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY
Case TILE_TYPE_SHOP
CameraX = Camera.Left + 25 + (X * 4)
CameraY = Camera.top + 25 + (Y * 4)
Engine_BltFast CameraX, CameraY, DDS_MiniMap, ShopRect, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY
End Select
Next Y
Next X
' **************
' *** Player ***
' **************
' Normal
With PlayerRect
.top = 0
.Bottom = .top + 4
.Left = 4
.Right = .Left + 4
End With
' Pk
With PlayerPkRect
.top = 0
.Bottom = .top + 4
.Left = 8
.Right = .Left + 4
End With
' Defini-los no minimap
For i = 1 To Player_HighIndex
If IsPlaying(i) Then
Select Case Player(i).PK
Case 0
X = Player(i).X
Y = Player(i).Y
CameraX = Camera.Left + 25 + (X * 4)
CameraY = Camera.top + 25 + (Y * 4)
Call DDS_BackBuffer.BltFast(CameraX, CameraY, DDS_MiniMap, PlayerRect, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
Case 1
X = Player(i).X
Y = Player(i).Y
CameraX = Camera.Left + 25 + (X * 4)
CameraY = Camera.top + 25 + (Y * 4)
Call DDS_BackBuffer.BltFast(CameraX, CameraY, DDS_MiniMap, PlayerPkRect, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
End Select
End If
Next i
' ***********
' *** NPC ***
' ***********
' Atacar ao ser atacado e quando for atacado
With NpcAttackerRect
.top = 0
.Bottom = .top + 4
.Left = 12
.Right = .Left + 4
End With
' Vendendor
With NpcShopRect
.top = 0
.Bottom = .top + 4
.Left = 16
.Right = .Left + 4
End With
' Outros
With NpcOtherRect
.top = 0
.Bottom = .top + 4
.Left = 20
.Right = .Left + 4
End With
' Defini-lo no minimap
For i = 1 To Npc_HighIndex
If MapNpc(i).num > 0 Then
Select Case NPC(i).Behaviour
Case NPC_BEHAVIOUR_ATTACKONSIGHT Or NPC_BEHAVIOUR_ATTACKWHENATTACKED
X = MapNpc(i).X
Y = MapNpc(i).Y
CameraX = Camera.Left + 25 + (X * 4)
CameraY = Camera.top + 25 + (Y * 4)
Call DDS_BackBuffer.BltFast(CameraX, CameraY, DDS_MiniMap, NpcAttackerRect, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
Case NPC_BEHAVIOUR_SHOPKEEPER
X = MapNpc(i).X
Y = MapNpc(i).Y
CameraX = Camera.Left + 25 + (X * 4)
CameraY = Camera.top + 25 + (Y * 4)
Call DDS_BackBuffer.BltFast(CameraX, CameraY, DDS_MiniMap, NpcShopRect, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
Case Else
X = MapNpc(i).X
Y = MapNpc(i).Y
CameraX = Camera.Left + 25 + (X * 4)
CameraY = Camera.top + 25 + (Y * 4)
Call DDS_BackBuffer.BltFast(CameraX, CameraY, DDS_MiniMap, NpcOtherRect, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
End Select
End If
Next i
' Error handler
Exit Sub
errorhandler:
HandleError "BltMiniMap", "modDirectDraw7", Err.Number, Err.Description, Err.Source, Err.HelpContext
Err.Clear
Exit Sub
End Sub
frmMain
Dentro da picOptions crie uma label com o seguinte caption:
MiniMap
Agora crie uma pictureBox com qualquer nome e dentro dela adicione 2 optionsBox com as seguintes configurações:
OptionBox1
Name: optMiniMapOn
Caption: On
OptionBox2
Name: optMiniMapOff
Caption: Off
Dentro do optMiniMapOn adicione:
- Código:
' If debug mode, handle error then exit out
If Options.Debug = 1 Then On Error GoTo errorhandler
Options.Minimap = 1
SaveOptions
' Error handler
Exit Sub
errorhandler:
HandleError "optMiniMapOn_Click", "frmMain", Err.Number, Err.Description, Err.Source, Err.HelpContext
Err.Clear
Exit Sub
E dentro do optMiniMapOff adicione:
- Código:
' If debug mode, handle error then exit out
If Options.Debug = 1 Then On Error GoTo errorhandler
Options.Minimap = 0
SaveOptions
' Error handler
Exit Sub
errorhandler:
HandleError "optMiniMapOff_Click", "frmMain", Err.Number, Err.Description, Err.Source, Err.HelpContext
Err.Clear
Exit Sub
modTypes
No final da Private Type OptionsRec, antes do End type, adicione:
- Código:
Minimap As Byte
modDatabase
Procure por:
- Código:
Call PutVar(fileName, "Options", "Debug", Str(Options.Debug))
Abaixo adicione:
- Código:
Call PutVar(fileName, "Options", "MiniMap", Str(Options.Minimap))
Procure por:
- Código:
Options.Debug = 0
Abaixo adicione:
- Código:
Options.Minimap = 1
Procure por:
- Código:
Options.Debug = GetVar(fileName, "Options", "Debug")
Abaixo adicione:
- Código:
Options.Minimap = GetVar(fileName, "Options", "MiniMap")
Procure por:
- Código:
If Options.Sound = 0 Then
frmMain.optSOff.Value = True
Else
frmMain.optSOn.Value = True
End If
Abaixo adicione:
- Código:
If Options.Minimap = 0 Then
frmMain.optMiniMapOff.Value = True
Else
frmMain.optMiniMapOn.Value = True
End If
Agora é só ir em \data files\ e deletar o arquivo config.ini
Créditos
Ricardo
Ricardo
Última edição por Ricardo em Dom 01 Abr 2012, 11:53, editado 2 vez(es)
Ricardo- Mensagens : 1044
Re: Mini Mapa
Esse ícone branco é o que mais reduz o fps, e o acho desnecessário.Ícone branco quando não houver nada no mapa.
Algumas coisas podem ser modificadas para deixar mais leve como mudar isso
- Código:
' Defini-lo no minimap
For X = 0 To MapX
For Y = 0 To MapY
- Código:
For X = TileView.Left To TileView.Right
For y = TileView.Top To TileView.bottom
E como o NPC_HighIndex não está 100% funcionando corretamente aconselho trocar isso
- Código:
' Defini-lo no minimap
For i = 1 To Npc_HighIndex
- Código:
' Defini-lo no minimap
For i = 1 To MAX_MAP_NPCS
Re: Mini Mapa
valew ai pelo tutorial, se ta ligado q vc ta ficando fodao né kk
cenora06- Membro Sênior
- Mensagens : 322
Re: Mini Mapa
AlumaaryAlumaary escreveu:funfo
- Punido por Flood , e já está no banned
Thekirin - FrmMain
Eduardo- Membro Veterano
- Mensagens : 1178
Re: Mini Mapa
Eu sei que está na frmmain mais eu não acho uma picturebox chamada PicOptions
TheKirin- Membro Vitalicio
- Mensagens : 561
Re: Mini Mapa
thekirin e a onde fica o iventario e tals, clika com botão de ca >> do mause e vai em back ate fica clicando ate chegar no picoptions, bom eu não pus la pus na interface principal mais ok e Eduardo eu to floodando uq?
Alumaary- Membro Sênior
- Mensagens : 407
Tópicos semelhantes
» Mini- Sistema de Boss
» Mini-Tutorial VB6
» Mini-game Online!
» [ALL] Sistema de Mini-Sorteio
» Mini Map Eclipse Pributon 2.0 (EP)
» Mini-Tutorial VB6
» Mini-game Online!
» [ALL] Sistema de Mini-Sorteio
» Mini Map Eclipse Pributon 2.0 (EP)
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Dom 08 Abr 2018, 18:40 por JorgeZinhoo002
» Ojkjeeeee
Seg 10 Out 2016, 23:19 por Frozen
» Naruto Great Ninja Batle
Dom 09 Out 2016, 14:29 por GuiinhoLP
» Recrutamento de um Designer para jogo de CDZ.
Sex 23 Set 2016, 18:37 por newbie123
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:11 por Eduardo
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:11 por Eduardo
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:09 por Eduardo
» Projeto Dbz
Qua 31 Ago 2016, 23:46 por 157
» Avaliação - Sprites Naruto
Qua 31 Ago 2016, 17:09 por 157
» [Sprites] DBZ (Plix)
Qua 31 Ago 2016, 14:13 por 157
» Super Pack - Bleach V.2
Qua 31 Ago 2016, 13:02 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:04 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:03 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:02 por 157
» [Pedido] Contador de resets na FrmMain
Sáb 13 Ago 2016, 17:45 por killers97
» [Recrutamento]
Qua 10 Ago 2016, 23:09 por Monsters
» Ajuda erro no Cliente e Servidor do EEB 2.6!
Qua 20 Jul 2016, 19:53 por Binholx
» Como criar tilesets para Eclipse Origins 3.0 (POKÉMON)
Qua 29 Jun 2016, 19:46 por Sir Aaron
» Recursos Pokemons
Qua 29 Jun 2016, 19:34 por Sir Aaron
» erro frm flash
Qua 25 maio 2016, 13:51 por vava123
» Pedido - Pack de star wars
Qui 19 maio 2016, 05:06 por edsonpet
» [Ajuda] Sobre como por o servidor on por ip fixo
Ter 17 maio 2016, 16:14 por vava123
» Illusion Dimension - O Misterio do ID: BETA TESTE ONLINE
Sex 06 maio 2016, 20:02 por LksFlorencio
» [NSME] Naruto Shinobi Maker Engine
Qua 23 Mar 2016, 15:11 por luana1457
» Script /base,/casa Igual DBZ Forces
Dom 21 Fev 2016, 07:34 por JorgeZinhoo002
» [Pedido]Colar Tsunade item sprite eclipse origin
Qui 21 Jan 2016, 07:38 por lawllietbr
» [Pedido] Elysium
Sáb 19 Dez 2015, 11:31 por luana1457
» Naruto - Recruta
Ter 15 Dez 2015, 18:40 por Uchiha ~
» [Avaliação] - Kirito from Sword Art Online; Red and Pikachu from Pokemon.
Qua 25 Nov 2015, 13:43 por Thanakii
» [Avaliação] - Kenpachi Zaraki from Bleach; Libra Shiryu From Saint Seiya.
Qua 25 Nov 2015, 12:55 por Thanakii
» Demonstração de Sprites (Á VENDA!)
Qua 25 Nov 2015, 12:40 por Thanakii
» [Sistema de Reset]Para Eclipse .
Ter 24 Nov 2015, 16:51 por VithorUchi
» Cada Guild Nascer em Certo Mapa
Qui 12 Nov 2015, 06:13 por fabiofeijó_HIT
» Dragon Ball z Fusion A Grande Volta
Qui 29 Out 2015, 15:17 por fabiofeijó_HIT
» Ajuda com Ip fixo
Seg 26 Out 2015, 16:07 por GalaxyHells15
» Como Fazer um GUI no Eclipse Origins
Dom 18 Out 2015, 22:10 por Jeanleee
» Shisui Susanoo
Dom 18 Out 2015, 20:23 por Jeanleee
» Fantasy Art Online
Dom 18 Out 2015, 16:41 por daviih123
» Ajuda !!
Seg 05 Out 2015, 12:13 por andersonzika
» como passar o usuário e senha para o MainMenu?
Seg 28 Set 2015, 22:03 por Bëzerk
» Ru time ero 13 Type mismatch
Seg 28 Set 2015, 09:08 por andredarle
» Jarvis 1.3 Download
Qua 23 Set 2015, 18:42 por soares125
» [Avaliação/Disponibilização]Árvore 64x64
Qua 23 Set 2015, 15:15 por Over~
» Mlk's Zikas Signatures
Ter 22 Set 2015, 21:15 por Aikawa Reborn'
» Pedido de Sistemas
Dom 20 Set 2015, 18:05 por cleyton_05
» [AjudaEEB]Gerador de EXP
Qua 16 Set 2015, 14:04 por Over~
» [Avaliar] Base, Humano e Goblin.
Seg 14 Set 2015, 22:51 por .iBlaz3.
» Fabrica do Tio Cronos!
Dom 13 Set 2015, 21:31 por [ADM]Cronos
» [PixelArt] Minion - Meu malvado favorito
Dom 13 Set 2015, 12:51 por [ADM]Cronos
» [Avaliar] Goku Dragon Ball Z
Qua 05 Ago 2015, 21:36 por Setrux