Advertisement
Luciano_fuentes

Events

Mar 24th, 2017
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Option Explicit
  2.  
  3. '************************************
  4. '*      Autor: Toyz - Luciano
  5. '*      Fecha: 24/03/17
  6. '*      ---------------
  7. '************************************
  8.  
  9. Private Type tUsuario
  10.     ID As Integer
  11.     pos As WorldPos
  12. End Type
  13.  
  14. Private Type tEquipos
  15.     usuarios() As tUsuario
  16.     rondasGanadas As Byte
  17.     muertesRonda As Byte
  18. End Type
  19.  
  20. Private Type tPosArenas
  21.     PosEsquinas(1 To 2) As Position
  22.     PosMuertes(1 To 2) As Position
  23. End Type
  24.  
  25. Private Type tArenas
  26.     ocupada As Boolean
  27.     mapa As Integer
  28.     conteo As Byte
  29.     posiciones As tPosArenas
  30. End Type
  31.  
  32. Private Type tSalasEspera
  33.     ocupada As Boolean
  34.     pos As WorldPos
  35. End Type
  36.  
  37. Public Type tManejoEconomico
  38.     oro As Long
  39.     objetos() As Obj
  40. End Type
  41.  
  42. Public Type tClasesPermitidas
  43.     mago As Boolean
  44.     guerrero As Boolean
  45.     druida As Boolean
  46.     ladron As Boolean
  47.     bandido As Boolean
  48.     trabajador As Boolean
  49.     paladin As Boolean
  50.     clerigo As Boolean
  51.     pirata As Boolean
  52.     cazador As Boolean
  53.     bardo As Boolean
  54.     asesino As Boolean
  55. End Type
  56.  
  57. Public Type tDatosEvento
  58.     tipoEvento As Byte
  59.     rondas As Byte
  60.     cupos As Byte
  61.     inscripcion As tManejoEconomico
  62.     premio As tManejoEconomico
  63.     caenObjetos As Boolean
  64.     aim As Boolean
  65.     invisibilidad As Boolean
  66.     mascotas As Boolean
  67.     maxPocionesRojas As Integer
  68.     maxPocionesAzules As Integer
  69.     clasesPermitidas As tClasesPermitidas
  70.     minutosSalida As Byte
  71. End Type
  72.  
  73. Private Type tEvento
  74.     salasEspera() As tSalasEspera
  75.     arenas() As tArenas
  76.     equipo() As tEquipos
  77.     Datos As tDatosEvento
  78.     cuentaRegresiva As Byte
  79.     inscripcionesAbiertas As Boolean
  80.     cancelamientoFaltaParticipantes As Byte
  81.     tiempoParaPelear As Byte
  82.     tiempoAgarrarObjetos As Byte
  83. End Type
  84.  
  85. Private evento() As tEvento
  86.  
  87. Public Sub CargarEventos() '<--- Carga todos los eventos y sus características principales.
  88.    Dim eventosTotales As Byte, leerDatos As clsIniReader, LoopC As Long, cantidadArenas As Byte, cantidadSalasEsperas As Byte
  89.     Set leerDatos = New clsIniReader
  90.     Call leerDatos.Initialize(App.Path & "\Dat\Eventos.dat")
  91.    
  92.     eventosTotales = CByte(leerDatos.GetValue("INIT", "Eventos totales"))
  93.     ReDim evento(1 To eventosTotales) As tEvento
  94.    
  95.     For LoopC = 1 To eventosTotales '<------ Características
  96.        With evento(LoopC)
  97.             cantidadArenas = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Cantidad de arenas"))
  98.             ReDim .arenas(1 To cantidadArenas) As tArenas
  99.            
  100.             cantidadSalasEsperas = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Cantidad de salas de esperas"))
  101.             ReDim .salasEspera(1 To cantidadSalasEsperas) As tSalasEspera
  102.  
  103.         End With
  104.     Next LoopC
  105. End Sub
  106.  
  107. Public Sub CargarArenas()
  108.     Dim LoopC As Long, leerDatos As clsIniReader, loopx As Long, loopi As Long
  109.     Set leerDatos = New clsIniReader
  110.     Call leerDatos.Initialize(App.Path & "\Dat\ArenasEventos.dat")
  111.    
  112.     For LoopC = 1 To UBound(evento())
  113.         With evento(LoopC)
  114.             For loopi = 1 To UBound(evento(LoopC).arenas())
  115.                 .arenas(loopi).mapa = CInt(leerDatos.GetValue("EVENTO" & LoopC, "Mapa de la arena"))
  116.                 For loopx = 1 To 2
  117.                     .arenas(loopi).posiciones.PosEsquinas(loopx).X = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Esquina X lado " & loopx))
  118.                     .arenas(loopi).posiciones.PosEsquinas(loopx).Y = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Esquina Y lado " & loopx))
  119.                     .arenas(loopi).posiciones.PosMuertes(loopx).X = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Posicion X donde va los muertos lado " & loopx))
  120.                     .arenas(loopi).posiciones.PosMuertes(loopx).Y = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Posicion Y donde va los muertos lado " & loopx))
  121.                 Next loopx
  122.             Next loopi
  123.         End With
  124.     Next LoopC
  125. End Sub
  126.  
  127. Public Sub CargarSalasEspera()
  128.     Dim LoopC As Long, leerDatos As clsIniReader, loopx As Long
  129.     Set leerDatos = New clsIniReader
  130.     Call leerDatos.Initialize(App.Path & "\Dat\SalasEsperaEventos.dat")
  131.    
  132.     For LoopC = 1 To UBound(evento())
  133.         With evento(LoopC)
  134.             For loopx = 1 To UBound(.salasEspera())
  135.                 .salasEspera(loopx).pos.X = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Posicion X donde se encuentra la sala de espera"))
  136.                 .salasEspera(loopx).pos.Y = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Posicion Y donde se encuentra la sala de espera"))
  137.                 .salasEspera(loopx).pos.Map = CInt(leerDatos.GetValue("EVENTO" & LoopC, "Mapa donde se encuentra la sala de espera"))
  138.             Next loopx
  139.         End With
  140.     Next LoopC
  141. End Sub
  142.  
  143. Public Sub ArmarEvento(ByRef Datos As tDatosEvento)
  144.     Dim LoopC As Long
  145.    
  146.     With evento(Datos.tipoEvento)
  147.         ReDim .equipo(1 To Datos.cupos) As tEquipos
  148.         For LoopC = 1 To Datos.cupos
  149.             ReDim .equipo(LoopC).usuarios(1 To Datos.tipoEvento) As tUsuario
  150.         Next LoopC
  151.         .Datos = Datos
  152.     End With
  153. End Sub
  154.  
  155. Public Sub ConteoEvento()
  156.     Dim LoopC As Long, loopx As Long
  157.    
  158.     For LoopC = 1 To UBound(evento()) '<--- general
  159.        With evento(LoopC)
  160.             For loopx = 1 To UBound(evento(LoopC).arenas()) '<-- arenas
  161.                    
  162.             Next loopx
  163.         End With
  164.     Next LoopC
  165. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement