Quebra de texto do Chat desenhado na tela 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.

Quebra de texto do Chat desenhado na tela

Ir para baixo

Quebra de texto do Chat desenhado na tela Empty Quebra de texto do Chat desenhado na tela

Mensagem por Valentine Sex Jan 27, 2012 12:50 am

Tópico Original
http://www.touchofdeathforums.com/smf/index.php/topic,75564.0.html

Ryoku Hasu: Incomoda-me que o texto desenhado na tela se apaga com bastante facilidade, quando o texto é muito longo e maior que a tela. então eu me sentei aqui por seis horas para conseguir finalizar. E desde que eu estou postando isso, eu acho que eu tenho que trabalhar.

Eu o editei para fazer a quebra de texto, em vez de caracteres embrulho! Woot!

Isso exibe oito mensagens, NÃO 8 linhas.

'Corrigido por Rob Janes (não inteiramente certo porque lol)
Quebra de texto do Chat desenhado na tela Cc4e58aa40168f0c1b02df07057deaa0

** Para alterar o comprimento da quebra automática de texto, altere todos os "60" no código abaixo

Lado do cliente

em modText

Enconte "Public Sub DrawChat()" e substitua por
Código:
'Evilbunnie's DrawnChat system, Word wrapping by RyokuPublic , lammer by Rob Janes
Sub DrawChat()
Dim i As Integer
Dim x As Integer
Dim y As Integer
Dim wrap As Integer
Dim text As String
Dim SubString As String
Dim ChatArray() as String

x = 0
   For i = 1 To 8   
      text = Chat(i).text   
      y = 1   
      ChatArray = Split(text," ")

      Do While Len(text) > 60       
         If y = 1 Then           
            wrap = Len(text) Mod 60       
         Else           
            wrap = 60       
         End If
                   
         'Our Array has more than 1 Word!
         If UBound(ChatArray) > 0 Then
            Do Until Asc(Mid$(text, Len(text) - wrap, 1)) = 32 'break line on spaces only.           
               wrap = wrap + 1       
            Loop 
         'Our Array only has 1 Word!
         ElseIf UBound(ChatArray) <= 0 Then
                 Exit Do
                  wrap = 1
             End If
             
         SubString = Right$(text, wrap)
     
         Call DrawText(TexthDC, Camera.Left + 10, (Camera.Bottom - 20) - ((i + x) * 20), SubString, Chat(i).Colour)                   
         text = Left$(text, Len(text) - wrap)
               
         x = x + 1       
         y = y + 1   
      Loop
     
      Call DrawText(TexthDC, Camera.Left + 10, (Camera.Bottom - 20) - ((i + x) * 20), text, Chat(i).Colour)   
   Next I
End Sub

Créditos:
Ryoku Hasu (Por criar o tutorial original no TouchofDeath)
Valentine (Por traduzir, simplificar a explicação e postar aqui na Aldeia RPG)
Valentine
Valentine
Administrador
Administrador

Medalhas : Quebra de texto do Chat desenhado na tela ZgLkiRU
Mensagens : 5343
Créditos : 1164

https://www.aldeiarpg.com/

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