MiniMap 1.2 Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

MiniMap 1.2

+6
FFogomax
FilipeJF
gabriel190
HugoFreitas
Juton
Ricardo
10 participantes

Página 1 de 2 1, 2  Seguinte

Ir para baixo

MiniMap 1.2 Empty MiniMap 1.2

Mensagem por Ricardo Dom Jan 29, 2012 10:39 am

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.

MiniMap 1.2 Minimaph
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


    [li]Ícone branco quando não houver nada no mapa.[/li]


    [li]Ícone que mostra os jogadores que estão presentes no mapa.[/li]

    [li]Ícone que mostra os npcs que estão no mapa.[/li]

    [li]Ícone que mostra os bloqueios do mapa.[/li]

    [li]Ícone diferente para jogadores killers.[/li]

    [li]Ícone que mostra os teletransporte do mapa.[/li]

    [li]Ícone que mostra os itens do mapa.[/li]

    [li]Ícone que mostra as lojas do mapa sendo por atributo e sendo por npc.[/li]

    [li]Ícone diferente para cada tipo de npc.[/li]


Imagem

MiniMap 1.2 Minimapn

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


Última edição por Ricardo em Ter Fev 14, 2012 8:46 am, editado 2 vez(es)
Ricardo
Ricardo
Ocasional
Ocasional

Mensagens : 162
Créditos : 71

Ficha do personagem
Nível: 1
Experiência:
MiniMap 1.2 Left_bar_bleue0/0MiniMap 1.2 Empty_bar_bleue  (0/0)
Vida:
MiniMap 1.2 Left_bar_bleue30/30MiniMap 1.2 Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

MiniMap 1.2 Empty Re: MiniMap 1.2

Mensagem por Juton Dom Jan 29, 2012 1:58 pm

Muito Bom, ajudou bastante . +1 Cred!
Juton
Juton
Experiente
Experiente

Mensagens : 486
Créditos : 129

Ir para o topo Ir para baixo

MiniMap 1.2 Empty Re: MiniMap 1.2

Mensagem por HugoFreitas Dom Jan 29, 2012 10:36 pm

Bacana cara. +1 cred.

_________________
MiniMap 1.2 Brsnip10
MiniMap 1.2 DqtrI
HugoFreitas
HugoFreitas
Administrador
Administrador

Medalhas : MiniMap 1.2 Medal_55
Mensagens : 633
Créditos : 175

http://www.aldeiarpgbr.com

Ir para o topo Ir para baixo

MiniMap 1.2 Empty Re: MiniMap 1.2

Mensagem por Ricardo Seg Jan 30, 2012 8:06 am

Topico atualizado! O que mudou:


    [li]Ícone diferente para jogadores killers.[/li]

    [li]Ícone que mostra os teletransporte do mapa.[/li]

    [li]Ícone que mostra os itens do mapa.[/li]

    [li]Ícone que mostra as lojas do mapa sendo por atributo e sendo por npc.[/li]

    [li]Ícone diferente para cada tipo de npc.[/li]


MiniMap 1.2 Minimapn
Ricardo
Ricardo
Ocasional
Ocasional

Mensagens : 162
Créditos : 71

Ficha do personagem
Nível: 1
Experiência:
MiniMap 1.2 Left_bar_bleue0/0MiniMap 1.2 Empty_bar_bleue  (0/0)
Vida:
MiniMap 1.2 Left_bar_bleue30/30MiniMap 1.2 Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

MiniMap 1.2 Empty Re: MiniMap 1.2

Mensagem por gabriel190 Ter Jan 31, 2012 12:18 am

Muito bom cara!
consegui colocar!
+ 1 cred ae!
agora só falta eu descobrir como mudar o minimapa de lugar...(sou noob Razz )

@edit:
aff, nao tem como deixar o minimapa sempre do mesmo tamnho n? tipo se eu chegar para o lado o minimapa chega tbm. entendeu? porque eu queria deixar ele sempre on, mas se o mapa for grande ele cobre um pedação da tela...

@edit 2: consegui fazer ele mudar de lugar...mas n sei como colocar para ele ficar sempre do mesmo tamanho...

_________________
MiniMap 1.2 Scaled.php?server=546&filename=signpnu
MiniMap 1.2 Xna
MiniMap 1.2 Fanbarpw
MiniMap 1.2 AIymW
gabriel190
gabriel190
Membro Ativo
Membro Ativo

Mensagens : 278
Créditos : 19

Ir para o topo Ir para baixo

MiniMap 1.2 Empty Re: MiniMap 1.2

Mensagem por gabriel190 Ter Jan 31, 2012 9:59 am

Topico atualizado! O que mudou:


[li]Ícone diferente para jogadores killers.[/li]

[li]Ícone que mostra os teletransporte do mapa.[/li]

[li]Ícone que mostra os itens do mapa.[/li]

[li]Ícone que mostra as lojas do mapa sendo por atributo e sendo por npc.[/li]

[li]Ícone diferente para cada tipo de npc.[/li]

Desculpa o double post, mas agora q eu reparei n tem isso n...
acho que vc esqueceu de mudar o tópico...

_________________
MiniMap 1.2 Scaled.php?server=546&filename=signpnu
MiniMap 1.2 Xna
MiniMap 1.2 Fanbarpw
MiniMap 1.2 AIymW
gabriel190
gabriel190
Membro Ativo
Membro Ativo

Mensagens : 278
Créditos : 19

Ir para o topo Ir para baixo

MiniMap 1.2 Empty Re: MiniMap 1.2

Mensagem por Ricardo Qui Fev 02, 2012 8:40 am

Ops, desculpe ae eu esqueci de atualizar mais ja arrumei Very Happy
Ricardo
Ricardo
Ocasional
Ocasional

Mensagens : 162
Créditos : 71

Ficha do personagem
Nível: 1
Experiência:
MiniMap 1.2 Left_bar_bleue0/0MiniMap 1.2 Empty_bar_bleue  (0/0)
Vida:
MiniMap 1.2 Left_bar_bleue30/30MiniMap 1.2 Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

MiniMap 1.2 Empty Re: MiniMap 1.2

Mensagem por gabriel190 Qui Fev 02, 2012 9:28 am

agora sim! Very Happy
ta bem mais legal! + 1 cred ae pelo seu trabalho mano Razz

_________________
MiniMap 1.2 Scaled.php?server=546&filename=signpnu
MiniMap 1.2 Xna
MiniMap 1.2 Fanbarpw
MiniMap 1.2 AIymW
gabriel190
gabriel190
Membro Ativo
Membro Ativo

Mensagens : 278
Créditos : 19

Ir para o topo Ir para baixo

MiniMap 1.2 Empty Re: MiniMap 1.2

Mensagem por FilipeJF Qui Fev 02, 2012 9:57 am

Nossa tá cada vez melhor o minimap, concerteza você está fazendo um bom trabalho ai.
Parabéns mano, e espero que sempre traga atualizações dele!

_________________

MiniMap 1.2 Atpqp
O Equívoco do Sábio - conto na Amazon
FilipeJF
FilipeJF
Aldeia Friend
Aldeia Friend

Medalhas : MiniMap 1.2 Trophy11MiniMap 1.2 94Jxv
Mensagens : 1859
Créditos : 134

Ir para o topo Ir para baixo

MiniMap 1.2 Empty Re: MiniMap 1.2

Mensagem por FFogomax Qui Fev 02, 2012 1:26 pm

Ótimo script cara, posso fazer designers para ele?
Mas claro, com créditos a você?
Ah, já ia esquecendo, +Credit. Successful

FFogomax
Experiente
Experiente

Mensagens : 557
Créditos : 37

Ir para o topo Ir para baixo

MiniMap 1.2 Empty Re: MiniMap 1.2

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 1 de 2 1, 2  Seguinte

Ir para o topo

- Tópicos semelhantes

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