Advertisement
Luciano_fuentes

Events 1vs1 hasta 10vs10

Mar 25th, 2017
223
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.     equipos(1 To 2) As Byte
  27.     ocupada As Boolean
  28.     mapa As Integer
  29.     conteoPelea As Integer
  30.     posiciones As tPosArenas
  31. End Type
  32.  
  33. Private Type tSalasEspera
  34.     ocupada As Boolean
  35.     pos As WorldPos
  36. End Type
  37.  
  38. Public Type tManejoEconomico
  39.     oro As Long
  40.     objetos() As Obj
  41. End Type
  42.  
  43. Public Type tClasesPermitidas
  44.     mago As Boolean
  45.     guerrero As Boolean
  46.     druida As Boolean
  47.     ladron As Boolean
  48.     bandido As Boolean
  49.     trabajador As Boolean
  50.     paladin As Boolean
  51.     clerigo As Boolean
  52.     pirata As Boolean
  53.     cazador As Boolean
  54.     bardo As Boolean
  55.     asesino As Boolean
  56. End Type
  57.  
  58. Public Type tDatosEvento
  59.     tipoEvento As Byte
  60.     rondas As Byte
  61.     cupos As Byte
  62.     inscripcion As tManejoEconomico
  63.     premio As tManejoEconomico
  64.     caenObjetos As Boolean
  65.     aim As Boolean
  66.     invisibilidad As Boolean
  67.     mascotas As Boolean
  68.     maxPocionesRojas As Integer
  69.     maxPocionesAzules As Integer
  70.     clasesPermitidas As tClasesPermitidas
  71.     tiempoAbrirInscripciones As Integer
  72. End Type
  73.  
  74. Private Type tEvento
  75.     salasEspera() As tSalasEspera
  76.     arenas() As tArenas
  77.     equipo() As tEquipos
  78.     Datos As tDatosEvento
  79.     tiempoAutoCancelamiento As Integer
  80.     tiempoAgarrarObjetos As Integer
  81. End Type
  82.  
  83. Private evento() As tEvento
  84.  
  85. Public Sub CargarEventos() '<--- Carga todos los eventos y sus características principales.
  86.    Dim eventosTotales As Byte, leerDatos As clsIniReader, LoopC As Long, cantidadArenas As Byte, cantidadSalasEsperas As Byte
  87.     Set leerDatos = New clsIniReader
  88.     Call leerDatos.Initialize(App.Path & "\Dat\Eventos.dat")
  89.    
  90.     eventosTotales = CByte(leerDatos.GetValue("INIT", "Eventos totales"))
  91.     ReDim evento(1 To eventosTotales) As tEvento
  92.    
  93.     For LoopC = 1 To eventosTotales '<------ Características
  94.        With evento(LoopC)
  95.             cantidadArenas = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Cantidad de arenas"))
  96.             ReDim .arenas(1 To cantidadArenas) As tArenas
  97.            
  98.             cantidadSalasEsperas = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Cantidad de salas de esperas"))
  99.             ReDim .salasEspera(1 To cantidadSalasEsperas) As tSalasEspera
  100.  
  101.         End With
  102.     Next LoopC
  103. End Sub
  104.  
  105. Public Sub CargarArenas()
  106.     Dim LoopC As Long, leerDatos As clsIniReader, loopx As Long, loopi As Long
  107.     Set leerDatos = New clsIniReader
  108.     Call leerDatos.Initialize(App.Path & "\Dat\ArenasEventos.dat")
  109.    
  110.     For LoopC = 1 To UBound(evento())
  111.         With evento(LoopC)
  112.             For loopi = 1 To UBound(evento(LoopC).arenas())
  113.                 .arenas(loopi).mapa = CInt(leerDatos.GetValue("EVENTO" & LoopC, "Mapa de la arena"))
  114.                 For loopx = 1 To 2
  115.                     .arenas(loopi).posiciones.PosEsquinas(loopx).X = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Esquina X lado " & loopx))
  116.                     .arenas(loopi).posiciones.PosEsquinas(loopx).Y = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Esquina Y lado " & loopx))
  117.                     .arenas(loopi).posiciones.PosMuertes(loopx).X = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Posicion X donde va los muertos lado " & loopx))
  118.                     .arenas(loopi).posiciones.PosMuertes(loopx).Y = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Posicion Y donde va los muertos lado " & loopx))
  119.                 Next loopx
  120.             Next loopi
  121.         End With
  122.     Next LoopC
  123. End Sub
  124.  
  125. Public Sub CargarSalasEspera()
  126.     Dim LoopC As Long, leerDatos As clsIniReader, loopx As Long
  127.     Set leerDatos = New clsIniReader
  128.     Call leerDatos.Initialize(App.Path & "\Dat\SalasEsperaEventos.dat")
  129.    
  130.     For LoopC = 1 To UBound(evento())
  131.         With evento(LoopC)
  132.             For loopx = 1 To UBound(.salasEspera())
  133.                 .salasEspera(loopx).pos.X = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Posicion X donde se encuentra la sala de espera"))
  134.                 .salasEspera(loopx).pos.Y = CByte(leerDatos.GetValue("EVENTO" & LoopC, "Posicion Y donde se encuentra la sala de espera"))
  135.                 .salasEspera(loopx).pos.Map = CInt(leerDatos.GetValue("EVENTO" & LoopC, "Mapa donde se encuentra la sala de espera"))
  136.             Next loopx
  137.         End With
  138.     Next LoopC
  139. End Sub
  140.  
  141. Public Sub ArmarEvento(ByRef Datos As tDatosEvento)
  142.     Dim LoopC As Long
  143.    
  144.     With evento(Datos.tipoEvento)
  145.         ReDim .equipo(1 To Datos.cupos) As tEquipos
  146.         For LoopC = 1 To Datos.cupos
  147.             ReDim .equipo(LoopC).usuarios(1 To Datos.tipoEvento) As tUsuario
  148.         Next LoopC
  149.         .Datos = Datos
  150.     End With
  151. End Sub
  152.  
  153. Public Sub ConteoEvento()
  154.     Dim LoopC As Long, loopx As Long, loopi As Long
  155.    
  156.     For LoopC = 1 To UBound(evento()) '<--- general
  157.        With evento(LoopC)
  158.             '<--- falta
  159.            For loopx = 1 To UBound(evento(LoopC).arenas()) '<-- arenas
  160.                    With .arenas(loopx)
  161.                         If .ocupada = True Then
  162.                             If .conteoPelea = 0 Then
  163.                                 For loopi = 1 To LoopC
  164.                                     Call WriteConsoleMsg(evento(LoopC).equipo(.equipos(1)).usuarios(loopi).ID, "Conteo>> Ya!", FontTypeNames.FONTTYPE_CONSEJO)
  165.                                     Call WriteConsoleMsg(evento(LoopC).equipo(.equipos(2)).usuarios(loopi).ID, "Conteo>> Ya!", FontTypeNames.FONTTYPE_CONSEJO)
  166.                                 Next loopi
  167.                                     .conteoPelea = -1
  168.                             ElseIf .conteoPelea > 0 Then
  169.                                 For loopi = 1 To LoopC
  170.                                     Call WriteConsoleMsg(evento(LoopC).equipo(.equipos(1)).usuarios(loopi).ID, "Conteo>> " & .conteoPelea, FontTypeNames.FONTTYPE_CONSEJO)
  171.                                     Call WriteConsoleMsg(evento(LoopC).equipo(.equipos(2)).usuarios(loopi).ID, "Conteo>> " & .conteoPelea, FontTypeNames.FONTTYPE_CONSEJO)
  172.                                 Next loopi
  173.                                     .conteoPelea = .conteoPelea - 1
  174.                             End If
  175.                         End If
  176.                     End With
  177.             Next loopx
  178.         End With
  179.     Next LoopC
  180. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement