Suporte ao desenvolvimento de jogos!


    Alinhar nick

    Compartilhe
    avatar
    Motodark
    Ocasional
    Ocasional

    Mensagens : 168
    Créditos : 4

    Alinhar nick

    Mensagem por Motodark em Ter Fev 03, 2015 1:00 am

    porque quando eu uso uma sprite maior meu nick fica lá na casa do caralho e a guild é titulo fica certinho
    avatar
    Dooolly
    Moderador Global
    Moderador Global

    Medalhas :
    Mensagens : 1237
    Créditos : 147

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

    Re: Alinhar nick

    Mensagem por Dooolly em Ter Fev 03, 2015 11:16 am

    Helling escreveu:porque quando eu uso uma sprite maior meu nick fica lá na casa do caralho e a guild é titulo fica certinho

    mostrar uma screen ai, e botar a sub drawplayername para eu dar uma olhadinha.

    gui408
    Ocasional
    Ocasional

    Mensagens : 225
    Créditos : 10

    Re: Alinhar nick

    Mensagem por gui408 em Ter Fev 03, 2015 1:09 pm

    Sao As Base Sprites,se sua spriter tiver um branco maior acima da base sprite o nome fik acima do fundo branco,se vc alinhou com uma base sprite,se a base for diferente,vai fik assim mesmo.
    avatar
    Motodark
    Ocasional
    Ocasional

    Mensagens : 168
    Créditos : 4

    Re: Alinhar nick

    Mensagem por Motodark em Ter Fev 03, 2015 6:08 pm

    " />          " />




    Código:



    Public Sub DrawPlayerName(ByVal Index As Long)


    Dim TextX As Long


    Dim TextY As Long


    Dim color As Long


    Dim Name As String


    Dim Text2X As Long


    Dim Text2Y As Long


    Dim GuildString As String








        ' If debug mode, handle error then exit out


        If Options.Debug = 1 Then On Error GoTo errorhandler





        ' Check access level


        If GetPlayerPK(Index) = NO Then





            Select Case GetPlayerAccess(Index)


                Case 0


                    color = QBColor(BrightGreen)


                Case 1


                    color = QBColor(DarkGrey)


                Case 2


                    color = QBColor(Cyan)


                Case 3


                    color = QBColor(BrightGreen)


                Case 4


                    color = QBColor(Yellow)


                    End Select


            Else


                  color = QBColor(BrightRed)


        End If





        Name = Trim$(Player(Index).Name)


        


         


            ' calc pos


        TextX = ConvertMapX(GetPlayerX(Index) * PIC_X / 1) + Player(Index).XOffset + (PIC_X / 2) - getWidth(TexthDC, (Trim$(Name)))


        GuildString = Player(Index).GuildName


        Text2X = ConvertMapX(GetPlayerX(Index) * PIC_X) + Player(Index).XOffset + (PIC_X / 2) - getWidth(TexthDC, (Trim$(GuildString)))


        If GetPlayerSprite(Index) < 1 Or GetPlayerSprite(Index) > NumCharacters Then


        TextY = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset - 16


        Text2Y = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset - 16


        Else


       


       ' Determine location for text


       TextX = ConvertMapX(GetPlayerX(Index) * PIC_X / 1) + Player(Index).XOffset - (DDSD_Character(GetPlayerSprite(Index)).lHeight / 4) + 10


        TextY = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset - (DDSD_Character(GetPlayerSprite(Index)).lHeight / 4) + 13


        Text2Y = ConvertMapY(GetPlayerY(Index) * PIC_Y / 1) + Player(Index).YOffset - (DDSD_Character(GetPlayerSprite(Index)).lHeight / 3) + 2


        End If








        ' Draw name


        Call DrawText(TexthDC, TextX, TextY, "Lv." & GetPlayerLevel(Index) & ": " & GetPlayerName(Index), color)


        If Not Player(Index).GuildName = vbNullString Then


         Call DrawText(TexthDC, Text2X, Text2Y, GuildString, QBColor(BrightCyan))


        End If





        


        ' Error handler


        Exit Sub


    errorhandler:


        HandleError "DrawPlayerName", "modText", Err.Number, Err.Description, Err.Source, Err.HelpContext


        Err.Clear


        Exit Sub


    End Sub
    avatar
    Dooolly
    Moderador Global
    Moderador Global

    Medalhas :
    Mensagens : 1237
    Créditos : 147

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

    Re: Alinhar nick

    Mensagem por Dooolly em Ter Fev 03, 2015 11:24 pm

    o problema é que vc botou para mostrar o level na mesma linha que o nome
    o codigo só está alinhando o nome o level não, isso deixa a linha desalinhada...

    Dei uma modificada na sub, não testei fiz aqui no comentário mesmo, mais acho que vai dar certo:
    Código:
    Public Sub DrawPlayerName(ByVal Index As Long)
    Dim TextX As Long
    Dim TextY As Long
    Dim color As Long
    Dim Name As String, Level as string
    Dim Text2X As Long
    Dim Text2Y As Long
    Dim GuildString As String

        ' If debug mode, handle error then exit out
        If Options.Debug = 1 Then On Error GoTo errorhandler

        ' Check access level
        If GetPlayerPK(Index) = NO Then
            Select Case GetPlayerAccess(Index)
                Case 0
                    color = QBColor(BrightGreen)
                Case 1
                    color = QBColor(DarkGrey)
                Case 2
                    color = QBColor(Cyan)
                Case 3
                    color = QBColor(BrightGreen)
                Case 4
                    color = QBColor(Yellow)
             End Select
            Else
              color = QBColor(BrightRed)
        End If

        Name = Trim$(Player(Index).Name)
        Level = "Lv. " & Trim$(Getplayerlevel(index) & ": "

        ' calc pos

        TextX = ConvertMapX(GetPlayerX(Index) * PIC_X / 1) + Player(Index).XOffset + (PIC_X / 2) - getWidth(TexthDC, (Trim$(Level & Name)))

        GuildString = Player(Index).GuildName

        Text2X = ConvertMapX(GetPlayerX(Index) * PIC_X) + Player(Index).XOffset + (PIC_X / 2) - getWidth(TexthDC, (Trim$(GuildString)))

        If GetPlayerSprite(Index) < 1 Or GetPlayerSprite(Index) > NumCharacters Then
         TextY = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset - 16
         Text2Y = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset - 16
        Else
          ' Determine location for text
          TextX = ConvertMapX(GetPlayerX(Index) * PIC_X / 1) + Player(Index).XOffset - (DDSD_Character(GetPlayerSprite(Index)).lHeight / 4) + 10
          TextY = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset - (DDSD_Character(GetPlayerSprite(Index)).lHeight / 4) + 13

        Text2Y = ConvertMapY(GetPlayerY(Index) * PIC_Y / 1) + Player(Index).YOffset - (DDSD_Character(GetPlayerSprite(Index)).lHeight / 3) + 2
        End If

        ' Draw name
        Call DrawText(TexthDC, TextX, TextY, Level & name, color)

        If Not Player(Index).GuildName = vbNullString Then
          Call DrawText(TexthDC, Text2X, Text2Y, GuildString, QBColor(BrightCyan))
        End If

        ' Error handler
        Exit Sub
    errorhandler:
        HandleError "DrawPlayerName", "modText", Err.Number, Err.Description, Err.Source, Err.HelpContext
        Err.Clear
        Exit Sub
    End Sub
    avatar
    Motodark
    Ocasional
    Ocasional

    Mensagens : 168
    Créditos : 4

    Re: Alinhar nick

    Mensagem por Motodark em Ter Fev 03, 2015 11:57 pm

    Ai deu certo, muito obrigado +1 cred para kd um de vocês que me ajudaram.

    Conteúdo patrocinado

    Re: Alinhar nick

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Ter Out 23, 2018 8:41 am