Todo en Cliente:
Creamos un Modulo y le ponemos de nombre "ModCabezas" y le ponemos de codigo:
- Option Explicit
- Public Const HUMANO_H_PRIMER_CABEZA As Integer = 1
- Public Const HUMANO_H_ULTIMA_CABEZA As Integer = 40 'En verdad es hasta la 51, pero como son muchas estas las dejamos no seleccionables
- Public Const HUMANO_H_CUERPO_DESNUDO As Integer = 21
- Public Const ELFO_H_PRIMER_CABEZA As Integer = 101
- Public Const ELFO_H_ULTIMA_CABEZA As Integer = 122
- Public Const ELFO_H_CUERPO_DESNUDO As Integer = 210
- Public Const DROW_H_PRIMER_CABEZA As Integer = 201
- Public Const DROW_H_ULTIMA_CABEZA As Integer = 221
- Public Const DROW_H_CUERPO_DESNUDO As Integer = 32
- Public Const ENANO_H_PRIMER_CABEZA As Integer = 301
- Public Const ENANO_H_ULTIMA_CABEZA As Integer = 319
- Public Const ENANO_H_CUERPO_DESNUDO As Integer = 53
- Public Const GNOMO_H_PRIMER_CABEZA As Integer = 401
- Public Const GNOMO_H_ULTIMA_CABEZA As Integer = 416
- Public Const GNOMO_H_CUERPO_DESNUDO As Integer = 222
- Public Const HUMANO_M_PRIMER_CABEZA As Integer = 70
- Public Const HUMANO_M_ULTIMA_CABEZA As Integer = 89
- Public Const HUMANO_M_CUERPO_DESNUDO As Integer = 39
- Public Const ELFO_M_PRIMER_CABEZA As Integer = 170
- Public Const ELFO_M_ULTIMA_CABEZA As Integer = 188
- Public Const ELFO_M_CUERPO_DESNUDO As Integer = 259
- Public Const DROW_M_PRIMER_CABEZA As Integer = 270
- Public Const DROW_M_ULTIMA_CABEZA As Integer = 288
- Public Const DROW_M_CUERPO_DESNUDO As Integer = 40
- Public Const ENANO_M_PRIMER_CABEZA As Integer = 370
- Public Const ENANO_M_ULTIMA_CABEZA As Integer = 384
- Public Const ENANO_M_CUERPO_DESNUDO As Integer = 60
- Public Const GNOMO_M_PRIMER_CABEZA As Integer = 470
- Public Const GNOMO_M_ULTIMA_CABEZA As Integer = 484
- Public Const GNOMO_M_CUERPO_DESNUDO As Integer = 260
- 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)
- '**************************************************************
- 'Author: Torres Patricio (Pato)
- 'Last Modify Date: 12/28/2009
- 'Draw Picture in the PictureBox
- '*************************************************************
- Call PictureBox.PaintPicture(Picture, X1, Y1, Width1, Height1, X2, Y2, Width2, Height2)
- 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:
- Dim Head As Integer
- Select Case Index
- Case 0
- UserHead = CheckCabeza(UserHead + 1)
- Case 1
- UserHead = CheckCabeza(UserHead - 1)
- End Select
- Call UpdateHeadSelection
Despues abajo de todo el frmCrearPersonaje ponemos:
- Private Sub UpdateHeadSelection()
- Dim Head As Integer
- Head = UserHead
- Call DrawHead(Head)
- End Sub
- Private Function CheckCabeza(ByVal Head As Integer) As Integer
- Select Case UserSexo
- Case eGenero.Hombre
- Select Case UserRaza
- Case eRaza.Humano
- If Head > HUMANO_H_ULTIMA_CABEZA Then
- CheckCabeza = HUMANO_H_PRIMER_CABEZA + (Head - HUMANO_H_ULTIMA_CABEZA) - 1
- ElseIf Head < HUMANO_H_PRIMER_CABEZA Then
- CheckCabeza = HUMANO_H_ULTIMA_CABEZA - (HUMANO_H_PRIMER_CABEZA - Head) + 1
- Else
- CheckCabeza = Head
- End If
- Case eRaza.Elfo
- If Head > ELFO_H_ULTIMA_CABEZA Then
- CheckCabeza = ELFO_H_PRIMER_CABEZA + (Head - ELFO_H_ULTIMA_CABEZA) - 1
- ElseIf Head < ELFO_H_PRIMER_CABEZA Then
- CheckCabeza = ELFO_H_ULTIMA_CABEZA - (ELFO_H_PRIMER_CABEZA - Head) + 1
- Else
- CheckCabeza = Head
- End If
- Case eRaza.ElfoOscuro
- If Head > DROW_H_ULTIMA_CABEZA Then
- CheckCabeza = DROW_H_PRIMER_CABEZA + (Head - DROW_H_ULTIMA_CABEZA) - 1
- ElseIf Head < DROW_H_PRIMER_CABEZA Then
- CheckCabeza = DROW_H_ULTIMA_CABEZA - (DROW_H_PRIMER_CABEZA - Head) + 1
- Else
- CheckCabeza = Head
- End If
- Case eRaza.Enano
- If Head > ENANO_H_ULTIMA_CABEZA Then
- CheckCabeza = ENANO_H_PRIMER_CABEZA + (Head - ENANO_H_ULTIMA_CABEZA) - 1
- ElseIf Head < ENANO_H_PRIMER_CABEZA Then
- CheckCabeza = ENANO_H_ULTIMA_CABEZA - (ENANO_H_PRIMER_CABEZA - Head) + 1
- Else
- CheckCabeza = Head
- End If
- Case eRaza.Gnomo
- If Head > GNOMO_H_ULTIMA_CABEZA Then
- CheckCabeza = GNOMO_H_PRIMER_CABEZA + (Head - GNOMO_H_ULTIMA_CABEZA) - 1
- ElseIf Head < GNOMO_H_PRIMER_CABEZA Then
- CheckCabeza = GNOMO_H_ULTIMA_CABEZA - (GNOMO_H_PRIMER_CABEZA - Head) + 1
- Else
- CheckCabeza = Head
- End If
- Case Else
- UserRaza = lstRaza.ListIndex + 1
- CheckCabeza = CheckCabeza(Head)
- End Select
- Case eGenero.Mujer
- Select Case UserRaza
- Case eRaza.Humano
- If Head > HUMANO_M_ULTIMA_CABEZA Then
- CheckCabeza = HUMANO_M_PRIMER_CABEZA + (Head - HUMANO_M_ULTIMA_CABEZA) - 1
- ElseIf Head < HUMANO_M_PRIMER_CABEZA Then
- CheckCabeza = HUMANO_M_ULTIMA_CABEZA - (HUMANO_M_PRIMER_CABEZA - Head) + 1
- Else
- CheckCabeza = Head
- End If
- Case eRaza.Elfo
- If Head > ELFO_M_ULTIMA_CABEZA Then
- CheckCabeza = ELFO_M_PRIMER_CABEZA + (Head - ELFO_M_ULTIMA_CABEZA) - 1
- ElseIf Head < ELFO_M_PRIMER_CABEZA Then
- CheckCabeza = ELFO_M_ULTIMA_CABEZA - (ELFO_M_PRIMER_CABEZA - Head) + 1
- Else
- CheckCabeza = Head
- End If
- Case eRaza.ElfoOscuro
- If Head > DROW_M_ULTIMA_CABEZA Then
- CheckCabeza = DROW_M_PRIMER_CABEZA + (Head - DROW_M_ULTIMA_CABEZA) - 1
- ElseIf Head < DROW_M_PRIMER_CABEZA Then
- CheckCabeza = DROW_M_ULTIMA_CABEZA - (DROW_M_PRIMER_CABEZA - Head) + 1
- Else
- CheckCabeza = Head
- End If
- Case eRaza.Enano
- If Head > ENANO_M_ULTIMA_CABEZA Then
- CheckCabeza = ENANO_M_PRIMER_CABEZA + (Head - ENANO_M_ULTIMA_CABEZA) - 1
- ElseIf Head < ENANO_M_PRIMER_CABEZA Then
- CheckCabeza = ENANO_M_ULTIMA_CABEZA - (ENANO_M_PRIMER_CABEZA - Head) + 1
- Else
- CheckCabeza = Head
- End If
- Case eRaza.Gnomo
- If Head > GNOMO_M_ULTIMA_CABEZA Then
- CheckCabeza = GNOMO_M_PRIMER_CABEZA + (Head - GNOMO_M_ULTIMA_CABEZA) - 1
- ElseIf Head < GNOMO_M_PRIMER_CABEZA Then
- CheckCabeza = GNOMO_M_ULTIMA_CABEZA - (GNOMO_M_PRIMER_CABEZA - Head) + 1
- Else
- CheckCabeza = Head
- End If
- Case Else
- UserRaza = lstRaza.ListIndex + 1
- CheckCabeza = CheckCabeza(Head)
- End Select
- Case Else
- UserSexo = lstGenero.ListIndex + 1
- CheckCabeza = CheckCabeza(Head)
- End Select
- End Function
- Private Sub DrawHead(ByVal Head As Integer)
- Dim SR As RECT, DR As RECT
- Dim Grh As Long
- Call DrawImageInPicture(PicHead, Me.Picture, 0, 0, , , PicHead.Left, PicHead.Top)
- Grh = HeadData(Head).Head(3).GrhIndex
- With GrhData(Grh)
- SR.Left = .sX
- SR.Top = .sY
- SR.Right = SR.Left + .pixelWidth
- SR.Bottom = SR.Top + .pixelHeight
- DR.Left = 0
- DR.Top = 0
- DR.Right = DR.Left + .pixelWidth
- DR.Bottom = DR.Top + .pixelHeight
- Call DrawGrhtoHdc(PicHead.hdc, Grh, SR, DR)
- End With
- End Sub
Saludos







641![Dragon Ancestral [3] Dragon Ancestral [3]](./images/ranks/Rango32.gif)
![Newbie [5] Newbie [5]](./images/ranks/Rango4.gif)

![Newbie [3] Newbie [3]](./images/ranks/Rango2.gif)

![Dragon Ancestral [2] Dragon Ancestral [2]](./images/ranks/Rango31.gif)

![Dragon Ancestral [4] Dragon Ancestral [4]](./images/ranks/Rango33.gif)


![Dragon Ancestral [1] Dragon Ancestral [1]](./images/ranks/Rango30.gif)
![Oraculo [5] Oraculo [5]](./images/ranks/Rango29.gif)
![Newbie [2] Newbie [2]](./images/ranks/Rango1.gif)
