GS-Zone

Items de nobleza Ir al Indice

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

16

Nota » 23 Dic 2011 16:32

Bueno hace mucho no traigo algo y bueno acá un pibe me pidió y se los traigo. se puede mejorar.

Servidor:

Abajo de :

  1. Ping                    '/PING


Agregar:

  1. Nobleza                 'Nobleza



Abajo de:

  1.        Case ClientPacketID.Ping                    '/PING
  2.             Call HandlePing(UserIndex)


Agregar:

  1. Case ClientPacketID.Nobleza
  2.             Call HandleNobleza(UserIndex)


Abajo de:

  1.  
  2. ''
  3. ' Handle the "Ping" message
  4. '
  5. ' @param userIndex The index of the user sending the message
  6.  
  7. Public Sub HandlePing(ByVal UserIndex As Integer)
  8. '***************************************************
  9. 'Author: Lucas Tavolaro Ortiz (Tavo)
  10. 'Last Modification: 12/24/06
  11. 'Show guilds messages
  12. '***************************************************
  13.     With UserList(UserIndex)
  14.         'Remove Packet ID
  15.         Call .incomingData.ReadByte
  16.        
  17.         Call WritePong(UserIndex)
  18.     End With
  19. End Sub


Agregar:


  1.  
  2.  
  3. Public Sub HandleNobleza(ByVal UserIndex As Integer)
  4. 'Código creado para ZAO
  5.     With UserList(UserIndex)
  6.         'Remove Packet ID
  7.         Call .incomingData.ReadByte
  8.        
  9. Dim NumItemNoble As Byte
  10.    
  11. NumItemNoble = .incomingData.ReadByte()
  12. Call ItemsNoble(UserIndex, NumItemNoble)
  13.  
  14.     'llamamos al sub itemsnoble
  15.     End With
  16. End Sub


Creamos un nuevo módulo llamado "Mod_Shak"
Nota muy importante: Si no se llama mod_shak no les va a funcionar!

Contenido del nuevo módulo:

  1. Option Explicit
  2. Private PremioItem As Obj
  3. Public Sub ItemsNoble(ByVal UserIndex As Integer, ByVal Shakfeo As Integer)
  4. Select Case Shakfeo
  5.  
  6. Case 0 'Espada
  7. PremioItem.Amount = 1 'CAnt de obj
  8. PremioItem.ObjIndex = 1 'Numero en obj.dat de la espada que te da
  9.  
  10. If TieneObjetos(715, 1, UserIndex) = False Then
  11. Call WriteConsoleMsg(UserIndex, "No tienes los objetos necesarios", FontTypeNames.FONTTYPE_INFO)
  12. Exit Sub
  13. End If
  14.  
  15. If TieneObjetos(716, 1, UserIndex) = False Then
  16. Call WriteConsoleMsg(UserIndex, "No tienes los objetos necesarios", FontTypeNames.FONTTYPE_INFO)
  17. Exit Sub
  18. End If
  19.  
  20. If TieneObjetos(717, 1, UserIndex) = False Then
  21. Call WriteConsoleMsg(UserIndex, "No tienes los objetos necesarios", FontTypeNames.FONTTYPE_INFO)
  22. Exit Sub
  23. End If
  24.  
  25. If TieneObjetos(718, 1, UserIndex) = False Then
  26. Call WriteConsoleMsg(UserIndex, "No tienes los objetos necesarios", FontTypeNames.FONTTYPE_INFO)
  27. Exit Sub
  28. End If
  29.  
  30.  
  31. Call MeterItemEnInventario(UserIndex, USErIndex) 'Metemos el objeto canjeable
  32. Call QuitarObjetos(ITEM, cantidad, USErIndex) ' Sacamos los objetos que pide si pide 4 objetos ponemos 4 quitarobjetos
  33. Call QuitarObjetos(ITEM, cantidad, USErIndex) ' Cambiar item y antidad por el numero en obj.dat y la cantidad deseada a sacar.
  34. Call QuitarObjetos(ITEM, cantidad, USErIndex) 'Hacer lo mismo con el otro case " Casco"
  35. Call QuitarObjetos(ITEM, cantidad, USErIndex)
  36. End If
  37.  
  38. Case 1 'Casco
  39. PremioItem.Amount = 1 'CAnt de obj
  40. PremioItem.ObjIndex = 1 'Numero en obj.dat de la espada que te da
  41.  
  42. If TieneObjetos(718, 1, UserIndex) = False Then
  43. Call WriteConsoleMsg(UserIndex, "No tienes los objetos necesarios", FontTypeNames.FONTTYPE_INFO)
  44. Exit Sub
  45. End If
  46.  
  47. If TieneObjetos(719, 1, UserIndex) = False Then
  48. Call WriteConsoleMsg(UserIndex, "No tienes los objetos necesarios", FontTypeNames.FONTTYPE_INFO)
  49. Exit Sub
  50. End If
  51.  
  52. If TieneObjetos(720, 1, UserIndex) = False Then
  53. Call WriteConsoleMsg(UserIndex, "No tienes los objetos necesarios", FontTypeNames.FONTTYPE_INFO)
  54. Exit Sub
  55. End If
  56.  
  57. If TieneObjetos(721, 1, UserIndex) = False Then
  58. Call WriteConsoleMsg(UserIndex, "No tienes los objetos necesarios", FontTypeNames.FONTTYPE_INFO)
  59. Exit Sub
  60. End If
  61.  
  62.  
  63. Call MeterItemEnInventario(UserIndex, PremioItem)
  64. End If
  65.  
  66. End Select
  67. End Sub
  68.  
  69.  



CLIENTE:

abajo de:

  1. Ping                    '/PING


Agregas:



Abajo de:

  1. Case "/PING"
  2.                 Call WritePing


Agregar:

  1. Case "/ITEMS"
  2.                 Call fRMITEMS.Show(vbModeless, frmMain)


ABAJO DE:

  1. Public Sub WritePing()
  2. '***************************************************
  3. 'Author: Juan Martín Sotuyo Dodero (Maraxus)
  4. 'Last Modification: 26/01/2007
  5. 'Writes the "Ping" message to the outgoing data buffer
  6. '***************************************************
  7.     'Prevent the timer from being cut
  8.     If pingTime <> 0 Then Exit Sub
  9.    
  10.     Call outgoingData.WriteByte(ClientPacketID.Ping)
  11.    
  12.     ' Avoid computing errors due to frame rate
  13.     Call FlushBuffer
  14.     DoEvents
  15.    
  16.     pingTime = GetTickCount
  17. End Sub


Agregar:


  1. Public Sub writeNobleza(ByVal shakfeo As Byte)
  2.  
  3.     With outgoingData
  4.         Call .WriteByte(ClientPacketID.Nobleza)
  5.         Call .WriteByte(shakfeo)
  6.     End With
  7. End Sub



Ahora llega la parte del diseño.

creamos un nuevo formulario llamado "Frmitems"

Creamos 4 Commands y de caption le ponemos la del item que pida.

En el interior de cada commands agregamos



Commands dos=



Y así con los otros items.

EJ: En el servidor en el mod_shak dice case 0 case 1

estos van a coincidir con el cliente writenobleza(0) writenobleza(1)

así con los otros!





Si no se dan cuenta de algo lo explico
Última edición por Shak el 01 Ene 2012 14:42, editado 2 veces en total

Imagen
@lautamarino
531
Oraculo [5]
Registrado: Octubre 2011
Mensajes: 2035
Aportes: 46
Premios: 1
Embajador (1)

Nota » 23 Dic 2011 16:43

JAJA, excelente.

Ahora que me doy cuenta 13.0 es una boludes.

Holis
ADM 2013
561
Dragon Ancestral [3]
Registrado: Años de membresíaAños de membresía
Ubicación: Argentina
Mensajes: 3112
Aportes: 9

Nota » 23 Dic 2011 16:44

Faqe escribió:JAJA, excelente.

Ahora que me doy cuenta 13.0 es una boludes.



Es más cómodo

Imagen
@lautamarino
531
Oraculo [5]
Registrado: Octubre 2011
Mensajes: 2035
Aportes: 46
Premios: 1
Embajador (1)

Nota » 23 Dic 2011 18:21

JAJA MUY BUENO ^^


off: Lauta vas a comenzar a aportar ?

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

Nota » 23 Dic 2011 18:26

Rodrii.- escribió:JAJA MUY BUENO ^^


off: Lauta vas a comenzar a aportar ?



Gracias

para la respuesta del off , no xD solamente tenía ganas de hacer un código.

Imagen
@lautamarino
531
Oraculo [5]
Registrado: Octubre 2011
Mensajes: 2035
Aportes: 46
Premios: 1
Embajador (1)

Nota » 24 Dic 2011 00:24

Gracias Lau! Se te agradece mucho amigo ^^
<Staff Zarate-AO>
59 (-1)
Aprendiz [1]
Registrado: Años de membresíaAños de membresía
Ubicación: Intentando Programar
Mensajes: 225

#NotaEste post ha sido eliminado por Franeg95 en 28 Dic 2011 01:57.

Nota » 01 Ene 2012 14:40

gonza5a escribió:Gracias Lau! Se te agradece mucho amigo ^^



De nada U.u

Lo único que tiene de malo es que falta para que se vayan los items :P ahora edito

Imagen
@lautamarino
531
Oraculo [5]
Registrado: Octubre 2011
Mensajes: 2035
Aportes: 46
Premios: 1
Embajador (1)

Nota » 02 Ene 2012 14:26

:O lindo aporte wachinga :D.

Saludos!

Imagen

Imagen

TE AMO SKYFUN SOS MI FANNNNNNNNNNNNNNNNNNNNN
HAO Staff
409
Dragon Ancestral [2]
Registrado: Años de membresía
Ubicación: Buenos Aires
Mensajes: 2745
Aportes: 28
Premios: 1
Embajador (1)

Nota » 02 Ene 2012 16:24

SimP escribió::O lindo aporte wachinga :D.

Saludos!



Gracias!

Está testeado y funcional

Imagen
@lautamarino
531
Oraculo [5]
Registrado: Octubre 2011
Mensajes: 2035
Aportes: 46
Premios: 1
Embajador (1)

Nota » 03 Ene 2012 01:21

Bueno muy bueno la verdad :ok:

Saludos
VlaSs
89
Aprendiz [2]
Registrado: Años de membresíaAños de membresía
Ubicación: Cali-Colombia
Mensajes: 242

Nota » 08 Ene 2012 04:33

buen aporte lautaro =$

¿Tu área de especialidad es Graficación o Mapeación? Te presento el proyecto serio que esperabas para trabajar...

~ Para que aprendas ~
821
Dragon Ancestral [2]
Registrado: Años de membresía
Mensajes: 2707
Aportes: 98

Nota » 08 Ene 2012 22:42

Luuq escribió:buen aporte lautaro =$


Gracias mami :$

Imagen
@lautamarino
531
Oraculo [5]
Registrado: Octubre 2011
Mensajes: 2035
Aportes: 46
Premios: 1
Embajador (1)

Nota » 03 Feb 2012 01:25

Me explicas bien que hace?, no estoy muy metido en el argentum hace bastante :p

De que sirve poner:

Call .incomingData.ReadByte

Quiero saber, si podrias decirme gracias :p
Luchas como un granjero!
206
Aprendiz [1]
Registrado: Diciembre 2011
Ubicación: Monkey Island
Mensajes: 223
Aportes: 2

Nota » 03 Feb 2012 14:39

Lindo aporte lauta. :)
Última edición por [JuliaaN] el 03 Feb 2012 18:32, editado 1 vez en total

Imagen

Imagen

Imagen
Staff Tierras Legendarias AO
594
Oraculo [2]
Registrado: Años de membresía
Ubicación: Cordobá
Mensajes: 1337
Aportes: 12
Premios: 2
Campeón de Truco (1) Embajador (1)

Siguiente

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