Advertisement
Guest User

Reto 1vs1

a guest
Dec 18th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.98 KB | None | 0 0
  1. Sub Muere(ByVal muertoIndex As Integer, Optional ByVal Desconexion As Boolean = False)
  2. ' @ Muere un usuario en reto
  3.    Dim winnerIndex As Integer  'UI DEL GANADOR DEL RETO.
  4.     Dim indexUser   As Byte     'INDEX DE LOS USUARIOS DEL RETO.
  5.    Dim indexReto   As Byte
  6.    indexReto = UserList(muertoIndex).Reto1vs1.RetoIndex
  7.    indexUser = IIf(Retos(indexReto).Usuarios(1) = muertoIndex, 2, 1)
  8. 'OBTENGO SU UI.
  9.     winnerIndex = Retos(indexReto).Usuarios(indexUser)
  10.  
  11.     If Desconexion Then
  12.         If UserList(winnerIndex).ConnID > 0 Then
  13.             UserList(winnerIndex).flags.Round = 3
  14.         ElseIf UserList(muertoIndex).ConnID > 0 Then
  15.             UserList(muertoIndex).flags.Round = 3
  16.             .flags.Inmovilizado
  17.             .flags.Paralizado
  18.        
  19.            
  20.         End If
  21.     End If
  22.     'setea reto ganado.
  23. UserList(winnerIndex).Stats.RetosGanados = UserList(winnerIndex).Stats.RetosGanados + 1
  24.  
  25. 'setea reto perdi2.
  26. UserList(muertoIndex).Stats.RetosPerdidos = UserList(muertoIndex).Stats.RetosPerdidos + 1
  27.  
  28.     If UserList(winnerIndex).flags.Round <= 2 And UserList(winnerIndex).flags.Muerto = 0 Then
  29.         UserList(winnerIndex).flags.Round = UserList(winnerIndex).flags.Round + 1
  30.         .flags.Inmovilizado
  31.             .flags.Paralizado
  32.          
  33.         With UserList(muertoIndex)
  34.             With Retos(indexReto)
  35.                 WarpUserChar .Usuarios(1), UserList(.Usuarios(1)).flags.BeforeMap, UserList(.Usuarios(1)).flags.BeforeX, UserList(.Usuarios(1)).flags.BeforeY, True
  36.                 WarpUserChar .Usuarios(2), UserList(.Usuarios(2)).flags.BeforeMap, UserList(.Usuarios(2)).flags.BeforeX, UserList(.Usuarios(2)).flags.BeforeY, True
  37.             End With
  38.             WriteConsoleMsg muertoIndex, "Retos> Resultado parcial:" & vbNewLine & "Retos> " & .Name & " " & .flags.Round & " - " & UserList(winnerIndex).Name & " " & UserList(winnerIndex).flags.Round & "", FontTypeNames.FONTTYPE_GUILD
  39.             WriteConsoleMsg winnerIndex, "Retos> Resultado parcial:" & vbNewLine & "Retos> " & .Name & " " & .flags.Round & " - " & UserList(winnerIndex).Name & " " & UserList(winnerIndex).flags.Round & "", FontTypeNames.FONTTYPE_GUILD
  40.             WritePauseToggle muertoIndex
  41.             WritePauseToggle winnerIndex
  42.             .flags.Inmovilizado
  43.             .flags.Paralizado
  44.            
  45.             Dim i As Long
  46.             Dim pt As Integer
  47.             Dim pt1 As Integer
  48.             For i = 1 To RETOS_ARENAS
  49.                 If Retos(i).Usuarios(indexUser) > 0 Then
  50.                     pt = Retos(i).Usuarios(1)
  51.                     pt1 = Retos(i).Usuarios(2)
  52.                     If (Retos(i).Cuenta = 0 And Retos(i).SalaOcupada = True) And (UserList(pt).flags.Muerto = 1 Or UserList(pt1).flags.Muerto = 1) Then
  53.                         Retos(i).Cuenta = RETOS_CUENTA
  54.                     End If
  55.                 End If
  56.                 Next i
  57.                 RevivirUsuario muertoIndex
  58.                 .Stats.MinHp = .Stats.MaxHp
  59.                 .Stats.MinMAN = .Stats.MaxMAN
  60.                 .Stats.MinSta = .Stats.MaxSta
  61.                 With UserList(winnerIndex)
  62.                     .Stats.MinHp = .Stats.MaxHp
  63.                     .Stats.MinMAN = .Stats.MaxMAN
  64.                     .Stats.MinSta = .Stats.MaxSta
  65.                 End With
  66.             End With
  67.         ElseIf UserList(muertoIndex).flags.Round <= 2 And UserList(muertoIndex).flags.Muerto = 0 Then
  68.             UserList(muertoIndex).flags.Round = UserList(muertoIndex).flags.Round + 1
  69.             With UserList(winnerIndex)
  70.                 .Stats.MinHp = .Stats.MaxHp
  71.                 .Stats.MinMAN = .Stats.MaxMAN
  72.                 .Stats.MinSta = .Stats.MaxSta
  73.                 WarpUserChar winnerIndex, .flags.BeforeMap, .flags.BeforeX, .flags.BeforeY, True
  74.                 WarpUserChar muertoIndex, UserList(muertoIndex).flags.BeforeMap, UserList(muertoIndex).flags.BeforeX, UserList(muertoIndex).flags.BeforeY, True
  75.                 WriteConsoleMsg muertoIndex, "Retos> Resultado parcial:" & vbNewLine & "Retos> " & .Name & " " & .flags.Round & " - " & UserList(winnerIndex).Name & " " & UserList(winnerIndex).flags.Round & "", FontTypeNames.FONTTYPE_GUILD
  76.                 WriteConsoleMsg winnerIndex, "Retos> Resultado parcial:" & vbNewLine & "Retos> " & .Name & " " & .flags.Round & " - " & UserList(winnerIndex).Name & " " & UserList(winnerIndex).flags.Round & "", FontTypeNames.FONTTYPE_GUILD
  77.                 WritePauseToggle muertoIndex
  78.                 WritePauseToggle winnerIndex
  79.             .flags.Inmovilizado
  80.             .flags.Paralizado
  81.        
  82.                 For i = 1 To RETOS_ARENAS
  83.                     If Retos(i).Usuarios(indexUser) > 0 Then
  84.                         pt = Retos(i).Usuarios(1)
  85.                         pt1 = Retos(i).Usuarios(2)
  86.                         If (Retos(i).Cuenta = 0 And Retos(i).SalaOcupada = True) And (UserList(pt).flags.Muerto = 1 Or UserList(pt1).flags.Muerto = 1) Then
  87.                             Retos(i).Cuenta = RETOS_CUENTA
  88.                         End If
  89.                     End If
  90.                     Next i
  91.                     RevivirUsuario winnerIndex
  92.                     .Stats.MinHp = .Stats.MaxHp
  93.                     .Stats.MinMAN = .Stats.MaxMAN
  94.                     .Stats.MinSta = .Stats.MaxSta
  95.                     With UserList(muertoIndex)
  96.                         .Stats.MinHp = .Stats.MaxHp
  97.                         .Stats.MinMAN = .Stats.MaxMAN
  98.                         .Stats.MinSta = .Stats.MaxSta
  99.                     End With
  100.                 End With
  101.                 .flags.Inmovilizado
  102.             .flags.Paralizado
  103.             End If
  104.             If UserList(winnerIndex).flags.Round >= 2 Then
  105.                 WritePauseToggle muertoIndex
  106.                 WritePauseToggle winnerIndex
  107.              For i = 1 To RETOS_ARENAS
  108.                     If Retos(i).Usuarios(indexUser) > 0 Then
  109.                         pt = Retos(i).Usuarios(1)
  110.                         pt1 = Retos(i).Usuarios(2)
  111.                         If (Retos(i).Cuenta >= 1 And Retos(i).SalaOcupada = True) And (UserList(pt).flags.Muerto = 0 Or UserList(pt1).flags.Muerto = 0) Then
  112.                             Retos(i).Cuenta = RETOS_CUENTA
  113.                         End If
  114.                     End If
  115.                     .flags.Inmovilizado
  116.             .flags.Paralizado
  117.                     Next i
  118.                     End If
  119.                 End Sub
  120.  
  121. Sub Limpiar(ByVal cleanIndex As Integer)
  122.  
  123. ' @ Limpia el tipo de un usuario.
  124.  
  125. Dim NoPos   As WorldPos
  126.  
  127. With UserList(cleanIndex).Reto1vs1
  128.     .MeEnvio = 0
  129.     .Anteriorposition = NoPos
  130.     .ApuestaOro = 0
  131.     .VolverSeg = 0
  132.     .RetoIndex = 0
  133.     .flags.Inmovilizado = 0
  134.     .flags.Paralizado = 0
  135. End With
  136.  
  137. End Sub
  138.  
  139. Sub LimpiarIndex(ByVal RetoIndex As Byte)
  140.  
  141. ' @ Limpia un slot de un reto.
  142.  
  143. With Retos(RetoIndex)
  144.  
  145.      .ApuestaOro = 0
  146.      .Cuenta = 0
  147.      .Ganador = 0
  148.      .SalaOcupada = False
  149.      .Usuarios(1) = 0
  150.      .Usuarios(2) = 0
  151.      .flags.Inmovilizado = 0
  152.      .flags.Paralizado = 0
  153. End With
  154.  
  155. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement