Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Private Sub HandlePacketMercado(ByVal UserIndex As Integer)
  2.  
  3.  
  4. 10  If UserList(UserIndex).incomingData.length < 2 Then
  5. 20      Err.Raise UserList(UserIndex).incomingData.NotEnoughDataErrCode
  6. 30      Exit Sub
  7. 40  End If
  8.  
  9. 50  On Error GoTo HandlePacketMercado_Error
  10.  
  11. 60  With UserList(UserIndex)
  12.  
  13.         'This packet contains strings, make a copy of the data to prevent losses if it's not complete yet...
  14.        Dim Buffer As New clsByteQueue
  15. 70      Call Buffer.CopyBuffer(.incomingData)
  16.  
  17.         'Remove packet ID
  18. 80      Call Buffer.ReadByte
  19.  
  20.         Dim Tipo As Byte
  21.  
  22. 90      Tipo = Buffer.ReadByte()
  23.  
  24. 100     Select Case Tipo
  25.             Case eTipoMercado.AceptarOferta
  26. 110             Call AceptarOfertaMercado(UserIndex, Buffer.ReadByte)
  27.  
  28. 120         Case eTipoMercado.EliminarOferta
  29. 130             Call m_Mercado.CancelarOfertaHecha(UserIndex, Buffer.ReadByte)
  30.  
  31. 140         Case eTipoMercado.PublicarPersonaje
  32. 150             Call m_Mercado.PublicarPersonaje(UserIndex, _
  33.                                                  Buffer.ReadASCIIString, _
  34.                                                  Buffer.ReadASCIIString, _
  35.                                                  Buffer.ReadASCIIString, _
  36.                                                  Buffer.ReadASCIIString, _
  37.                                                  Buffer.ReadLong, _
  38.                                                  Buffer.ReadASCIIString)
  39.  
  40. 160         Case eTipoMercado.QuitarVenta
  41. 170             Call m_Mercado.QuitarPersonaje(UserIndex)
  42.  
  43. 180         Case eTipoMercado.RechazarOferta
  44. 190             Call m_Mercado.RechazarOfertaCambio(UserIndex, Buffer.ReadByte)
  45.  
  46. 200         Case eTipoMercado.SolicitarListaRecibidas
  47. 210             Call WriteSvMercado(UserIndex, 1)
  48.  
  49. 220         Case eTipoMercado.SolicitarListaHechas
  50. 230             Call WriteSvMercado(UserIndex, 2)
  51.  
  52. 240         Case eTipoMercado.SolicitarLista
  53. 250             Call WriteSvMercado(UserIndex, 3)
  54.  
  55. 260         Case eTipoMercado.EnviarOferta1
  56. 270             Call m_Mercado.EnviarOfertaCambio(UserIndex, Buffer.ReadByte)
  57.  
  58. 280         Case eTipoMercado.ComprarPJ
  59. 290             Call m_Mercado.ComprarPersonajeMercado(UserIndex, Buffer.ReadByte)
  60. 300     End Select
  61.  
  62.         'If we got here then packet is complete, copy data back to original queue
  63. 310     Call .incomingData.CopyBuffer(Buffer)
  64. 320 End With
  65.  
  66. 330 'On Error GoTo 0
  67. 340 'Exit Sub
  68.  
  69. HandlePacketMercado_Error:
  70.  
  71. 350 Call LogError("Error " & Err.Number & " (" & Err.description & ") in procedure HandlePacketMercado, line " & Erl & ".")
  72.  
  73. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement