Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Option Explicit
- Private Const Max_Ventas As Byte = 50 'Cantidad máxima de usuarios a la venta
- Private Type tVentas
- Precio As Long
- Dato As tDatos
- End Type
- Public Ventas(1 To Max_Ventas) As tVentas
- Public Sub Carga_Ventas()
- Dim LoopC As Long
- Dim LoopX As Long
- Dim LoopZ As Long
- Dim LoopI As Long
- Dim LoopA As Long
- Dim LoopO As Long
- Dim Leer As clsIniReader
- Set Leer = New clsIniReader
- Call Leer.Initialize(App.Path & "\Dat\Ventas.dat")
- For LoopC = 1 To Max_Ventas
- With Ventas(LoopC)
- With Ventas(LoopC).Dato
- .Candado = CByte(Leer.GetValue("VENTA#" & LoopC, "Candado"))
- .Clase = CByte(Leer.GetValue("VENTA#" & LoopC, "Clase"))
- .Mana = CInt(Leer.GetValue("VENTA#" & LoopC, "Mana"))
- .Vida = CInt(Leer.GetValue("VENTA#" & LoopC, "Vida"))
- .Nivel = CByte(Leer.GetValue("VENTA#" & LoopC, "Nivel"))
- .Raza = CByte(Leer.GetValue("VENTA#" & LoopC, "Raza"))
- .Nombre = Leer.GetValue("VENTA#" & LoopC, "Nombre")
- .Porcentaje = CDbl(Leer.GetValue("VENTA#" & LoopC, "Porcentaje"))
- .Privado = Leer.GetValue("VENTA#" & LoopC, "Privado")
- .Oro = CLng(Leer.GetValue("VENTA#" & LoopC, "Oro_Inventario"))
- For LoopX = 1 To MAXUSERHECHIZOS
- .Hechizos(LoopX) = CInt(Leer.GetValue("VENTA#" & LoopC, "Hechizo#" & LoopX))
- Next LoopX
- For LoopZ = 1 To MAX_NORMAL_INVENTORY_SLOTS
- .Objetos(LoopZ).ObjIndex = CInt(ReadField(1, (Leer.GetValue("VENTA#" & LoopC, "OBJETO_INVENTARIO#" & LoopZ)), 45))
- .Objetos(LoopZ).Amount = CInt(ReadField(2, (Leer.GetValue("VENTA#" & LoopC, "OBJETO_INVENTARIO#" & LoopZ)), 45))
- Next LoopZ
- For LoopI = 1 To NUMSKILLS
- .Skills(LoopI) = CByte(Leer.GetValue("VENTA#" & LoopC, "Skill#" & LoopI))
- Next LoopI
- For LoopA = 1 To MAX_BANCOINVENTORY_SLOTS
- .Boveda.Objetos(LoopA).ObjIndex = CInt(ReadField(1, (Leer.GetValue("VENTA#" & LoopC, "OBJETO_BOVEDA#" & LoopZ)), 45))
- .Boveda.Objetos(LoopA).Amount = CInt(ReadField(2, (Leer.GetValue("VENTA#" & LoopC, "OBJETO_BOVEDA#" & LoopZ)), 45))
- Next LoopA
- For LoopO = 1 To NUMATRIBUTOS
- .Atributos(LoopO) = CByte(Leer.GetValue("VENTA#" & LoopC, "Atributo#" & LoopO))
- Next LoopO
- End With
- .Dato.Boveda.Oro = CLng(Leer.GetValue("VENTA#" & LoopC, "Oro_Boveda"))
- .Precio = CLng(Leer.GetValue("VENTA#" & LoopC, "Precio"))
- End With
- Next LoopC
- End Sub
- Private Function Dame_ID_Venta() As Byte
- Dim LoopC As Long
- For LoopC = 1 To Max_Ventas
- With Ventas(LoopC)
- If .Precio = 0 Then
- Dame_ID_Venta = LoopC
- Exit Function
- End If
- End With
- Next LoopC
- End Function
- Public Sub Publicar_Personaje(ByVal ID As Integer, ByVal Precio As Long, ByVal Privado As String, ByVal Candado As Byte)
- Dim Archivo As String
- Dim EnVenta As Byte
- Archivo = CharPath & UCase$(UserList(ID).name) & ".chr"
- EnVenta = Dame_ID_Venta
- With Ventas(EnVenta)
- .Precio = Precio
- .Dato.Candado = Candado
- .Dato.Privado = Privado
- End With
- Call Setear_Venta(EnVenta, ID)
- Call Guardar_Venta(EnVenta)
- UserList(ID).flags.EnVenta = EnVenta
- Call WriteVar(Archivo, "FLAGS", "EnVenta", CStr(UserList(ID).flags.EnVenta))
- If Ventas(EnVenta).Dato.Candado > 0 Then
- UserList(ID).flags.EnCandado = 1
- Call CloseSocket(ID)
- End If
- End Sub
- Public Sub Quitar_Persona(ByVal ID As Integer)
- Dim Archivo As String
- Archivo = CharPath & UCase$(UserList(ID).name) & ".chr"
- With Ventas(UserList(ID).flags.EnVenta)
- Erase .Dato.Atributos()
- Erase .Dato.Boveda.Objetos()
- Erase .Dato.Hechizos()
- Erase .Dato.Objetos()
- Erase .Dato.Skills()
- .Precio = 0
- .Dato.Candado = 0
- .Dato.Clase = 0
- .Dato.Mana = 0
- .Dato.Nivel = 0
- .Dato.Nombre = vbNullString
- .Dato.Oro = 0
- .Dato.Porcentaje = 0
- .Dato.Privado = 0
- .Dato.Raza = 0
- .Dato.Vida = 0
- .Dato.Boveda.Oro = 0
- Guardar_Venta (UserList(ID).flags.EnVenta)
- UserList(ID).flags.EnVenta = 0
- UserList(ID).flags.EnCandado = 0
- End With
- End Sub
- Public Sub Guardar_Venta(ByVal ID_Venta As Byte)
- Dim LoopC As Long
- Dim LoopX As Long
- Dim LoopZ As Long
- Dim LoopI As Long
- Dim LoopA As Long
- Dim Archivo As String
- Archivo = App.Path & "\Dat\JuegosDelHambre.dat"
- With Ventas(ID_Venta).Dato
- For LoopC = 1 To MAXUSERHECHIZOS
- Call WriteVar(Archivo, "VENTA#" & ID_Venta, "Hechizo#" & LoopC, CStr(.Hechizos(LoopC)))
- Next LoopC
- For LoopX = 1 To MAX_NORMAL_INVENTORY_SLOTS
- Call WriteVar(Archivo, "VENTA#" & ID_Venta, "Objeto#" & LoopX, CStr(.Objetos(LoopX).ObjIndex) & "-" & CStr(.Objetos(LoopX).Amount))
- Next LoopX
- For LoopZ = 1 To NUMSKILLS
- Call WriteVar(Archivo, "VENTA#" & ID_Venta, "Skill#" & LoopZ, CStr(.Skills(LoopZ)))
- Next LoopZ
- For LoopI = 1 To NUMATRIBUTOS
- Call WriteVar(Archivo, "VENTA#" & ID_Venta, "Skill#" & LoopI, CStr(.Atributos(LoopI)))
- Next LoopI
- For LoopA = 1 To MAX_BANCOINVENTORY_SLOTS
- Call WriteVar(Archivo, "VENTA#" & ID_Venta, "OBJETO_BOVEDA#" & LoopI, CStr(.Boveda.Objetos(LoopA).ObjIndex) & "-" & CStr(.Boveda.Objetos(LoopA).Amount))
- Next LoopA
- Call WriteVar(Archivo, "VENTA#" & ID_Venta, "Precio", CStr(Ventas(ID_Venta).Precio))
- Call WriteVar(Archivo, "VENTA#" & ID_Venta, "Vida", CStr(.Vida))
- Call WriteVar(Archivo, "VENTA#" & ID_Venta, "Mana", CStr(.Mana))
- Call WriteVar(Archivo, "VENTA#" & ID_Venta, "Clase", CStr(.Clase))
- Call WriteVar(Archivo, "VENTA#" & ID_Venta, "Nivel", CStr(.Nivel))
- Call WriteVar(Archivo, "VENTA#" & ID_Venta, "Nombre", CStr(.Nombre))
- Call WriteVar(Archivo, "VENTA#" & ID_Venta, "Oro_Inventario", CStr(.Oro))
- Call WriteVar(Archivo, "VENTA#" & ID_Venta, "Oro_Boveda", CStr(.Boveda.Oro))
- Call WriteVar(Archivo, "VENTA#" & ID_Venta, "Porcentaje", CStr(.Porcentaje))
- End With
- End Sub
- Public Sub Setear_Venta(ByVal ID_Venta, ByVal ID As Integer)
- Dim LoopC As Long
- Dim LoopX As Long
- Dim LoopZ As Long
- Dim LoopI As Long
- Dim LoopA As Long
- With Ventas(ID_Venta).Dato
- .Vida = UserList(ID).Stats.MaxHp
- .Mana = UserList(ID).Stats.MaxMAN
- .Clase = UserList(ID).Clase
- .Nivel = UserList(ID).Stats.ELV
- .Nombre = UserList(ID).name
- .Oro = UserList(ID).Stats.GLD
- .Porcentaje = FormatNumber(Porcentaje(UserList(ID).Stats.ELU, UserList(ID).Stats.Exp), 2)
- .Boveda.Oro = UserList(ID).Stats.Banco
- For LoopC = 1 To MAXUSERHECHIZOS
- .Hechizos(LoopC) = UserList(ID).Stats.UserHechizos(LoopC)
- Next LoopC
- For LoopX = 1 To MAX_NORMAL_INVENTORY_SLOTS
- .Objetos(LoopX).ObjIndex = UserList(ID).Invent.Object(LoopX).ObjIndex
- .Objetos(LoopX).Amount = UserList(ID).Invent.Object(LoopX).Amount
- Next LoopX
- For LoopZ = 1 To NUMSKILLS
- .Skills(LoopZ) = UserList(ID).Stats.UserSkills(LoopZ)
- Next LoopZ
- For LoopI = 1 To NUMATRIBUTOS
- .Atributos(LoopI) = UserList(ID).Stats.UserAtributos(LoopI)
- Next LoopI
- For LoopA = 1 To MAX_BANCOINVENTORY_SLOTS
- .Boveda.Objetos(LoopA) = UserList(ID).BancoInvent.Object(LoopA)
- Next LoopA
- End With
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement