MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[EE] Minimap Eclipse Evolution 2.7 e Stable

+3
Rio Absolut
V-Force
Karlos
7 participantes

Ir para baixo

[EE] Minimap Eclipse Evolution 2.7 e Stable Empty [EE] Minimap Eclipse Evolution 2.7 e Stable

Mensagem por Karlos Dom 10 Out 2010, 11:20

Não vamos trabalhar com o server nesse tutorial, precisaremos apenas da source do cliente e da imagem que estou disponibilizando para baixar logo abaixo.

Então é isso, primeiro baixe a imagem abaixo, e renomeie-a como minimap com a extensão .bmp, coloque a imagem dentro da pasta GFX que se encontra dentro da pasta cliente.
[EE] Minimap Eclipse Evolution 2.7 e Stable Minimap2u

Agora abra a source do cliente pelo VB, em seguida abra o modulo ModDirectX e adicione essas duas linhas abaixo do Option Explicit

Código:
Public DDSD_MiniMap As DDSURFACEDESC2
Public DD_MiniMap As DirectDrawSurface7

Presione CTRL+F e pesquise por Sub InitSurfaces repare que abaixo da explicação ' Check for files existing, tem uma linha semelhante a linha abaixo.
Código:
If Not FileExists("\GFX\Sprites.bmp") Or Not FileExists("\GFX\Items.bmp") Or Not FileExists("\GFX\BigSprites.bmp") Or Not FileExists("\GFX\Emoticons.bmp") Or Not FileExists("\GFX\Arrows.bmp") Then

Substitua a linha citada acima por essa nova linha.
Código:
If Not FileExists("\GFX\Sprites.bmp") Or Not FileExists("\GFX\Items.bmp") Or Not FileExists("\GFX\BigSprites.bmp") Or Not FileExists("\GFX\Emoticons.bmp") Or Not FileExists("\GFX\Arrows.bmp") Or Not FileExists("\GFX\minimap.bmp") Then

Agora em cima da linha que você acabou de substituir, logo abaixo de Sub InitSurfaces adicione o seguinte bloco de códigos.
Código:

    DDSD_MiniMap.lFlags = DDSD_CAPS
    DDSD_MiniMap.ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN Or DDSCAPS_SYSTEMMEMORY
    Set DD_MiniMap = DD.CreateSurfaceFromFile(App.Path & "\GFX\minimap.bmp", DDSD_MiniMap)
    SetMaskColorFromPixel DD_MiniMap, 0, 0

Ainda nesse modulo procure pela Sub DestroyDirectX depois da declaração Dim i As Long adicione o código abaixo.
Código:
Set DD_MiniMap = Nothing

Agora va em cima de Sub DestroyDirectX e adicione essa Sub.
Código:
'Modified to work with EE by Braiton
Sub BltMiniMap()
Dim I As Long
Dim x As Integer
Dim y As Integer
Dim MMx As Long
Dim MMy As Integer

    ' Tiles Layer
    ' Select MM Tile to Use for Tiles Layer
    rec.Top = 8
    rec.Bottom = 16
    rec.Left = 0
    rec.right = 8
   
    For y = 0 To MAX_MAPY
        For x = 0 To MAX_MAPX
            If Map(Player(MyIndex).Map).Tile(x, y).Type = TILE_TYPE_BLOCKED Then
                MMx = 400 + (x * 8)
                MMy = 32 + (y * 8)
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        Next x
    Next y
   
   
    ' Player Layer
    ' Select MM Tile to Use for Players Layer
    rec.Top = 16
    rec.Bottom = 24
    rec.Left = 0
    rec.right = 8
 
    For I = 1 To MAX_PLAYERS
        If Player(I).Map = Player(MyIndex).Map Then
            x = Player(I).x
            y = Player(I).y
            MMx = 400 + (x * 8)
            MMy = 32 + (y * 8)
            If Not I = MyIndex Then
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        End If
    Next I

    ' MyPlayer Layer
    rec.Top = 32
    rec.Bottom = 40
    rec.Left = 0
    rec.right = 8
    x = Player(MyIndex).x
    y = Player(MyIndex).y
    MMx = 400 + (x * 8)
    MMy = 32 + (y * 8)
    Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
   
   
    ' NPC Layer
    ' Select the MM Tile to use for the NPC Layer
    rec.Top = 24
    rec.Bottom = 32
    rec.Left = 0
    rec.right = 8
   
    For I = 1 To MAX_MAP_NPCS
        If MapNpc(I).num > 0 Then
            x = MapNpc(I).x
            y = MapNpc(I).y
            MMx = 400 + (x * 8)
            MMy = 32 + (y * 8)
            Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
        End If
    Next I
   
    'Shops (Thanks to NexSteve)
    rec.Top = 40
    rec.Bottom = 48
    rec.Left = 0
    rec.right = 8
    For y = 0 To MAX_MAPY
        For x = 0 To MAX_MAPX
            If Map(Player(MyIndex).Map).Tile(x, y).Type = TILE_TYPE_SHOP Then
                MMx = 400 + (x * 8)
                MMy = 32 + (y * 8)
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        Next x
    Next y
   
    'Walkable tiles (Thanks to Me)

    rec.Top = 48
    rec.Bottom = 56
    rec.Left = 0
    rec.right = 8
 
    For y = 0 To MAX_MAPY
        For x = 0 To MAX_MAPX
            If Map(Player(MyIndex).Map).Tile(x, y).Type = TILE_TYPE_WALKABLE Then
                MMx = 400 + (x * 8)
                MMy = 32 + (y * 8)
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        Next x
    Next y
   
    'Warps (Thanks to Me)

    rec.Top = 56
    rec.Bottom = 64
    rec.Left = 0
    rec.right = 8
 
    For y = 0 To MAX_MAPY
        For x = 0 To MAX_MAPX
            If Map(Player(MyIndex).Map).Tile(x, y).Type = TILE_TYPE_WARP Then
                MMx = 400 + (x * 8)
                MMy = 32 + (y * 8)
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        Next x
    Next y

'Dropped item (Thanks to Aranshada)

    rec.Top = 64
    rec.Bottom = 72
    rec.Left = 0
    rec.right = 8
   
    For I = 1 To MAX_MAP_ITEMS
        If MapItem(I).num > 0 Then
            x = MapItem(I).x
            y = MapItem(I).y
            MMx = 400 + (x * 8)
            MMy = 32 + (y * 8)
            Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
        End If
    Next I
       
   
    ' PKers(Thanks to me)
    rec.Top = 104
    rec.Bottom = 112
    rec.Left = 0
    rec.right = 8
 
    For I = 1 To MAX_PLAYERS
        If Player(I).Map = Player(MyIndex).Map Then
            If Player(I).PK = YES Then
                x = Player(I).x
                y = Player(I).y
                MMx = 400 + (x * 8)
                MMy = 32 + (y * 8)
                If Not I = MyIndex Then
                    Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
                End If
            End If
        End If
    Next I

 'Signs (Thanks to Braiton)

    rec.Top = 112
    rec.Bottom = 120
    rec.Left = 0
    rec.Right = 8
 
    For y = 0 To MAX_MAPY
        For X = 0 To MAX_MAPX
            If Map(Player(MyIndex).Map).Tile(X, y).Type = TILE_TYPE_SIGN Then
                MMx = 400 + (X * 8)
                MMy = 32 + (y * 8)
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        Next X
    Next y
   
            'Key Doors (Thanks to Braiton)

    rec.Top = 120
    rec.Bottom = 128
    rec.Left = 0
    rec.Right = 8
 
    For y = 0 To MAX_MAPY
        For X = 0 To MAX_MAPX
            If Map(Player(MyIndex).Map).Tile(X, y).Type = TILE_TYPE_KEY Then
                MMx = 400 + (X * 8)
                MMy = 32 + (y * 8)
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        Next X
    Next y
   
                'Doors (Thanks to Braiton)

    rec.Top = 128
    rec.Bottom = 136
    rec.Left = 0
    rec.Right = 8
 
    For y = 0 To MAX_MAPY
        For X = 0 To MAX_MAPX
            If Map(Player(MyIndex).Map).Tile(X, y).Type = TILE_TYPE_DOOR Then
                MMx = 400 + (X * 8)
                MMy = 32 + (y * 8)
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        Next X
    Next y
   
                    'Scripted Tile (Thanks to Braiton)

    rec.Top = 136
    rec.Bottom = 144
    rec.Left = 0
    rec.Right = 8
 
    For y = 0 To MAX_MAPY
        For X = 0 To MAX_MAPX
            If Map(Player(MyIndex).Map).Tile(X, y).Type = TILE_TYPE_SCRIPTED Then
                MMx = 400 + (X * 8)
                MMy = 32 + (y * 8)
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        Next X
    Next y
   
                        'Bank (Thanks to Braiton)

    rec.Top = 144
    rec.Bottom = 152
    rec.Left = 0
    rec.Right = 8
 
    For y = 0 To MAX_MAPY
        For X = 0 To MAX_MAPX
            If Map(Player(MyIndex).Map).Tile(X, y).Type = TILE_TYPE_BANK Then
                MMx = 400 + (X * 8)
                MMy = 32 + (y * 8)
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        Next X
    Next y
   
                            'Heal (Thanks to Braiton)

    rec.Top = 152
    rec.Bottom = 160
    rec.Left = 0
    rec.Right = 8
 
    For y = 0 To MAX_MAPY
        For X = 0 To MAX_MAPX
            If Map(Player(MyIndex).Map).Tile(X, y).Type = TILE_TYPE_HEAL Then
                MMx = 400 + (X * 8)
                MMy = 32 + (y * 8)
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        Next X
    Next y
   
                                'Notice (Thanks to Braiton)

    rec.Top = 160
    rec.Bottom = 168
    rec.Left = 0
    rec.Right = 8
 
    For y = 0 To MAX_MAPY
        For X = 0 To MAX_MAPX
            If Map(Player(MyIndex).Map).Tile(X, y).Type = TILE_TYPE_NOTICE Then
                MMx = 400 + (X * 8)
                MMy = 32 + (y * 8)
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        Next X
    Next y
   
                                    'Arena (Thanks to Braiton)

    rec.Top = 168
    rec.Bottom = 176
    rec.Left = 0
    rec.Right = 8
 
    For y = 0 To MAX_MAPY
        For X = 0 To MAX_MAPX
            If Map(Player(MyIndex).Map).Tile(X, y).Type = TILE_TYPE_ARENA Then
                MMx = 400 + (X * 8)
                MMy = 32 + (y * 8)
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        Next X
    Next y
   
                                        'Player House (Thanks to Braiton)

    rec.Top = 176
    rec.Bottom = 184
    rec.Left = 0
    rec.Right = 8
 
    For y = 0 To MAX_MAPY
        For X = 0 To MAX_MAPX
            If Map(Player(MyIndex).Map).Tile(X, y).Type = TILE_TYPE_HOUSE Then
                MMx = 400 + (X * 8)
                MMy = 32 + (y * 8)
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        Next X
    Next y
   
                                            'Grapple (Thanks to Braiton)

    rec.Top = 184
    rec.Bottom = 192
    rec.Left = 0
    rec.Right = 8
 
    For y = 0 To MAX_MAPY
        For X = 0 To MAX_MAPX
            If Map(Player(MyIndex).Map).Tile(X, y).Type = TILE_TYPE_HOOKSHOT Then
                MMx = 400 + (X * 8)
                MMy = 32 + (y * 8)
                Call DD_BackBuffer.BltFast(MMx, MMy, DD_MiniMap, rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
            End If
        Next X
    Next y
 
   
End Sub

Agora abra feche o modDirectx e abra o ModGlobals e procure por ' Damage Variables

Adicione depois de:
Código:
Public ii As Long, iii As Long
Public sx As Long
a linha abaixo.
Código:
Public Minimap As Boolean

Em em Public Sub Main() presione CTRL+F e pesquise por
Código:
frmMainMenu.lblVersion.Caption = "Version: " & App.Major & "." & App.Minor

e adicione o a linha abaixo em cima do código citado acima.
Código:
Minimap = False

Agora abra o módulo ModGameLogic, e pesquise por Sub GameLoop(), procure pelo codigo abaixo.
Código:
' Release DC
            Call DD_BackBuffer.ReleaseDC(TexthDC)

Logo abaixo adicione o seguinte código.
Código:
' Blit out MiniMap
        If Minimap = True Then
            Call BltMiniMap
        End If

Agora procure pela linha ' // Commands //, logo abaixo adicione o seguinte código.
Código:
'Escolha a ver ou não ver minimap
                        If LCase(Mid(MyText, 1, 8)) = "/minimap" Then
            If Minimap = True Then
                Minimap = False
            Else
                Minimap = True
            End If
            Exit Sub
        End If

No final do modulo adicione a seguinte sub.

Código:
Sub MiniMapOff(Index)
Minimap = False
If Minimap = True Then
            Call BltMiniMap
        Else
        End If
End Sub

Sub MiniMapOn(Index)
Minimap = True
If Minimap = True Then
            Call BltMiniMap
        End If
End Sub

[EE] Minimap Eclipse Evolution 2.7 e Stable Mapmc

Pronto, agora para ativar o mini-mapa digite /minimap, para desativa-lo também é /minimap.

Se over algum erro ele esta entre a cadeira e o seu computador.
Spoiler:

Todos os direitos reservados a freemmorpgmaker, a Braiton pela criação e a P- pela correção e tradução e a MMORPGBr por ter sido a escolhida para a postagem do novo tutorial.
Karlos
Karlos
Membro Veterano
Membro Veterano

Mensagens : 2851

http://www.talack.com.br

Ir para o topo Ir para baixo

[EE] Minimap Eclipse Evolution 2.7 e Stable Empty Re: [EE] Minimap Eclipse Evolution 2.7 e Stable

Mensagem por V-Force Dom 10 Out 2010, 11:25

Up fico bem legal =)

+1 de CRED
V-Force
V-Force
Administrador V-Force
Administrador V-Force

Mensagens : 933

Ir para o topo Ir para baixo

[EE] Minimap Eclipse Evolution 2.7 e Stable Empty Re: [EE] Minimap Eclipse Evolution 2.7 e Stable

Mensagem por Karlos Dom 10 Out 2010, 11:27

vlw, avisando que tem que converter a imagem do minimap para .bmp
se você ajeitar os blocos da imagem, você obterá mais resultados, e pode tbm adcionr novas propriedades para o minimap assim como eu fiz no meu game Very Happy
[EE] Minimap Eclipse Evolution 2.7 e Stable OgAAAHI0329cx24rtiSxZE0GVPG72Iowx1qcMlIt7Wqw6vCXyDqXzb7MHAaP1fgNusRK3_BJXTLyyJrBZCSywXaepFcAm1T1UD3OIX7YZJiv_b0u6PY68dKXJgTP
Karlos
Karlos
Membro Veterano
Membro Veterano

Mensagens : 2851

http://www.talack.com.br

Ir para o topo Ir para baixo

[EE] Minimap Eclipse Evolution 2.7 e Stable Empty Re: [EE] Minimap Eclipse Evolution 2.7 e Stable

Mensagem por Rio Absolut Dom 10 Out 2010, 14:09

Desculpe -P se você olhar bem seu tuto é igualzinho ao meu , só tem menos coisas falando .
Rio Absolut
Rio Absolut
Membro Vitalicio
Membro Vitalicio

Mensagens : 655

Ir para o topo Ir para baixo

[EE] Minimap Eclipse Evolution 2.7 e Stable Empty Re: [EE] Minimap Eclipse Evolution 2.7 e Stable

Mensagem por Karlos Dom 10 Out 2010, 14:17

meu tutorial esta mais completo, com menos coisas... logo postarei um melhoramento no mapa onde poderá ser visto grama, areia, estradas e agua Very Happy
Karlos
Karlos
Membro Veterano
Membro Veterano

Mensagens : 2851

http://www.talack.com.br

Ir para o topo Ir para baixo

[EE] Minimap Eclipse Evolution 2.7 e Stable Empty Re: [EE] Minimap Eclipse Evolution 2.7 e Stable

Mensagem por XDGames Sex 14 Jan 2011, 00:55

Muito show em *---*
aonde teria um para EEB 2.6 ?
XDGames
XDGames
Novato
Novato

Mensagens : 13

Ir para o topo Ir para baixo

[EE] Minimap Eclipse Evolution 2.7 e Stable Empty Re: [EE] Minimap Eclipse Evolution 2.7 e Stable

Mensagem por Lucas Roberto Sex 14 Jan 2011, 12:10

Muito show em *---*
aonde teria um para EEB 2.6 ?

ta ae

http://www.mmorpgbr.com/t4440-allminimap#36119

Karlos +1 de Cred
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[EE] Minimap Eclipse Evolution 2.7 e Stable Empty Re: [EE] Minimap Eclipse Evolution 2.7 e Stable

Mensagem por guuh Sáb 15 Jan 2011, 01:33

Em em Public Sub Main() presione CTRL+F e pesquise por
CÓDIGO:
frmMainMenu.lblVersion.Caption = "Version: " & App.Major & "." & App.Minor

nao consegui essa parte

eu nao achei o public sub main
guuh
guuh
Membro Veterano
Membro Veterano

Mensagens : 1187

Ir para o topo Ir para baixo

[EE] Minimap Eclipse Evolution 2.7 e Stable Empty Re: [EE] Minimap Eclipse Evolution 2.7 e Stable

Mensagem por Karlos Sáb 15 Jan 2011, 10:58

esquça essa parte, faça assim... procure por Public Sub Main()

e adcione o código uqe tava a amostra antes do final Smile
Karlos
Karlos
Membro Veterano
Membro Veterano

Mensagens : 2851

http://www.talack.com.br

Ir para o topo Ir para baixo

[EE] Minimap Eclipse Evolution 2.7 e Stable Empty Re: [EE] Minimap Eclipse Evolution 2.7 e Stable

Mensagem por guuh Sáb 15 Jan 2011, 12:38

entao... eu nao achei o public sub main
guuh
guuh
Membro Veterano
Membro Veterano

Mensagens : 1187

Ir para o topo Ir para baixo

[EE] Minimap Eclipse Evolution 2.7 e Stable Empty Re: [EE] Minimap Eclipse Evolution 2.7 e Stable

Mensagem por Karlos Sáb 15 Jan 2011, 15:47

Código:
Public Sub Main()
fica em modGeneral
Karlos
Karlos
Membro Veterano
Membro Veterano

Mensagens : 2851

http://www.talack.com.br

Ir para o topo Ir para baixo

[EE] Minimap Eclipse Evolution 2.7 e Stable Empty Re: [EE] Minimap Eclipse Evolution 2.7 e Stable

Mensagem por DarkRoot Sex 21 Jan 2011, 10:50

existe alguma versao para Project Vertigo?
Tem como eu diminuir o mapa e por ele em outro local e fazer uma janela em que quando se vai avançando vai mostrando mais coisas?

Mapas muito grande ficariam um incomodo no jogo =/
DarkRoot
DarkRoot
Novato
Novato

Mensagens : 2

Ir para o topo Ir para baixo

[EE] Minimap Eclipse Evolution 2.7 e Stable Empty Re: [EE] Minimap Eclipse Evolution 2.7 e Stable

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos