Barra de HP e MP em cima do Player 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.

Barra de HP e MP em cima do Player

+2
Valentine
thales12
6 participantes

Página 1 de 2 1, 2  Seguinte

Ir para baixo

Barra de HP e MP em cima do Player Empty Barra de HP e MP em cima do Player

Mensagem por thales12 Sex Out 28, 2011 1:36 am

no Client~Side procure por:

Código:
Public Sub BltPlayer(ByVal Index As Long)
Dim Anim As Byte, i As Long, X As Long, Y As Long
Dim Sprite As Long, spritetop As Long
Dim rec As DxVBLib.RECT
Dim attackspeed As Long
   
    ' If debug mode, handle error then exit out
    If Options.Debug = 1 Then On Error GoTo errorhandler

    Sprite = GetPlayerSprite(Index)

    If Sprite < 1 Or Sprite > NumCharacters Then Exit Sub
   
    CharacterTimer(Sprite) = GetTickCount + SurfaceTimerMax

    If DDS_Character(Sprite) Is Nothing Then
        Call InitDDSurf("characters" & Sprite, DDSD_Character(Sprite), DDS_Character(Sprite))
    End If

    ' speed from weapon
    If GetPlayerEquipment(Index, Weapon) > 0 Then
        attackspeed = Item(GetPlayerEquipment(Index, Weapon)).Speed
    Else
        attackspeed = 1000
    End If

    ' Reset frame
    If Player(Index).Step = 3 Then
        Anim = 0
    ElseIf Player(Index).Step = 1 Then
        Anim = 2
    End If
   
    ' Check for attacking animation
    If Player(Index).AttackTimer + (attackspeed / 2) > GetTickCount Then
        If Player(Index).Attacking = 1 Then
            Anim = 3
        End If
    Else
        ' If not attacking, walk normally
        Select Case GetPlayerDir(Index)
            Case DIR_UP
                If (Player(Index).YOffset > 8) Then Anim = Player(Index).Step
            Case DIR_DOWN
                If (Player(Index).YOffset < -8) Then Anim = Player(Index).Step
            Case DIR_LEFT
                If (Player(Index).XOffset > 8) Then Anim = Player(Index).Step
            Case DIR_RIGHT
                If (Player(Index).XOffset < -8) Then Anim = Player(Index).Step
        End Select
    End If

    ' Check to see if we want to stop making him attack
    With Player(Index)
        If .AttackTimer + attackspeed < GetTickCount Then
            .Attacking = 0
            .AttackTimer = 0
        End If
    End With

    ' Set the left
    Select Case GetPlayerDir(Index)
        Case DIR_UP
            spritetop = 3
        Case DIR_RIGHT
            spritetop = 2
        Case DIR_DOWN
            spritetop = 0
        Case DIR_LEFT
            spritetop = 1
    End Select

    With rec
        .top = spritetop * (DDSD_Character(Sprite).lHeight / 4)
        .Bottom = .top + (DDSD_Character(Sprite).lHeight / 4)
        .Left = Anim * (DDSD_Character(Sprite).lWidth / 4)
        .Right = .Left + (DDSD_Character(Sprite).lWidth / 4)
    End With

    ' Calculate the X
    X = GetPlayerX(Index) * PIC_X + Player(Index).XOffset - ((DDSD_Character(Sprite).lWidth / 4 - 32) / 2)

    ' Is the player's height more than 32..?
    If (DDSD_Character(Sprite).lHeight) > 32 Then
        ' Create a 32 pixel offset for larger sprites
        Y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - ((DDSD_Character(Sprite).lHeight / 4) - 32)
    Else
        ' Proceed as normal
        Y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset
    End If

    ' render the actual sprite
    Call BltSprite(Sprite, X, Y, rec)
   
    ' check for paperdolling
    For i = 1 To UBound(PaperdollOrder)
        If GetPlayerEquipment(Index, PaperdollOrder(i)) > 0 Then
            If Item(GetPlayerEquipment(Index, PaperdollOrder(i))).Paperdoll > 0 Then
                Call BltPaperdoll(X, Y, Item(GetPlayerEquipment(Index, PaperdollOrder(i))).Paperdoll, Anim, spritetop)
            End If
        End If
    Next
   
    ' Error handler
    Exit Sub
errorhandler:
    HandleError "BltPlayer", "modDirectDraw7", Err.Number, Err.Description, Err.Source, Err.HelpContext
    Err.Clear
    Exit Sub
End Sub

em baixo adicione:

Código:
Public Sub BltPlayerHP(ByVal Index As Long)
    Dim X As Long, Y As Long, Sprite As Long
   
    X = GetPlayerX(Index) * PIC_X + Player(Index).XOffset
   
    Sprite = GetPlayerSprite(Index)
   
    If Sprite < 1 Or Sprite > NumCharacters Then
        Y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - 25
    Else
        Y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - (DDSD_Character(Sprite).lHeight) + 149
    End If
   
    ' Draw the outside box
    Call DDS_BackBuffer.SetFillColor(RGB(0, 0, 0))
    Call DDS_BackBuffer.DrawBox(ConvertMapX(X), ConvertMapY(Y), ConvertMapX(X + 35), ConvertMapY(Y + 4))
   
    ' Draw the HP bar
    Call DDS_BackBuffer.SetFillColor(RGB(0, 255, 0))
    Call DDS_BackBuffer.DrawBox(ConvertMapX(X), ConvertMapY(Y), ConvertMapX(X + Int(((GetPlayerVital(Index, Vitals.HP) / 35) / (GetPlayerMaxVital(Index, Vitals.HP) / 35)) * 35)), ConvertMapY(Y + 4))
End Sub

Public Sub BltPlayerMP(ByVal Index As Long)
    Dim X As Long, Y As Long, Sprite As Long
   
    X = GetPlayerX(Index) * PIC_X + Player(Index).XOffset
   
    Sprite = GetPlayerSprite(Index)
   
    If Sprite < 1 Or Sprite > NumCharacters Then
        Y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - 20
    Else
        Y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - (DDSD_Character(Sprite).lHeight) + 155
    End If
   
    ' Draw the outside box
    Call DDS_BackBuffer.SetFillColor(RGB(0, 0, 0))
    Call DDS_BackBuffer.DrawBox(ConvertMapX(X), ConvertMapY(Y), ConvertMapX(X + 35), ConvertMapY(Y + 4))
   
    ' Draw the HP bar
    Call DDS_BackBuffer.SetFillColor(RGB(50, 30, 300))
    Call DDS_BackBuffer.DrawBox(ConvertMapX(X), ConvertMapY(Y), ConvertMapX(X + Int(((GetPlayerVital(Index, Vitals.MP) / 35) / (GetPlayerMaxVital(Index, Vitals.MP) / 35)) * 35)), ConvertMapY(Y + 4))
End Sub

dps na modDirectDraw7 procure por:

Código:
' Players
            For i = 1 To Player_HighIndex
                If IsPlaying(i) And GetPlayerMap(i) = GetPlayerMap(MyIndex) Then
                    If Player(i).Y = Y Then
                        Call BltPlayer(i)
                    End If
                End If
            Next

e mude para:

Código:
' Players
            For i = 1 To Player_HighIndex
                If IsPlaying(i) And GetPlayerMap(i) = GetPlayerMap(MyIndex) Then
                    If Player(i).Y = Y Then
            Call BltPlayerHP(i)
                        Call BltPlayerMP(i)
                        Call BltPlayer(i)
                    End If
                End If
            Next

Demonstração de como vai ficar:

Spoiler:

Créditos: a mim Thales12

_________________
Meu fã ? Meu Amigo ? Entao Use !

Barra de HP e MP em cima do Player Thalesfan
Barra de HP e MP em cima do Player Mv0yg8

Minha Sign:

Barra de HP e MP em cima do Player Zkqt5e
thales12
thales12
Membro de Honra
Membro de Honra

Mensagens : 322
Créditos : 108

Ficha do personagem
Nível: 1
Experiência:
Barra de HP e MP em cima do Player Left_bar_bleue0/0Barra de HP e MP em cima do Player Empty_bar_bleue  (0/0)
Vida:
Barra de HP e MP em cima do Player Left_bar_bleue30/30Barra de HP e MP em cima do Player Empty_bar_bleue  (30/30)

http://www.rdmgames.tk

Ir para o topo Ir para baixo

Barra de HP e MP em cima do Player Empty Re: Barra de HP e MP em cima do Player

Mensagem por Valentine Sex Out 28, 2011 12:26 pm

Mas nun ja tem a bltbars? ai era só duplicar o código de hp e fazer o de mp

@Off-Topic
Thales sabe deixar a barra de hp embaixo do jogador que já vem no eo 2.0 global? pra todos verem o hp de todo mundo?
Valentine
Valentine
Administrador
Administrador

Medalhas : Barra de HP e MP em cima do Player ZgLkiRU
Mensagens : 5343
Créditos : 1164

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

Barra de HP e MP em cima do Player Empty Re: Barra de HP e MP em cima do Player

Mensagem por thales12 Sex Out 28, 2011 7:21 pm

bom esse tuto q eu fiz, todo mundo pode ver o hp de todo mundo e o mp '-'

e para deixar em baixo do jogador e so tu mudar as cordenadas da barra de mp e hp ! :)

_________________
Meu fã ? Meu Amigo ? Entao Use !

Barra de HP e MP em cima do Player Thalesfan
Barra de HP e MP em cima do Player Mv0yg8

Minha Sign:

Barra de HP e MP em cima do Player Zkqt5e
thales12
thales12
Membro de Honra
Membro de Honra

Mensagens : 322
Créditos : 108

Ficha do personagem
Nível: 1
Experiência:
Barra de HP e MP em cima do Player Left_bar_bleue0/0Barra de HP e MP em cima do Player Empty_bar_bleue  (0/0)
Vida:
Barra de HP e MP em cima do Player Left_bar_bleue30/30Barra de HP e MP em cima do Player Empty_bar_bleue  (30/30)

http://www.rdmgames.tk

Ir para o topo Ir para baixo

Barra de HP e MP em cima do Player Empty Re: Barra de HP e MP em cima do Player

Mensagem por Valentine Sáb Out 29, 2011 12:42 am

Muito bom tutorial, tava precisando disso
+ 1 crédito
Valentine
Valentine
Administrador
Administrador

Medalhas : Barra de HP e MP em cima do Player ZgLkiRU
Mensagens : 5343
Créditos : 1164

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

Barra de HP e MP em cima do Player Empty Re: Barra de HP e MP em cima do Player

Mensagem por GustavoNunes Seg Abr 16, 2012 10:00 am

Mto bom to usando no meu já... +1
GustavoNunes
GustavoNunes
Iniciante
Iniciante

Mensagens : 72
Créditos : 2

Ir para o topo Ir para baixo

Barra de HP e MP em cima do Player Empty Re: Barra de HP e MP em cima do Player

Mensagem por Pad;* Seg Abr 16, 2012 10:02 am

é global sim , o do player , já o do npc , quando você ataca aparece a bltbar dele :p

Pad;*
Pad;*
Pad;*
Novato
Novato

Mensagens : 25
Créditos : 1

Ir para o topo Ir para baixo

Barra de HP e MP em cima do Player Empty Re: Barra de HP e MP em cima do Player

Mensagem por RD12 Seg Abr 16, 2012 10:22 am

Parabéns pelo sistema, muito legal.
+1
RD12
RD12
Lenda
Lenda

Medalhas : Barra de HP e MP em cima do Player 48080450Barra de HP e MP em cima do Player Trophy11Barra de HP e MP em cima do Player GIueZBarra de HP e MP em cima do Player ZgLkiRU
Mensagens : 1946
Créditos : 745

Ir para o topo Ir para baixo

Barra de HP e MP em cima do Player Empty Re: Barra de HP e MP em cima do Player

Mensagem por Valentine Seg Abr 16, 2012 11:32 am

Pad;* escreveu:é global sim , o do player , já o do npc , quando você ataca aparece a bltbar dele :p

Pad;*
Eu testei aqui e não funcionou, na verdade deu um erro e pelo que eu vi no servidor ele não envia o seu hp para os outros jogadores, somente para você, então não consigo acreditar nisso.
Valentine
Valentine
Administrador
Administrador

Medalhas : Barra de HP e MP em cima do Player ZgLkiRU
Mensagens : 5343
Créditos : 1164

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

Barra de HP e MP em cima do Player Empty Re: Barra de HP e MP em cima do Player

Mensagem por thales12 Seg Abr 16, 2012 6:25 pm

Marlos Gama escreveu:
Pad;* escreveu:é global sim , o do player , já o do npc , quando você ataca aparece a bltbar dele :p

Pad;*
Eu testei aqui e não funcionou, na verdade deu um erro e pelo que eu vi no servidor ele não envia o seu hp para os outros jogadores, somente para você, então não consigo acreditar nisso.


aki funfa perfectamente Sr !: )

_________________
Meu fã ? Meu Amigo ? Entao Use !

Barra de HP e MP em cima do Player Thalesfan
Barra de HP e MP em cima do Player Mv0yg8

Minha Sign:

Barra de HP e MP em cima do Player Zkqt5e
thales12
thales12
Membro de Honra
Membro de Honra

Mensagens : 322
Créditos : 108

Ficha do personagem
Nível: 1
Experiência:
Barra de HP e MP em cima do Player Left_bar_bleue0/0Barra de HP e MP em cima do Player Empty_bar_bleue  (0/0)
Vida:
Barra de HP e MP em cima do Player Left_bar_bleue30/30Barra de HP e MP em cima do Player Empty_bar_bleue  (30/30)

http://www.rdmgames.tk

Ir para o topo Ir para baixo

Barra de HP e MP em cima do Player Empty Re: Barra de HP e MP em cima do Player

Mensagem por Valentine Seg Abr 16, 2012 9:33 pm

E em que parte o servidor envia o hp em um jogador para os demais do mapa?
Valentine
Valentine
Administrador
Administrador

Medalhas : Barra de HP e MP em cima do Player ZgLkiRU
Mensagens : 5343
Créditos : 1164

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

Barra de HP e MP em cima do Player Empty Re: Barra de HP e MP em cima do Player

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