Advertisement
Luciano_fuentes

Untitled

Dec 14th, 2016
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.17 KB | None | 0 0
  1. Option Explicit
  2.  
  3. Private Const Max_Ventas As Byte = 50 'Cantidad máxima de usuarios a la venta
  4. Private EnVenta As Byte
  5.  
  6. Private Type tVentas
  7. Precio As Long
  8. Dato As tDatos
  9. End Type
  10.  
  11. Private Ventas(1 To Max_Ventas) As tVentas
  12.  
  13. Public Sub Carga_Ventas()
  14.  
  15. Dim LoopC As Long
  16. Dim LoopX As Long
  17. Dim LoopZ As Long
  18. Dim LoopI As Long
  19. Dim LoopA As Long
  20. Dim LoopO As Long
  21.  
  22. Dim Leer As clsIniReader
  23.  
  24. Set Leer = New clsIniReader
  25. Call Leer.Initialize(App.Path & "\Dat\Ventas.dat")
  26.  
  27. EnVenta = CByte(Leer.GetValue("INIT", "VentasActuales"))
  28.  
  29. For LoopC = 1 To EnVenta
  30. With Ventas(LoopC)
  31. With Ventas(LoopC).Dato
  32. .Candado = CByte(Leer.GetValue("VENTA#" & LoopC, "Candado"))
  33. .Clase = CByte(Leer.GetValue("VENTA#" & LoopC, "Clase"))
  34. .Mana = CInt(Leer.GetValue("VENTA#" & LoopC, "Mana"))
  35. .Vida = CInt(Leer.GetValue("VENTA#" & LoopC, "Vida"))
  36. .Nivel = CByte(Leer.GetValue("VENTA#" & LoopC, "Nivel"))
  37. .Raza = CByte(Leer.GetValue("VENTA#" & LoopC, "Raza"))
  38. .Nombre = Leer.GetValue("VENTA#" & LoopC, "Nombre")
  39. .Porcentaje = CDbl(Leer.GetValue("VENTA#" & LoopC, "Porcentaje"))
  40. .Privado = Leer.GetValue("VENTA#" & LoopC, "Privado")
  41. .Oro = CLng(Leer.GetValue("VENTA#" & LoopC, "Oro_Inventario"))
  42.  
  43. For LoopX = 1 To MAXUSERHECHIZOS
  44. .Hechizos(LoopX) = CInt(Leer.GetValue("VENTA#" & LoopC, "Hechizo#" & LoopX))
  45. Next LoopX
  46.  
  47. For LoopZ = 1 To MAX_NORMAL_INVENTORY_SLOTS
  48. .Objetos(LoopZ).ObjIndex = CInt(ReadField(1, (Leer.GetValue("VENTA#" & LoopC, "OBJETO_INVENTARIO#" & LoopZ)), 45))
  49. .Objetos(LoopZ).Amount = CInt(ReadField(2, (Leer.GetValue("VENTA#" & LoopC, "OBJETO_INVENTARIO#" & LoopZ)), 45))
  50. Next LoopZ
  51.  
  52. For LoopI = 1 To NUMSKILLS
  53. .Skills(LoopI) = CByte(Leer.GetValue("VENTA#" & LoopC, "Skill#" & LoopI))
  54. Next LoopI
  55.  
  56. For LoopA = 1 To MAX_BANCOINVENTORY_SLOTS
  57. .Boveda.Objetos(LoopA).ObjIndex = CInt(ReadField(1, (Leer.GetValue("VENTA#" & LoopC, "OBJETO_BOVEDA#" & LoopZ)), 45))
  58. .Boveda.Objetos(LoopA).Amount = CInt(ReadField(2, (Leer.GetValue("VENTA#" & LoopC, "OBJETO_BOVEDA#" & LoopZ)), 45))
  59. Next LoopA
  60.  
  61. For LoopO = 1 To NUMATRIBUTOS
  62. .Atributos(LoopO) = CByte(Leer.GetValue("VENTA#" & LoopC, "Atributo#" & LoopO))
  63. Next LoopO
  64. End With
  65. .Dato.Boveda.Oro = CLng(Leer.GetValue("VENTA#" & LoopC, "Oro_Boveda"))
  66. .Precio = CLng(Leer.GetValue("VENTA#" & LoopC, "Precio"))
  67. End With
  68. Next LoopC
  69. End Sub
  70.  
  71. Public Sub Publicar_Personaje(ByVal ID As Integer, ByVal Precio As Long, ByVal Privado As String, ByVal Candado As Byte)
  72.  
  73. EnVenta = EnVenta + 1
  74.  
  75. With Ventas(EnVenta)
  76. .Precio = Precio
  77. .Dato.Candado = Candado
  78. .Dato.Privado = Privado
  79. End With
  80.  
  81. UserList(ID).flags.EnVenta = EnVenta
  82. Call WriteVar(UserFile, "FLAGS", "EnVenta", CStr(UserList(ID).flags.EnVenta))
  83.  
  84. If venta(EnVenta).Dato.Candado > 0 Then
  85. UserList(ID).flags.EnCandado = 1
  86. Call CloseSocket(ID)
  87. End If
  88. End Sub
  89.  
  90. Private Sub Guardar_Venta(ByVal ID_Venta As Byte, ByVal ID As Integer)
  91.  
  92. Dim LoopC As Long
  93. Dim LoopX As Long
  94. Dim LoopZ As Long
  95. Dim LoopI As Long
  96. Dim LoopA As Long
  97. Dim Archivo As String
  98.  
  99. Archivo = CharPath & UCase$(UserList(ID).name) & ".chr"
  100.  
  101. With Ventas(EnVenta).Dato
  102. .Vida = UserList(ID).Stats.MaxHp
  103. .Mana = UserList(ID).Stats.MaxMAN
  104. .Clase = UserList(ID).Clase
  105. .Nivel = UserList(ID).Stats.ELV
  106. .Nombre = UserList(ID).name
  107. .Oro = UserList(ID).Stats.GLD
  108. .Porcentaje = FormatNumber(Porcentaje(UserList(ID).Stats.ELU, UserList(ID).Stats.Exp), 2)
  109. .Boveda.Oro = UserList(ID).Stats.Banco
  110.  
  111. For LoopC = 1 To MAXUSERHECHIZOS
  112. .Hechizos() = UserList(ID).Stats.UserHechizos()
  113. Call WriteVar(UserFile, "VENTA#" & EnVenta, "Hechizo#" & LoopC, CStr(.Hechizos(LoopC)))
  114. Next LoopC
  115.  
  116. For LoopX = 1 To MAX_NORMAL_INVENTORY_SLOTS
  117. .Objetos(LoopX) = UserList(ID).Invent.Object(LoopX)
  118. Call WriteVar(UserFile, "VENTA#" & EnVenta, "Objeto#" & LoopX, CStr(.Objetos(LoopX).ObjIndex) & "-" & CStr(.Objetos(LoopX).Amount))
  119. Next LoopX
  120.  
  121. For LoopZ = 1 To NUMSKILLS
  122. .Skills(LoopZ) = UserList(ID).Stats.UserSkills(LoopZ)
  123. Call WriteVar(UserFile, "VENTA#" & EnVenta, "Skill#" & LoopZ, CStr(.Skills(LoopZ)))
  124. Next LoopZ
  125.  
  126. For LoopI = 1 To NUMATRIBUTOS
  127. .Atributos(LoopI) = UserList(ID).Stats.UserAtributos(LoopI)
  128. Call WriteVar(UserFile, "VENTA#" & EnVenta, "Skill#" & LoopI, CStr(.Atributos(LoopI)))
  129. Next LoopI
  130.  
  131. For LoopA = 1 To MAX_BANCOINVENTORY_SLOTS
  132. .Boveda.Objetos(LoopA) = UserList(ID).BancoInvent.Object(LoopA)
  133. Call WriteVar(UserFile, "VENTA#" & EnVenta, "OBJETO_BOVEDA#" & LoopI, CStr(.Boveda.Objetos(LoopA).ObjIndex) & "-" & CStr(.Boveda.Objetos(LoopA).Amount))
  134. Next LoopA
  135.  
  136. Call WriteVar(UserFile, "VENTA#" & EnVenta, "Precio", CStr(Ventas(ID_Venta).Precio))
  137. Call WriteVar(UserFile, "VENTA#" & EnVenta, "Vida", CStr(.Vida))
  138. Call WriteVar(UserFile, "VENTA#" & EnVenta, "Mana", CStr(.Mana))
  139. Call WriteVar(UserFile, "VENTA#" & EnVenta, "Clase", CStr(.Clase))
  140. Call WriteVar(UserFile, "VENTA#" & EnVenta, "Nivel", CStr(.Nivel))
  141. Call WriteVar(UserFile, "VENTA#" & EnVenta, "Nombre", CStr(.Nombre))
  142. Call WriteVar(UserFile, "VENTA#" & EnVenta, "Oro_Inventario", CStr(.Oro))
  143. Call WriteVar(UserFile, "VENTA#" & EnVenta, "Oro_Boveda", CStr(.Boveda.Oro))
  144. Call WriteVar(UserFile, "VENTA#" & EnVenta, "Porcentaje", CStr(.Porcentaje))
  145.  
  146. End With
  147. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement