Suporte ao desenvolvimento de jogos!


    Mostrar imagem da classe na HUD

    Compartilhe
    avatar
    driko
    Semi-Experiente
    Semi-Experiente

    Mensagens : 122
    Créditos : 7

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Mostrar imagem da classe na HUD

    Mensagem por driko em Ter Mar 14, 2017 9:22 pm

    Queria saber como fazer esse sistema mostrado aqui nesse tópico:
    http://www.aldeiarpg.com/t12786-mostrando-classe-do-player-na-tela-inicial

    Código:
    Public Sub DrawGUIBars()
    Dim tmpWidth As Long, barWidth As Long, x As Long, y As Long, dX As Long, dY As Long, sString As String
    Dim Width As Long, Height As Long

        ' backwindow + empty bars
        x = GUIWindow(GUI_BARS).x
        y = GUIWindow(GUI_BARS).y
        Width = 254
        Height = 86
        'EngineRenderRectangle Tex_GUI(4), x, y, 0, 0, width, height, width, height, width, height
        RenderTexture Tex_GUI(4), x, y, 0, 0, Width, Height, Width, Height
        
        ' hardcoded for POT textures
        barWidth = 120
        
        ' health bar
        BarWidth_GuiHP_Max = ((GetPlayerVital(MyIndex, Vitals.HP) / barWidth) / (GetPlayerMaxVital(MyIndex, Vitals.HP) / barWidth)) * barWidth
        RenderTexture Tex_GUI(13), x + 94, y + 12, 0, 0, BarWidth_GuiHP, Tex_GUI(13).Height, BarWidth_GuiHP, Tex_GUI(13).Height
        
        ' render health
        sString = GetPlayerVital(MyIndex, Vitals.HP) & "/" & GetPlayerMaxVital(MyIndex, Vitals.HP)
        dX = 95 + 7 + (barWidth / 2) - (EngineGetTextWidth(Font_Default, sString) / 2)
        dY = y + 9
        RenderText Font_Default, sString, dX, dY, White

    Achei a sub DrawGUIBars, porém a linha Render HP Bar  deve ter outro nome como "health bar"
    Podem me ajudar a montar?
    avatar
    Profane ~
    Administrador
    Administrador

    Mensagens : 728
    Créditos : 125

    Re: Mostrar imagem da classe na HUD

    Mensagem por Profane ~ em Ter Mar 14, 2017 9:30 pm

    @driko escreveu:Queria saber como fazer esse sistema mostrado aqui nesse tópico:
    http://www.aldeiarpg.com/t12786-mostrando-classe-do-player-na-tela-inicial

    Código:
    Public Sub DrawGUIBars()
    Dim tmpWidth As Long, barWidth As Long, x As Long, y As Long, dX As Long, dY As Long, sString As String
    Dim Width As Long, Height As Long

        ' backwindow + empty bars
        x = GUIWindow(GUI_BARS).x
        y = GUIWindow(GUI_BARS).y
        Width = 254
        Height = 86
        'EngineRenderRectangle Tex_GUI(4), x, y, 0, 0, width, height, width, height, width, height
        RenderTexture Tex_GUI(4), x, y, 0, 0, Width, Height, Width, Height
        
        ' hardcoded for POT textures
        barWidth = 120
        
        ' health bar
        BarWidth_GuiHP_Max = ((GetPlayerVital(MyIndex, Vitals.HP) / barWidth) / (GetPlayerMaxVital(MyIndex, Vitals.HP) / barWidth)) * barWidth
        RenderTexture Tex_GUI(13), x + 94, y + 12, 0, 0, BarWidth_GuiHP, Tex_GUI(13).Height, BarWidth_GuiHP, Tex_GUI(13).Height
        
        ' render health
        sString = GetPlayerVital(MyIndex, Vitals.HP) & "/" & GetPlayerMaxVital(MyIndex, Vitals.HP)
        dX = 95 + 7 + (barWidth / 2) - (EngineGetTextWidth(Font_Default, sString) / 2)
        dY = y + 9
        RenderText Font_Default, sString, dX, dY, White

    Achei a sub DrawGUIBars, porém a linha Render HP Bar  deve ter outro nome como "health bar"
    Podem me ajudar a montar?

    Código:
    RenderTexture Tex_GUI(13), x + 94, y + 12, 0, 0, BarWidth_GuiHP, Tex_GUI(13).Height, BarWidth_GuiHP, Tex_GUI(13).Height


    #Edit 1
    Você pode por o sistema em qq canto praticamente da Sub que não vai influir ou atrapalhar se você não editar os valores definidos.


    _________________
    "If you don't belong here, just build a place where you do."
    avatar
    driko
    Semi-Experiente
    Semi-Experiente

    Mensagens : 122
    Créditos : 7

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Re: Mostrar imagem da classe na HUD

    Mensagem por driko em Ter Mar 14, 2017 9:50 pm

    Bom, vamos lá.
    Antes de aplicar a dica de correção que você deu.
    Veja o que fiz:  
    Código:
    Public Sub DrawGUIBars()
    Dim tmpWidth As Long, barWidth As Long, x As Long, y As Long, dX As Long, dY As Long, sString As String
    Dim Width As Long, Height As Long

        ' backwindow + empty bars
        x = GUIWindow(GUI_BARS).x
        y = GUIWindow(GUI_BARS).y
        Width = 254
        Height = 86
        'EngineRenderRectangle Tex_GUI(4), x, y, 0, 0, width, height, width, height, width, height
        RenderTexture Tex_GUI(4), x, y, 0, 0, Width, Height, Width, Height
       
        ' hardcoded for POT textures
        barWidth = 120
       
        ' health bar
        ' Mostra uma imagem que representa a classe do player
        Select Case GetPlayerClass(MyIndex)
        Width = 42
        Height = 44
        x = 17
        y = 25
        Case 1
        RenderTexture Tex_GUI(39), 17, 25, 0, 0
        Case 2
        RenderTexture Tex_GUI(40), 17, 25, 0, 0
        Case 3
        RenderTexture Tex_GUI(41), 17, 25, 0, 0
        Case 4
        RenderTexture Tex_GUI(42), 17, 25, 0, 0
       
        End Select

    Recebi esse erro vindo da Width = 42

    avatar
    Profane ~
    Administrador
    Administrador

    Mensagens : 728
    Créditos : 125

    Re: Mostrar imagem da classe na HUD

    Mensagem por Profane ~ em Ter Mar 14, 2017 10:19 pm

    Apaga ele porque nem sendo usado ele está.

    O erro é porque vc nao poder usar declaracoes fora dos cases.

    OU poem dentro dos cases,ou poem fora da select.


    _________________
    "If you don't belong here, just build a place where you do."
    avatar
    driko
    Semi-Experiente
    Semi-Experiente

    Mensagens : 122
    Créditos : 7

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Re: Mostrar imagem da classe na HUD

    Mensagem por driko em Ter Mar 14, 2017 10:36 pm

    Não entendi muito bem, poderia me explicar melhor?
    Código:
    Public Sub DrawGUIBars()
    Dim tmpWidth As Long, barWidth As Long, x As Long, y As Long, dX As Long, dY As Long, sString As String
    Dim Width As Long, Height As Long

        Width = 42
        Height = 44
        x = 17
        y = 25
        ' Mostra uma imagem que representa a classe do player
        Select Case GetPlayerClass(MyIndex)
        Case 1
        RenderTexture Tex_GUI(39), x + 17, y + 25, 0, 0
        Case 2
        RenderTexture Tex_GUI(40), x + 17, y + 25, 0, 0
        Case 3
        RenderTexture Tex_GUI(41), x + 17, y + 25, 0, 0
        Case 4
        RenderTexture Tex_GUI(42), x + 17, y + 25, 0, 0
            
        End Select


    Spoiler:


    avatar
    Profane ~
    Administrador
    Administrador

    Mensagens : 728
    Créditos : 125

    Re: Mostrar imagem da classe na HUD

    Mensagem por Profane ~ em Ter Mar 14, 2017 11:31 pm

    No erro, vc havia deixado as declarações de valores sem conter os cases :

    Seu Caso =  Ex Errado :
        Width = 42
        Height = 44
        x = 17
        y = 25

        Case 1
        RenderTexture Tex_GUI(39), 17, 25, 0, 0
        Case 2


    Forma Certa :

        Width = 42
        Height = 44
        x = 17
        y = 25

    Select Case GetPlayerClass(MyIndex)
        Case 1
        RenderTexture Tex_GUI(39), 17, 25, 0, 0
        Case 2


    OU



    Select Case GetPlayerClass(MyIndex)
        Case 1
         Width = 42
        Height = 44
        x = 17
        y = 25
        RenderTexture Tex_GUI(39), 17, 25, 0, 0
        Case 2




    Outro Detalhe:

        RenderTexture Tex_GUI(39), 17, 25, 0, 0

    Todas as declarações de Render parecem estar incompletas, tendo apenas 4 declarações, sendo que pede em geral 8 a 9 declarações:
    Ex:

    RenderTexture Tex_GUI(37), x2 - 9, y2 - 5, 0, 0, 9, 5, 9, 5


    Verifique isso.


    _________________
    "If you don't belong here, just build a place where you do."
    avatar
    driko
    Semi-Experiente
    Semi-Experiente

    Mensagens : 122
    Créditos : 7

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Re: Mostrar imagem da classe na HUD

    Mensagem por driko em Qua Mar 15, 2017 10:20 am

    Opa! Então, das duas formas que você ensinou aí não ocorre erro algum, porém a imagem não aparece. O que seria as últimas 4 declarações?
    avatar
    Profane ~
    Administrador
    Administrador

    Mensagens : 728
    Créditos : 125

    Re: Mostrar imagem da classe na HUD

    Mensagem por Profane ~ em Qui Mar 16, 2017 4:49 am

    @driko escreveu:Opa! Então, das duas formas que você ensinou aí não ocorre erro algum, porém a imagem não aparece. O que seria as últimas 4 declarações?

    Código:
    Public Sub RenderTexture(ByVal Texture As Long, ByVal dX As Long, ByVal dY As Long, ByVal sX As Long, ByVal sY As Long, ByVal dW As Long, ByVal dH As Long, ByVal sW As Long, ByVal sH As Long, Optional ByVal Colour As Long = -1)

    Isso é o RenderTexture.

    No que me mostra, seu rendertexture não envia os valores totais. Corrija isso.


    _________________
    "If you don't belong here, just build a place where you do."

    Conteúdo patrocinado

    Re: Mostrar imagem da classe na HUD

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Ter Set 18, 2018 11:09 am