GS-Zone

renderizado de textos cliente midraks v3 optimizado Ir al Indice

Moderadores: Moderadores de Argentum, Especialistas de Argentum, Especialistas de Programación

6

Nota » 13 Ene 2012 03:35

Bueno tengo un problema quiero poner codigos por ejemplo dibujar nombre del staff que aca esta el codigo:

  1.                   If Nombres Then
  2.                         If Len(.Nombre) > 0 Then
  3.                             Pos = InStr(.Nombre, "<")
  4.                             If Pos = 0 Then Pos = Len(.Nombre) + 2
  5.                            
  6.                             If .priv = 0 Then
  7.                                If .Criminal Then
  8.                                     color = D3DColorXRGB(255, 0, 0)
  9.                                     colorclan = D3DColorXRGB(255, 0, 0)
  10.                                 Else
  11.                                     color = D3DColorXRGB(40, 40, 255)
  12.                                     colorclan = D3DColorXRGB(40, 40, 255)
  13.                               End If
  14.                             Else
  15.                                 color = D3DColorXRGB(0, 100, 0)
  16.                                 colorclan = D3DColorXRGB(ColoresPJ(50).r, ColoresPJ(50).g, ColoresPJ(50).B)
  17.                                 Call Engine_Text_Render("<AO Staff>" & line, PixelOffsetX - 43, PixelOffsetY + 45, D3DColorXRGB(0, 100, 0))
  18.                             End If
  19.                            
  20.                             'Nick
  21.                             line = Left$(.Nombre, Pos - 2)
  22.                             Call Engine_Text_Render(line, PixelOffsetX - 8, PixelOffsetY + 30, color)
  23.                            
  24.                             'Clan
  25.                             line = mid$(.Nombre, Pos)
  26.                             Call Engine_Text_Render(line, PixelOffsetX - 18, PixelOffsetY + 45, color)
  27.                         End If
  28.                     End If
  29.                 End If

y


el tema es que este cliente tiene otro tipo de codigo que en ves de ser call engine_text_render es dibujartexto y aparte los valores son diferentes y no entiendo mucho de programacion ni basica tambien no logro centrar los dialogos y mi nombre ni el del clan si alguien me puede ayudar se agradeceria

Saludos y perdonen por mi ignorancia ^^

por sierto este es mi codigo de nombres

  1.     If Nombres Then
  2.                     If Len(.Nombre) > 0 Then
  3.                         Pos = InStr(.Nombre, "<")
  4.  
  5.                         If Pos = 0 Then Pos = Len(.Nombre) + 2
  6.                            
  7.                         If .priv = 0 Then
  8.                             If .Criminal Then
  9.                                 color = D3DColorXRGB(ColoresPJ(50).r, ColoresPJ(50).g, ColoresPJ(50).B)
  10.                             Else
  11.                                 color = D3DColorXRGB(ColoresPJ(49).r, ColoresPJ(49).g, ColoresPJ(49).B)
  12.                             End If
  13.  
  14.                         Else
  15.                             color = D3DColorXRGB(ColoresPJ(.priv).r, ColoresPJ(.priv).g, ColoresPJ(.priv).B)
  16.                         End If
  17.                            
  18.                         'Nick
  19.                         line = Left$(.Nombre, Pos - 2)
  20.                         Call DibujarTexto(line, PixelOffsetY + 30, PixelOffsetX - 10, 1, color)
  21.                            
  22.                         'Clan
  23.                         line = mid$(.Nombre, Pos)
  24.                         Call DibujarTexto(line, PixelOffsetY + 45, PixelOffsetX - 22, 1, color)
  25.                     End If
  26.                 End If
  27.             End If
Última edición por Ghytek el 13 Ene 2012 04:02, editado 1 vez en total
Usuario Registrado
73
Newbie [1]
Registrado: Años de membresíaAños de membresía
Mensajes: 27

Nota » 13 Ene 2012 03:45

Em primero que nada estas usando al vercion 3 de midraks no ?
Postea su codigo no el del ao común xD ya que ese cliente usa las askerosas letras por grh (Como las odio feas feas feas feas feas feas re feas )
2 : Cambia el titulo a renderizado de textos así es mas comprensible para otros usuarios xD
3 : Postea esa linea y el Public Sub Render() que se encuentra en el modulo de clase clsdialogs.bas eso es todo antes que te vallas a dormir te los centro y fue

Imagen
Ninja en progreso
929 (+5)
Dragon Ancestral [5]
Registrado: Años de membresía
Ubicación: • olivos •
Mensajes: 4103
Aportes: 13

Nota » 13 Ene 2012 04:01

Jajajja si es verdad ami mucho no me gustan pero por lo que lei te ahorra muchos fps enfin aca lo tenes y gracias :)
  1. Public Sub Render()
  2.  
  3.     '**************************************************************
  4.     'Author: Juan Martín Sotuyo Dodero
  5.     'Last Modification: 08/29/07 by Rapsodius
  6.     'Changed the way it gets rid of older dialogs.
  7.     '**************************************************************
  8.     Dim i              As Long
  9.  
  10.     Dim j              As Long
  11.  
  12.     Dim offset         As Integer
  13.  
  14.     Dim removedDialogs As Long
  15.    
  16.     For i = 0 To dialogCount - 1
  17.  
  18.         'Decrease index to prevent jumping over a dialog
  19.         'Crappy VB will cache the limit of the For loop, so even if it changed, it won't matter
  20.         With dialogs(i - removedDialogs)
  21.        
  22.        If .lifeTime >= 292 Then
  23.            If .Sube > 0 Then _
  24.            .Sube = .Sube - 1
  25.            If .Sube > 0 Then .y = .y + .Sube
  26.         End If
  27.  
  28.             If (GetTickCount() - .startTime) >= .lifeTime Then
  29.                 Call RemoveDialog(.CharIndex)
  30.                
  31.                 removedDialogs = removedDialogs + 1
  32.             ElseIf .renderable Then
  33.                 offset = -(usedFont.Size + 2) * UBound(.textLine())
  34.                
  35.                 'Render it
  36.                 For j = 0 To UBound(.textLine())
  37.                     Call DibujarTexto(.textLine(j), .y + offset, .x + 170)
  38.                     offset = offset + usedFont.Size + 5
  39.                 Next j
  40.                
  41.                 'Won't render it unless it's updated in next frmae
  42.                 .renderable = False
  43.             End If
  44.  
  45.         End With
  46.  
  47.     Next i
  48.  
  49. End Sub
Usuario Registrado
73
Newbie [1]
Registrado: Años de membresíaAños de membresía
Mensajes: 27

Nota » 13 Ene 2012 04:20

PAra que los textos cuando hablas se centren o queden a tu gusto

es aca
Call DibujarTexto(.textLine(j), .y + offset, .x + 170 < vas modificando restandole al 170

Y aca los nombre sy el clan



'Nick
line = Left$(.Nombre, Pos - 2)
Call DibujarTexto(line, PixelOffsetY + 30, PixelOffsetX - 10, 1, color) < aca es el 30 le vas restando o sumando

'Clan
line = mid$(.Nombre, Pos)
Call DibujarTexto(line, PixelOffsetY + 45, PixelOffsetX - 22, 1, color) < aca es el 45 restas o sumas

Imagen
Ninja en progreso
929 (+5)
Dragon Ancestral [5]
Registrado: Años de membresía
Ubicación: • olivos •
Mensajes: 4103
Aportes: 13

Nota » 13 Ene 2012 04:38

gracias ya lo pude acomodar el tema ahora es lo primero que postie lo del <staff ao> que no se adaptarlo a los codigos que ya los deje desde ya gracias :)
Usuario Registrado
73
Newbie [1]
Registrado: Años de membresíaAños de membresía
Mensajes: 27

Nota » 13 Ene 2012 04:47

Crea otro th para eso

Imagen
Ninja en progreso
929 (+5)
Dragon Ancestral [5]
Registrado: Años de membresía
Ubicación: • olivos •
Mensajes: 4103
Aportes: 13


Volver a AO 0.11.5

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados