GS-Zone

Elegir Cabeza (Style IAO) Ir al Indice

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

14

Nota » 31 Ago 2011 20:38

Bueno, lo arme basándome en los códigos de la 13.x, espero que les guste:

Todo en Cliente:

Creamos un Modulo y le ponemos de nombre "ModCabezas" y le ponemos de codigo:
  1. Option Explicit
  2.  
  3. Public Const HUMANO_H_PRIMER_CABEZA As Integer = 1
  4. Public Const HUMANO_H_ULTIMA_CABEZA As Integer = 40 'En verdad es hasta la 51, pero como son muchas estas las dejamos no seleccionables
  5. Public Const HUMANO_H_CUERPO_DESNUDO As Integer = 21
  6.  
  7. Public Const ELFO_H_PRIMER_CABEZA As Integer = 101
  8. Public Const ELFO_H_ULTIMA_CABEZA As Integer = 122
  9. Public Const ELFO_H_CUERPO_DESNUDO As Integer = 210
  10.  
  11. Public Const DROW_H_PRIMER_CABEZA As Integer = 201
  12. Public Const DROW_H_ULTIMA_CABEZA As Integer = 221
  13. Public Const DROW_H_CUERPO_DESNUDO As Integer = 32
  14.  
  15. Public Const ENANO_H_PRIMER_CABEZA As Integer = 301
  16. Public Const ENANO_H_ULTIMA_CABEZA As Integer = 319
  17. Public Const ENANO_H_CUERPO_DESNUDO As Integer = 53
  18.  
  19. Public Const GNOMO_H_PRIMER_CABEZA As Integer = 401
  20. Public Const GNOMO_H_ULTIMA_CABEZA As Integer = 416
  21. Public Const GNOMO_H_CUERPO_DESNUDO As Integer = 222
  22.  
  23. Public Const HUMANO_M_PRIMER_CABEZA As Integer = 70
  24. Public Const HUMANO_M_ULTIMA_CABEZA As Integer = 89
  25. Public Const HUMANO_M_CUERPO_DESNUDO As Integer = 39
  26.  
  27. Public Const ELFO_M_PRIMER_CABEZA As Integer = 170
  28. Public Const ELFO_M_ULTIMA_CABEZA As Integer = 188
  29. Public Const ELFO_M_CUERPO_DESNUDO As Integer = 259
  30.  
  31. Public Const DROW_M_PRIMER_CABEZA As Integer = 270
  32. Public Const DROW_M_ULTIMA_CABEZA As Integer = 288
  33. Public Const DROW_M_CUERPO_DESNUDO As Integer = 40
  34.  
  35. Public Const ENANO_M_PRIMER_CABEZA As Integer = 370
  36. Public Const ENANO_M_ULTIMA_CABEZA As Integer = 384
  37. Public Const ENANO_M_CUERPO_DESNUDO As Integer = 60
  38.  
  39. Public Const GNOMO_M_PRIMER_CABEZA As Integer = 470
  40. Public Const GNOMO_M_ULTIMA_CABEZA As Integer = 484
  41. Public Const GNOMO_M_CUERPO_DESNUDO As Integer = 260
  42.  
  43. Public Sub DrawImageInPicture(ByRef PictureBox As PictureBox, ByRef Picture As StdPicture, ByVal X1 As Single, ByVal Y1 As Single, Optional Width1, Optional Height1, Optional X2, Optional Y2, Optional Width2, Optional Height2)
  44. '**************************************************************
  45. 'Author: Torres Patricio (Pato)
  46. 'Last Modify Date: 12/28/2009
  47. 'Draw Picture in the PictureBox
  48. '*************************************************************
  49.     Call PictureBox.PaintPicture(Picture, X1, Y1, Width1, Height1, X2, Y2, Width2, Height2)
  50. End Sub


Vamos al frmCrearPersonaje creamos un Picturebox con nombre "PicHead" y despues creamos 2 Images o Labeles y le ponemos de nombre "HeadPJ" (Creamos Array) y después le ponemos de código:
  1. Dim Head As Integer
  2.  
  3.     Select Case Index
  4.         Case 0
  5.             UserHead = CheckCabeza(UserHead + 1)
  6.         Case 1
  7.             UserHead = CheckCabeza(UserHead - 1)
  8.     End Select
  9.    
  10.     Call UpdateHeadSelection


Despues abajo de todo el frmCrearPersonaje ponemos:
  1. Private Sub UpdateHeadSelection()
  2.     Dim Head As Integer
  3.    
  4.     Head = UserHead
  5.     Call DrawHead(Head)
  6.    
  7. End Sub
  8.  
  9. Private Function CheckCabeza(ByVal Head As Integer) As Integer
  10.  
  11. Select Case UserSexo
  12.     Case eGenero.Hombre
  13.         Select Case UserRaza
  14.             Case eRaza.Humano
  15.                 If Head > HUMANO_H_ULTIMA_CABEZA Then
  16.                     CheckCabeza = HUMANO_H_PRIMER_CABEZA + (Head - HUMANO_H_ULTIMA_CABEZA) - 1
  17.                 ElseIf Head < HUMANO_H_PRIMER_CABEZA Then
  18.                     CheckCabeza = HUMANO_H_ULTIMA_CABEZA - (HUMANO_H_PRIMER_CABEZA - Head) + 1
  19.                 Else
  20.                     CheckCabeza = Head
  21.                 End If
  22.                
  23.             Case eRaza.Elfo
  24.                 If Head > ELFO_H_ULTIMA_CABEZA Then
  25.                     CheckCabeza = ELFO_H_PRIMER_CABEZA + (Head - ELFO_H_ULTIMA_CABEZA) - 1
  26.                 ElseIf Head < ELFO_H_PRIMER_CABEZA Then
  27.                     CheckCabeza = ELFO_H_ULTIMA_CABEZA - (ELFO_H_PRIMER_CABEZA - Head) + 1
  28.                 Else
  29.                     CheckCabeza = Head
  30.                 End If
  31.                
  32.             Case eRaza.ElfoOscuro
  33.                 If Head > DROW_H_ULTIMA_CABEZA Then
  34.                     CheckCabeza = DROW_H_PRIMER_CABEZA + (Head - DROW_H_ULTIMA_CABEZA) - 1
  35.                 ElseIf Head < DROW_H_PRIMER_CABEZA Then
  36.                     CheckCabeza = DROW_H_ULTIMA_CABEZA - (DROW_H_PRIMER_CABEZA - Head) + 1
  37.                 Else
  38.                     CheckCabeza = Head
  39.                 End If
  40.                
  41.             Case eRaza.Enano
  42.                 If Head > ENANO_H_ULTIMA_CABEZA Then
  43.                     CheckCabeza = ENANO_H_PRIMER_CABEZA + (Head - ENANO_H_ULTIMA_CABEZA) - 1
  44.                 ElseIf Head < ENANO_H_PRIMER_CABEZA Then
  45.                     CheckCabeza = ENANO_H_ULTIMA_CABEZA - (ENANO_H_PRIMER_CABEZA - Head) + 1
  46.                 Else
  47.                     CheckCabeza = Head
  48.                 End If
  49.                
  50.             Case eRaza.Gnomo
  51.                 If Head > GNOMO_H_ULTIMA_CABEZA Then
  52.                     CheckCabeza = GNOMO_H_PRIMER_CABEZA + (Head - GNOMO_H_ULTIMA_CABEZA) - 1
  53.                 ElseIf Head < GNOMO_H_PRIMER_CABEZA Then
  54.                     CheckCabeza = GNOMO_H_ULTIMA_CABEZA - (GNOMO_H_PRIMER_CABEZA - Head) + 1
  55.                 Else
  56.                     CheckCabeza = Head
  57.                 End If
  58.                
  59.             Case Else
  60.                 UserRaza = lstRaza.ListIndex + 1
  61.                 CheckCabeza = CheckCabeza(Head)
  62.         End Select
  63.        
  64.     Case eGenero.Mujer
  65.         Select Case UserRaza
  66.             Case eRaza.Humano
  67.                 If Head > HUMANO_M_ULTIMA_CABEZA Then
  68.                     CheckCabeza = HUMANO_M_PRIMER_CABEZA + (Head - HUMANO_M_ULTIMA_CABEZA) - 1
  69.                 ElseIf Head < HUMANO_M_PRIMER_CABEZA Then
  70.                     CheckCabeza = HUMANO_M_ULTIMA_CABEZA - (HUMANO_M_PRIMER_CABEZA - Head) + 1
  71.                 Else
  72.                     CheckCabeza = Head
  73.                 End If
  74.                
  75.             Case eRaza.Elfo
  76.                 If Head > ELFO_M_ULTIMA_CABEZA Then
  77.                     CheckCabeza = ELFO_M_PRIMER_CABEZA + (Head - ELFO_M_ULTIMA_CABEZA) - 1
  78.                 ElseIf Head < ELFO_M_PRIMER_CABEZA Then
  79.                     CheckCabeza = ELFO_M_ULTIMA_CABEZA - (ELFO_M_PRIMER_CABEZA - Head) + 1
  80.                 Else
  81.                     CheckCabeza = Head
  82.                 End If
  83.                
  84.             Case eRaza.ElfoOscuro
  85.                 If Head > DROW_M_ULTIMA_CABEZA Then
  86.                     CheckCabeza = DROW_M_PRIMER_CABEZA + (Head - DROW_M_ULTIMA_CABEZA) - 1
  87.                 ElseIf Head < DROW_M_PRIMER_CABEZA Then
  88.                     CheckCabeza = DROW_M_ULTIMA_CABEZA - (DROW_M_PRIMER_CABEZA - Head) + 1
  89.                 Else
  90.                     CheckCabeza = Head
  91.                 End If
  92.                
  93.             Case eRaza.Enano
  94.                 If Head > ENANO_M_ULTIMA_CABEZA Then
  95.                     CheckCabeza = ENANO_M_PRIMER_CABEZA + (Head - ENANO_M_ULTIMA_CABEZA) - 1
  96.                 ElseIf Head < ENANO_M_PRIMER_CABEZA Then
  97.                     CheckCabeza = ENANO_M_ULTIMA_CABEZA - (ENANO_M_PRIMER_CABEZA - Head) + 1
  98.                 Else
  99.                     CheckCabeza = Head
  100.                 End If
  101.                
  102.             Case eRaza.Gnomo
  103.                 If Head > GNOMO_M_ULTIMA_CABEZA Then
  104.                     CheckCabeza = GNOMO_M_PRIMER_CABEZA + (Head - GNOMO_M_ULTIMA_CABEZA) - 1
  105.                 ElseIf Head < GNOMO_M_PRIMER_CABEZA Then
  106.                     CheckCabeza = GNOMO_M_ULTIMA_CABEZA - (GNOMO_M_PRIMER_CABEZA - Head) + 1
  107.                 Else
  108.                     CheckCabeza = Head
  109.                 End If
  110.                
  111.             Case Else
  112.                 UserRaza = lstRaza.ListIndex + 1
  113.                 CheckCabeza = CheckCabeza(Head)
  114.         End Select
  115.     Case Else
  116.         UserSexo = lstGenero.ListIndex + 1
  117.         CheckCabeza = CheckCabeza(Head)
  118. End Select
  119. End Function
  120.  
  121. Private Sub DrawHead(ByVal Head As Integer)
  122.  
  123.     Dim SR As RECT, DR As RECT
  124.     Dim Grh As Long
  125.    
  126.     Call DrawImageInPicture(PicHead, Me.Picture, 0, 0, , , PicHead.Left, PicHead.Top)
  127.    
  128.     Grh = HeadData(Head).Head(3).GrhIndex
  129.  
  130.     With GrhData(Grh)
  131.         SR.Left = .sX
  132.         SR.Top = .sY
  133.         SR.Right = SR.Left + .pixelWidth
  134.         SR.Bottom = SR.Top + .pixelHeight
  135.    
  136.         DR.Left = 0
  137.         DR.Top = 0
  138.         DR.Right = DR.Left + .pixelWidth
  139.         DR.Bottom = DR.Top + .pixelHeight
  140.        
  141.         Call DrawGrhtoHdc(PicHead.hdc, Grh, SR, DR)
  142.        
  143.     End With
  144. End Sub


Saludos ^^

Imagen
Imagen
Staff Zeiked-Games
641
Dragon Ancestral [3]
Registrado: Años de membresíaAños de membresía
Ubicación: Castelar
Mensajes: 3414
Aportes: 66
Premios: 3
Usuario omnipresente (1) Embajador (2)

Nota » 31 Ago 2011 20:40

Muy buen Aporte ya que no hay muchos codigos para 12.1 Gracias Por aportarlo Se lo voy a agregar ami ao 12.1

Usuario Registrado
95
Newbie [5]
Registrado: Años de membresía
Mensajes: 141

Nota » 31 Ago 2011 20:43

Uh exelente, lo pruebo...
lo buscaba, como simpre Samke.

Buen aporte

Director AoTaD...

Creador, director y Staff Fragor-Ao-

Imagen
¿Cuál de los nueve ninjas graduados eres?
Creador FragorAo
7
Newbie [3]
Registrado: Años de membresía
Mensajes: 69
Aportes: 1

Nota » 31 Ago 2011 20:59

No creo que funcione.

CheckCabeza = GNOMO_H_ULTIMA_CABEZA - (GNOMO_H_PRIMER_CABEZA - Head) + 1

Eso de

GNOMO_H_ULTIMA_CABEZA

No está programado en 12.1

Lo mismo con los humanos enanos y otros.

Haa veo que lo declaraste.

Pero igual, si no está en SV no creo que funcione :P

Nota » 31 Ago 2011 21:16

Shak escribió:No creo que funcione.

CheckCabeza = GNOMO_H_ULTIMA_CABEZA - (GNOMO_H_PRIMER_CABEZA - Head) + 1

Eso de

GNOMO_H_ULTIMA_CABEZA

No está programado en 12.1

Lo mismo con los humanos enanos y otros.

Haa veo que lo declaraste.

Pero igual, si no está en SV no creo que funcione :P


Ya lo testie :)

Saludos ^^

Imagen
Imagen
Staff Zeiked-Games
641
Dragon Ancestral [3]
Registrado: Años de membresíaAños de membresía
Ubicación: Castelar
Mensajes: 3414
Aportes: 66
Premios: 3
Usuario omnipresente (1) Embajador (2)

Nota » 01 Sep 2011 00:23

Muy lindo samke , espero que sigas asi !

"No existen comentarios boludos, sino boludos que comentan."


Imagen


Imagen
-Staff Argentum Online-
877
Dragon Ancestral [2]
Registrado: Años de membresía
Ubicación: Buenos Aires
Mensajes: 3087
Aportes: 181
Premios: 3
Mister S.O.S. (2) Aportes (1)

Nota » 01 Sep 2011 01:13

wena wachiturro ex flogger ajkajkasjk

buen aporte.

daroh escribió:es porque no tiene los drivers de video ¬¬
Noi Due escribió:No se si lo reportaron, pero tácticas de combate y combate de armas, están al revez.


JAJAJAJA

Adf.ly

Imagen

• Acortar links.
• Gana dinero.

Haz click en la imagen de Adf.ly para registrarte.

TheFranK@hotmail.com.ar
316
Dragon Ancestral [4]
Registrado: Años de membresíaAños de membresía
Ubicación: Necochea
Mensajes: 3828
Aportes: 20
Premios: 1
Embajador (1)

Nota » 01 Sep 2011 01:24

Muy buenooooo


Off: No era que abias renunciado a Ao :P, Mejor que te quedaste

Imagen
Maestro del Gremio de Ladrones
758
Dragon Ancestral [1]
Registrado: Años de membresía
Ubicación: Polinesia
Mensajes: 2462
Aportes: 9
Premios: 1
Embajador (1)

Nota » 01 Sep 2011 03:45

Que manda al server para que te de la cabeza que seleccionastes?

Imagen
169
Oraculo [5]
Registrado: Años de membresíaAños de membresía
Mensajes: 2021
Aportes: 13
Premios: 1
Embajador (1)

Nota » 01 Sep 2011 04:01

Ñengo Flow escribió:Que manda al server para que te de la cabeza que seleccionastes?


Nada, hace magia

daroh escribió:es porque no tiene los drivers de video ¬¬
Noi Due escribió:No se si lo reportaron, pero tácticas de combate y combate de armas, están al revez.


JAJAJAJA

Adf.ly

Imagen

• Acortar links.
• Gana dinero.

Haz click en la imagen de Adf.ly para registrarte.

TheFranK@hotmail.com.ar
316
Dragon Ancestral [4]
Registrado: Años de membresíaAños de membresía
Ubicación: Necochea
Mensajes: 3828
Aportes: 20
Premios: 1
Embajador (1)

Nota » 01 Sep 2011 14:00

TheFranK escribió:
Ñengo Flow escribió:Que manda al server para que te de la cabeza que seleccionastes?


Nada, hace magia



Claro eso es lo que dije en ningún lado está:

GNOMO_H_ULTIMA_CABEZA

Gnomo es solo un ejemplo :P

Nota » 01 Sep 2011 15:22

Shak escribió:
TheFranK escribió:
Ñengo Flow escribió:Que manda al server para que te de la cabeza que seleccionastes?


Nada, hace magia



Claro eso es lo que dije en ningún lado está:

GNOMO_H_ULTIMA_CABEZA

Gnomo es solo un ejemplo :P


Porque no lees el código antes de comentar?, Fíjate que hay el checkcabezas y fíjate si no lo dice en ningún lado ;)

Saludos ^^

Imagen
Imagen
Staff Zeiked-Games
641
Dragon Ancestral [3]
Registrado: Años de membresíaAños de membresía
Ubicación: Castelar
Mensajes: 3414
Aportes: 66
Premios: 3
Usuario omnipresente (1) Embajador (2)

Nota » 07 Sep 2011 14:45

Hola, muy bueno el code me funciono todo pero.. al momento de elegir cabeza.. solo me tira la del Humano T.T.. osea yo pongo "Elfo Drow" y me sale la cabeza de humano igual .. ¿hay solución?..
Director Region AO
5
Newbie [2]
Registrado: Julio 2011
Mensajes: 43

Nota » 07 Sep 2011 15:39

Yarjeot escribió:Hola, muy bueno el code me funciono todo pero.. al momento de elegir cabeza.. solo me tira la del Humano T.T.. osea yo pongo "Elfo Drow" y me sale la cabeza de humano igual .. ¿hay solución?..


Si lo acabo de ver en mi 13.x, hice mal un sub, voy a dormir y despues lo armo bien y edito.

Saludos ^^

Imagen
Imagen
Staff Zeiked-Games
641
Dragon Ancestral [3]
Registrado: Años de membresíaAños de membresía
Ubicación: Castelar
Mensajes: 3414
Aportes: 66
Premios: 3
Usuario omnipresente (1) Embajador (2)


Volver a AO 0.12.x

¿Quién está conectado?

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