Advertisement
GalaxyHells

MD X1

Sep 30th, 2020 (edited)
679
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VBScript 29.00 KB | None | 0 0
  1. - Client-Side -
  2.  
  3. 1. Na picDesafio crie uma ComboBox com name "cmdArenaMD.
  4.  
  5. 2. Mude o text da cmdArenaMD pra "MD1" ou preferencia.
  6.  
  7. 3. Adicione na lista da cmdArenaMD os nomes "MD1", "MD3", 5,7,9,11 etc.
  8.  
  9. 4. Procure por:
  10. SendDesafio DesafioArena, frmMain.cmbArenaTipo.ListIndex, NomesDesafio(1), NomesDesafio(2), NomesDesafio(3)
  11.  
  12. altere para:
  13. If frmMain.cmdArenaMD.ListIndex < 0 Or frmMain.cmdArenaMD.ListIndex > 3 Then
  14.            frmMain.cmdArenaMD.ListIndex = 0
  15.        End If
  16.        
  17.        SendDesafio DesafioArena, frmMain.cmbArenaTipo.ListIndex, NomesDesafio(1), NomesDesafio(2), NomesDesafio(3), frmMain.cmdArenaMD.ListIndex
  18.  
  19. 5. Procure por:
  20. Public Sub SendDesafio(ByVal Arena As Byte, ByVal tipoDesafio As Byte, ByVal Nome2 As String, Optional ByVal Nome3 As String, Optional ByVal Nome4 As String)
  21.  
  22. Altere para:
  23. Public Sub SendDesafio(ByVal Arena As Byte, ByVal tipoDesafio As Byte, ByVal Nome2 As String, Optional ByVal Nome3 As String, Optional ByVal Nome4 As String, Optional ByVal MelhorDe As Byte)
  24.  
  25. 6. Em baixo de:
  26. Buffer.WriteByte tipoDesafio
  27.  
  28. Add:
  29. Buffer.WriteByte MelhorDe
  30.  
  31. - Server-side -
  32.  
  33. 7. No Private Type ArenaRec, em cima do End Type add:
  34. MelhorDe As Byte
  35.    MelhorDeA As Byte
  36.    MelhorDeP(1 To 2) As Byte
  37.  
  38. 8. No final do ModGameLogic add:
  39. Sub HandleDesafio2(ByVal arenaNum As Long)
  40.    On Error GoTo errorhandler
  41.    
  42.    Dim Buffer As clsBuffer
  43.    Dim Nome2 As String
  44.    Dim Nome3 As String 'desafioanything
  45.    Dim Nome4 As String
  46.    Dim Campo As Byte
  47.    Dim tipo As Byte
  48.    Dim i As Byte
  49.    Dim MelhorDe As Byte
  50.    Dim index As Long
  51.    
  52.    Dim p2 As Long
  53.    Dim p3 As Long
  54.    Dim p4 As Long
  55.    Dim teste As Long
  56.    
  57.    index = Arena(arenaNum).p(1)
  58.  
  59.    Campo = arenaNum ' Buffer.ReadByte
  60.    tipo = Arena(arenaNum).tipo 'Buffer.ReadByte
  61.    MelhorDe = Arena(arenaNum).MelhorDe 'Buffer.ReadByte
  62.    
  63.    Select Case tipo
  64.        Case 0 '1x1
  65.            Nome2 = GetPlayerName(Arena(arenaNum).p2(1)) 'p(2)
  66.        Case 1 '1x2
  67.            Nome2 = GetPlayerName(Arena(arenaNum).p2(1))
  68.            Nome3 = GetPlayerName(Arena(arenaNum).p2(2))
  69.            '#####
  70.        Case 2 '2x1
  71.            Nome2 = GetPlayerName(Arena(arenaNum).p(2))
  72.            Nome3 = GetPlayerName(Arena(arenaNum).p2(1))
  73.        Case 3 '2x2
  74.            Nome2 = GetPlayerName(Arena(arenaNum).p(2))
  75.            Nome3 = GetPlayerName(Arena(arenaNum).p2(1))
  76.            Nome4 = GetPlayerName(Arena(arenaNum).p2(2))
  77.        Case Else
  78.            Exit Sub
  79.    End Select
  80.    
  81.    p2 = FindPlayer(Nome2)
  82.    p3 = FindPlayer(Nome3)
  83.    p4 = FindPlayer(Nome4)
  84.    
  85.    ZerarArena arenaNum, False
  86.    
  87.    If Player(index).Invisivel = YES Or Player(index).InTorneio > 0 Or TempPlayer(index).InArena > 0 Then
  88.        PlayerMsg index, "Não pode desafiar estando em torneio ou modo espectador ou estando ja em um desafio!", BrightRed
  89.        Exit Sub
  90.    End If
  91.    
  92.    If tipo = 0 Then '1x1
  93.        If PodeDesafiar(p2) = NO Then
  94.            PlayerMsg index, Nome2 & " não pode participar estando em torneio ou modo espectador ou estando ja em um desafio!", BrightRed
  95.            Exit Sub
  96.        End If
  97.    End If
  98.    
  99.    If tipo = 1 Or tipo = 2 Then '1x2,2x1
  100.        If PodeDesafiar(p2) = NO Then
  101.            PlayerMsg index, Nome2 & " não pode participar estando em torneio ou modo espectador ou estando ja em um desafio!", BrightRed
  102.            Exit Sub
  103.        End If
  104.        If PodeDesafiar(p3) = NO Then
  105.            PlayerMsg index, Nome3 & " não pode participar estando em torneio ou modo espectador ou estando ja em um desafio!", BrightRed
  106.            Exit Sub
  107.        End If
  108.    End If
  109.    
  110.    If tipo = 3 Then '2x2
  111.        If PodeDesafiar(p2) = NO Then
  112.            PlayerMsg index, Nome2 & " não pode participar estando em torneio ou modo espectador ou estando ja em um desafio!", BrightRed
  113.            Exit Sub
  114.        End If
  115.        If PodeDesafiar(p3) = NO Then
  116.            PlayerMsg index, Nome3 & " não pode participar estando em torneio ou modo espectador ou estando ja em um desafio!", BrightRed
  117.            Exit Sub
  118.        End If
  119.        If PodeDesafiar(p4) = NO Then
  120.            PlayerMsg index, Nome4 & " não pode participar estando em torneio ou modo espectador ou estando ja em um desafio!", BrightRed
  121.            Exit Sub
  122.        End If
  123.    End If
  124.    
  125.    If Campo < 1 Or Campo > 9 Then
  126.        PlayerMsg index, "Selecione apenas da arena 1 à 9", BrightRed
  127.        Exit Sub
  128.    End If
  129.    
  130.    If Arena(Campo).IsActive = YES Then
  131.        PlayerMsg index, "Esta arena já está ocupada!", BrightRed
  132.        Exit Sub
  133.    End If
  134.    
  135.    Select Case tipo
  136.        Case 0 '1x1
  137.            TempPlayer(index).InArena = Campo
  138.            TempPlayer(p2).InArena = Campo
  139.            '#####
  140.            Arena(Campo).p(1) = index
  141.            Arena(Campo).p2(1) = p2
  142.            '#####
  143.            Arena(Campo).pResta = 1
  144.            Arena(Campo).p2Resta = 1
  145.            '#####
  146.            TempPlayer(index).AceitouDesafio = YES
  147.            TempPlayer(p2).AceitouDesafio = NO
  148.            '#####
  149.        Case 1 '1x2
  150.            TempPlayer(index).InArena = Campo
  151.            TempPlayer(p2).InArena = Campo
  152.            TempPlayer(p3).InArena = Campo
  153.            '#####
  154.            Arena(Campo).p(1) = index
  155.            Arena(Campo).p2(1) = p2
  156.            Arena(Campo).p2(2) = p3
  157.            '#####
  158.            Arena(Campo).pResta = 1
  159.            Arena(Campo).p2Resta = 2
  160.            '#####
  161.            TempPlayer(index).AceitouDesafio = YES
  162.            TempPlayer(p2).AceitouDesafio = NO
  163.            TempPlayer(p3).AceitouDesafio = NO
  164.            '#####
  165.        Case 2 '2x1
  166.            TempPlayer(index).InArena = Campo
  167.            TempPlayer(p2).InArena = Campo
  168.            TempPlayer(p3).InArena = Campo
  169.            '#####
  170.            Arena(Campo).p(1) = index
  171.            Arena(Campo).p(2) = p2
  172.            Arena(Campo).p2(1) = p3
  173.            '#####
  174.            Arena(Campo).pResta = 2
  175.            Arena(Campo).p2Resta = 1
  176.            '#####
  177.            TempPlayer(index).AceitouDesafio = YES
  178.            TempPlayer(p2).AceitouDesafio = NO
  179.            TempPlayer(p3).AceitouDesafio = NO
  180.            TempPlayer(p4).AceitouDesafio = NO
  181.            '#####
  182.        Case 3 '2x2
  183.            TempPlayer(index).InArena = Campo
  184.            TempPlayer(p2).InArena = Campo
  185.            TempPlayer(p3).InArena = Campo
  186.            TempPlayer(p4).InArena = Campo
  187.            '#####
  188.            Arena(Campo).p(1) = index
  189.            Arena(Campo).p(2) = p2
  190.            Arena(Campo).p2(1) = p3
  191.            Arena(Campo).p2(2) = p4
  192.            '#####
  193.            Arena(Campo).pResta = 2
  194.            Arena(Campo).p2Resta = 2
  195.            '#####
  196.            TempPlayer(index).AceitouDesafio = YES
  197.            TempPlayer(p2).AceitouDesafio = NO
  198.            TempPlayer(p3).AceitouDesafio = NO
  199.            TempPlayer(p4).AceitouDesafio = NO
  200.            '#####
  201.        Case Else
  202.            Exit Sub
  203.    End Select
  204.    
  205.    Arena(Campo).tipo = tipo
  206.    Arena(Campo).IsActive = YES
  207.    Arena(Campo).WaitTmr = GetTickCount + 60000 '60 segundos pra aceitarem
  208.    
  209.    For i = 1 To 2
  210.        If Arena(Campo).p(i) > 0 And Arena(Campo).p(i) <> index Then
  211.            'SendDesafioRequest Arena(Campo).p(i), 2, tipo, Campo
  212.        End If
  213.        If Arena(Campo).p2(i) > 0 And Arena(Campo).p2(i) <> index Then
  214.            'SendDesafioRequest Arena(Campo).p2(i), 2, tipo, Campo
  215.        End If
  216.    Next
  217.    
  218.    HandleDesafioState2 arenaNum
  219.    
  220.    ' Error handler
  221.    Exit Sub
  222. errorhandler:
  223.    HandleError "HandleDesafio", "modHandleData", Err.Number, Err.Description, Err.Source, Err.HelpContext
  224.    Err.Clear
  225.    Exit Sub
  226. End Sub
  227.  
  228. Sub HandleDesafioState2(ByVal arenaNum As Byte)
  229.    On Error GoTo errorhandler
  230.  
  231.    'Dim Buffer As clsBuffer
  232.    Dim state As Byte
  233.    Dim Mapa As Long
  234.    Dim p2 As Long
  235.    Dim p3 As Long
  236.    Dim p4 As Long
  237.    Dim i As Long
  238.    Dim teste As Long
  239.    Dim index As Long
  240.    Dim tipo As Long
  241.    
  242. ate = YES 'Buffer.ReadByte
  243.    
  244.    TempPlayer(Arena(arenaNum).p(1)).AceitouDesafio = YES
  245.    Mapa = arenaNum
  246.    
  247.    index = Arena(arenaNum).p(1)
  248.    
  249.    tipo = Arena(arenaNum).tipo
  250.    
  251.    Select Case tipo
  252.        Case 0 '1x1
  253.            p2 = Arena(arenaNum).p2(1)
  254.            
  255.            TempPlayer(Arena(arenaNum).p2(1)).AceitouDesafio = YES
  256.        Case 1 '1x2
  257.            p2 = Arena(arenaNum).p2(1)
  258.            p3 = Arena(arenaNum).p2(2)
  259.            
  260.            TempPlayer(Arena(arenaNum).p2(1)).AceitouDesafio = YES
  261.            TempPlayer(Arena(arenaNum).p2(2)).AceitouDesafio = YES
  262.            '#####
  263.        Case 2 '2x1
  264.            p2 = Arena(arenaNum).p(2)
  265.            p3 = Arena(arenaNum).p2(1)
  266.            
  267.            TempPlayer(Arena(arenaNum).p(2)).AceitouDesafio = YES
  268.            TempPlayer(Arena(arenaNum).p2(1)).AceitouDesafio = YES
  269.        Case 3 '2x2
  270.            p2 = Arena(arenaNum).p(2)
  271.            p3 = Arena(arenaNum).p2(1)
  272.            p4 = Arena(arenaNum).p2(2)
  273.            
  274.            TempPlayer(Arena(arenaNum).p(2)).AceitouDesafio = YES
  275.            TempPlayer(Arena(arenaNum).p2(1)).AceitouDesafio = YES
  276.            TempPlayer(Arena(arenaNum).p2(2)).AceitouDesafio = YES
  277.        Case Else
  278.            Exit Sub
  279.    End Select
  280.    
  281.    'Mapa = TempPlayer(Index).InArena
  282.    If Mapa < 1 Or Mapa > 9 Then
  283.        PlayerMsg index, "Icorreu um erro ao tentar acessar o mapa!", BrightRed
  284.        Exit Sub
  285.    End If
  286.    
  287.    'If Arena(Mapa).IsActive = NO Then
  288.        'TempPlayer(Index).InArena = NO
  289.        'PlayerMsg Index, "Você não esta participando de um desafio nessa arena!", Red
  290.    '    Exit Sub
  291.    'End If
  292.    
  293.    'If TempPlayer(index).AceitouDesafio = YES Then
  294.        'PlayerMsg Index, "Você já aceitou o desafio! Espere a decisão dos outros!", White
  295.        'Exit Sub
  296.    'End If
  297.    
  298.    Select Case state
  299.        Case NO
  300.        
  301.            For i = 1 To 2
  302.                If Arena(Mapa).p(i) > 0 Then
  303.                    If IsPlaying(Arena(Mapa).p(i)) Then
  304.                        SendExtras Arena(Mapa).p(i), 1
  305.                        'If Arena(Mapa).p(i) <> Index Then PlayerMsg Arena(Mapa).p(i), GetPlayerName(Index) & " recusou o desafio. Desafio cancelado.", Grey
  306.                        TempPlayer(Arena(Mapa).p(i)).InArena = NO
  307.                        TempPlayer(Arena(Mapa).p(i)).AceitouDesafio = NO
  308.                    End If
  309.                End If
  310.                If Arena(Mapa).p2(i) > 0 Then
  311.                    If IsPlaying(Arena(Mapa).p2(i)) Then
  312.                        SendExtras Arena(Mapa).p2(i), 1
  313.                        'If Arena(Mapa).p2(i) <> Index Then PlayerMsg Arena(Mapa).p2(i), GetPlayerName(Index) & " recusou o desafio. Desafio cancelado.", Grey
  314.                        TempPlayer(Arena(Mapa).p2(i)).InArena = NO
  315.                        TempPlayer(Arena(Mapa).p2(i)).AceitouDesafio = NO
  316.                    End If
  317.                End If
  318.            Next
  319.            
  320.            ZerarArena Mapa 'zera sapoha
  321.            
  322.        Case YES
  323.            'TempPlayer(Index).AceitouDesafio = YES
  324.            
  325.            Select Case Arena(Mapa).tipo
  326.                Case 0 '1x1
  327.                    'p2 = Arena(Mapa).p(1)
  328.                    'Index = Arena(Mapa).p2(1)
  329.                    If p2 > 0 Then
  330.                        If IsPlaying(p2) Then
  331.                            TempPlayer(p2).AceitouDesafio = YES
  332.                            '####
  333.                            Player(index).PKstate = 3
  334.                            Player(p2).PKstate = 3
  335.                            '####
  336.                            SetPlayerDir index, DIR_LEFT
  337.                            SetPlayerDir p2, DIR_RIGHT
  338.                            '####
  339.                            TempPlayer(index).Contagem = 6
  340.                            TempPlayer(p2).Contagem = 6
  341.                            '####
  342.                            PlayerWarp index, Arena(Mapa).Map, 29, 7
  343.                            PlayerWarp p2, Arena(Mapa).Map, 1, 7
  344.                            '####
  345.                            PlayerMsg index, "Que comece a luta!!!", White
  346.                            PlayerMsg p2, "Que comece a luta!!!", White
  347.                            '###
  348.                            Arena(Mapa).WaitTmr = NO
  349.                        Else
  350.                            PlayerMsg index, "Player ta offline..", BrightRed
  351.                        End If
  352.                    End If
  353.                
  354.                Case 1 '1x2
  355.                    'p2 = Arena(Mapa).p(1) 'desafiante
  356.                    'Index
  357.                    If Arena(Mapa).p2(2) = index Then
  358.                        p3 = Arena(Mapa).p2(1) 'parceiro 1
  359.                    Else
  360.                        p3 = Arena(Mapa).p2(2) 'parceiro 2
  361.                    End If
  362.                    
  363.                    If p2 > 0 And p3 > 0 Then
  364.                        If IsPlaying(p2) And IsPlaying(p3) Then
  365.                            If TempPlayer(p3).AceitouDesafio = YES Then
  366.                                Arena(Mapa).WaitTmr = NO
  367.                                '####
  368.                                Player(index).PKstate = 3
  369.                                Player(p2).PKstate = 3
  370.                                Player(p3).PKstate = 3
  371.                                '####
  372.                                SetPlayerDir index, DIR_LEFT
  373.                                SetPlayerDir p3, DIR_LEFT
  374.                                'X
  375.                                SetPlayerDir p2, DIR_RIGHT
  376.                                '####
  377.                                TempPlayer(index).Contagem = 6
  378.                                TempPlayer(p2).Contagem = 6
  379.                                TempPlayer(p3).Contagem = 6
  380.                                '####
  381.                                PlayerWarp index, Arena(Mapa).Map, 29, 5
  382.                                PlayerWarp p3, Arena(Mapa).Map, 29, 8
  383.                                PlayerWarp p2, Arena(Mapa).Map, 1, 7
  384.                                '####
  385.                                PlayerMsg index, "Que comece a luta!!!", White
  386.                                PlayerMsg p3, "Que comece a luta!!!", White
  387.                                PlayerMsg p2, "Que comece a luta!!!", White
  388.                                '###
  389.                                Arena(Mapa).WaitTmr = NO
  390.                            Else
  391.                                PlayerMsg p2, GetPlayerName(index) & " aceitou o desafio!", BrightCyan
  392.                                'PlayerMsg p3, GetPlayerName(index) & " aceitou o desafio! Só falta você agora!!", BrightCyan
  393.                                PlayerMsg index, GetPlayerName(p3) & " ainda não deu resposta. Espere a decisão dele!", White
  394.                                PlayerMsg p2, GetPlayerName(p3) & " ainda não deu resposta. Espere a decisão dele!", White
  395.                            End If
  396.                        End If
  397.                    End If
  398.                    
  399.                Case 2 '2x1
  400.                    'p2 = Arena(Mapa).p(1) 'desafiante
  401.                    If Arena(Mapa).p(2) = index Then
  402.                        p3 = Arena(Mapa).p2(1) 'inimigo
  403.                    Else
  404.                        p3 = Arena(Mapa).p(2) 'parceiro
  405.                    End If
  406.                    
  407.                    If p2 > 0 And p3 > 0 Then
  408.                        If IsPlaying(p2) And IsPlaying(p3) Then
  409.                            If TempPlayer(p3).AceitouDesafio = YES Then
  410.                                Arena(Mapa).WaitTmr = NO
  411.                                '####
  412.                                Player(index).PKstate = 3
  413.                                Player(p2).PKstate = 3
  414.                                Player(p3).PKstate = 3
  415.                                '####
  416.                                If Arena(Mapa).p2(1) = p3 Then 'se for o inimigo
  417.                                    SetPlayerDir p3, DIR_LEFT 'inimigo
  418.                                    SetPlayerDir index, DIR_RIGHT 'aliado
  419.                                End If
  420.                                If Arena(Mapa).p(2) = p3 Then 'se for aliado
  421.                                    SetPlayerDir p3, DIR_RIGHT
  422.                                    SetPlayerDir index, DIR_LEFT 'index inimigo
  423.                                End If
  424.                                SetPlayerDir p2, DIR_RIGHT
  425.                                '####
  426.                                TempPlayer(index).Contagem = 6
  427.                                TempPlayer(p2).Contagem = 6
  428.                                TempPlayer(p3).Contagem = 6
  429.                                '####
  430.                                If Arena(Mapa).p2(1) = p3 Then 'se for o inimigo
  431.                                    PlayerWarp index, Arena(Mapa).Map, 1, 5 'aliado
  432.                                    PlayerWarp p3, Arena(Mapa).Map, 29, 8 'inimigo
  433.                                End If
  434.                                If Arena(Mapa).p(2) = p3 Then 'se for aliado
  435.                                    PlayerWarp index, Arena(Mapa).Map, 29, 5 'inimigo
  436.                                    PlayerWarp p3, Arena(Mapa).Map, 1, 5 'aliado
  437.                                End If
  438.                                PlayerWarp p2, Arena(Mapa).Map, 1, 8
  439.                                '####
  440.                                PlayerMsg p3, "Que comece a luta!!!", White
  441.                                PlayerMsg p2, "Que comece a luta!!!", White
  442.                                PlayerMsg index, "Que comece a luta!!!", White
  443.                                '###
  444.                                Arena(Mapa).WaitTmr = NO
  445.                            Else
  446.                                PlayerMsg p2, GetPlayerName(index) & " aceitou o desafio!", BrightCyan
  447.                                'PlayerMsg p3, GetPlayerName(index) & " aceitou o desafio! Só falta você agora!!", BrightCyan
  448.                                PlayerMsg index, GetPlayerName(p3) & " ainda não deu resposta. Espere a decisão dele!", White
  449.                                PlayerMsg p2, GetPlayerName(p3) & " ainda não deu resposta. Espere a decisão dele!", White
  450.                            End If
  451.                        End If
  452.                    End If
  453.                Case 3 '2x2
  454.                    'p2 = Arena(Mapa).p(1) 'desafiante
  455.                    If Arena(Mapa).p(2) = index Then
  456.                        'p3 = Arena(Mapa).p2(1) 'inimigo
  457.                        'p4 = Arena(Mapa).p2(2) 'inimigo
  458.                    Else
  459.                        If Arena(Mapa).p2(1) = index Then
  460.                            'p4 = Arena(Mapa).p2(2)
  461.                        Else
  462.                            'p4 = Arena(Mapa).p2(1)
  463.                        End If
  464.                        'p3 = Arena(Mapa).p(2) 'parceiro
  465.                    End If
  466.                    
  467.                    If p2 > 0 And p3 > 0 And p4 > 0 Then
  468.                        If IsPlaying(p2) And IsPlaying(p3) And IsPlaying(p4) Then
  469.                            If TempPlayer(p3).AceitouDesafio = YES And TempPlayer(p4).AceitouDesafio = YES Then
  470.                                Arena(Mapa).WaitTmr = NO
  471.                                '####
  472.                                Player(index).PKstate = 3
  473.                                Player(p2).PKstate = 3
  474.                                Player(p3).PKstate = 3
  475.                                Player(p4).PKstate = 3
  476.                                '####
  477.                                SetPlayerDir p2, DIR_RIGHT
  478.                                If Arena(Mapa).p(2) = index Then
  479.                                    SetPlayerDir index, DIR_RIGHT
  480.                                    '#x#
  481.                                    SetPlayerDir p3, DIR_LEFT
  482.                                    SetPlayerDir p4, DIR_LEFT
  483.                                Else
  484.                                    SetPlayerDir index, DIR_LEFT
  485.                                    SetPlayerDir p4, DIR_LEFT
  486.                                    '#x#
  487.                                    SetPlayerDir p3, DIR_RIGHT
  488.                                End If
  489.                                '####
  490.                                TempPlayer(index).Contagem = 6
  491.                                TempPlayer(p2).Contagem = 6
  492.                                TempPlayer(p3).Contagem = 6
  493.                                TempPlayer(p4).Contagem = 6
  494.                                '####
  495.                                PlayerWarp p2, Arena(Mapa).Map, 1, 8
  496.                                If Arena(Mapa).p(2) = index Then
  497.                                    PlayerWarp index, Arena(Mapa).Map, 1, 5 'aliado
  498.                                    '#xxx#
  499.                                    PlayerWarp p4, Arena(Mapa).Map, 29, 8 'inimigo
  500.                                    PlayerWarp p3, Arena(Mapa).Map, 29, 5 'aliado
  501.                                Else
  502.                                    PlayerWarp index, Arena(Mapa).Map, 29, 8 'aliado
  503.                                    PlayerWarp p4, Arena(Mapa).Map, 29, 5 'inimigo
  504.                                    '#xxx#
  505.                                    PlayerWarp p3, Arena(Mapa).Map, 1, 5 'aliado
  506.                                End If
  507.                                '####
  508.                                PlayerMsg p4, "Que comece a luta!!!", White
  509.                                PlayerMsg p3, "Que comece a luta!!!", White
  510.                                PlayerMsg p2, "Que comece a luta!!!", White
  511.                                PlayerMsg index, "Que comece a luta!!!", White
  512.                                '###
  513.                                Arena(Mapa).WaitTmr = NO
  514.                            Else
  515.                                If TempPlayer(p3).AceitouDesafio = NO Then
  516.                                    PlayerMsg p2, GetPlayerName(index) & " aceitou o desafio!", BrightCyan
  517.                                    'PlayerMsg p3, GetPlayerName(index) & " aceitou o desafio! Agora falta você!!", BrightCyan
  518.                                    PlayerMsg index, GetPlayerName(p3) & " ainda não deu resposta. Espere a decisão dele!", White
  519.                                    PlayerMsg p2, GetPlayerName(p3) & " ainda não deu resposta. Espere a decisão dele!", White
  520.                                    PlayerMsg p4, GetPlayerName(p3) & " ainda não deu resposta. Espere a decisão dele!", White
  521.                                    If TempPlayer(p4).AceitouDesafio = NO Then
  522.                                        PlayerMsg index, GetPlayerName(p4) & " ainda não deu resposta. Espere a decisão dele!", White
  523.                                        PlayerMsg p2, GetPlayerName(p4) & " ainda não deu resposta. Espere a decisão dele!", White
  524.                                        PlayerMsg p3, GetPlayerName(p4) & " ainda não deu resposta. Espere a decisão dele!", White
  525.                                        'PlayerMsg p4, GetPlayerName(index) & " aceitou o desafio! Agora falta você!!", BrightCyan
  526.                                    Else
  527.                                        PlayerMsg p4, GetPlayerName(index) & " aceitou o desafio!", BrightCyan
  528.                                    End If
  529.                                ElseIf TempPlayer(p4).AceitouDesafio = NO Then
  530.                                    PlayerMsg p2, GetPlayerName(index) & " aceitou o desafio!", BrightCyan
  531.                                    PlayerMsg p3, GetPlayerName(index) & " aceitou o desafio!", BrightCyan
  532.                                    'PlayerMsg p4, GetPlayerName(index) & " aceitou o desafio! Agora falta você!!", BrightCyan
  533.                                    PlayerMsg index, GetPlayerName(p4) & " ainda não deu resposta. Espere a decisão dele!", White
  534.                                    PlayerMsg p2, GetPlayerName(p4) & " ainda não deu resposta. Espere a decisão dele!", White
  535.                                    PlayerMsg p3, GetPlayerName(p4) & " ainda não deu resposta. Espere a decisão dele!", White
  536.                                End If
  537.                            End If
  538.                        End If
  539.                    End If
  540.                Case Else
  541.            End Select
  542.        Case Else
  543.    End Select
  544.    
  545.    ' Error handler
  546.    Exit Sub
  547. errorhandler:
  548.    HandleError "HandleDesafioState2", "modHandleData", Err.Number, Err.Description, Err.Source, Err.HelpContext
  549.    Err.Clear
  550.    Exit Sub
  551. End Sub
  552.  
  553. 9. Na tsub AtualizarDesafio Procure por:
  554. If Arena(arenaNum).tipo = 0 And saiu = NO Then '1x1
  555.                AtualizarPVP Arena(arenaNum).p2(1), YES
  556.                AtualizarPVP pINDEX, NO
  557.            End If
  558.  
  559. Em baixo add:
  560. SetPlayerVital Arena(arenaNum).p2(i), Vitals.HP, GetPlayerMaxVital(Arena(arenaNum).p2(i), Vitals.HP)
  561.            SetPlayerVital Arena(arenaNum).p2(i), Vitals.MP, GetPlayerMaxVital(Arena(arenaNum).p2(i), Vitals.MP)
  562.  
  563. 10. Procure por:
  564. If Arena(arenaNum).p(i) > 0 Then
  565.            PlayerMsg Arena(arenaNum).p(i), "Você perdeu..", Grey
  566.            If GetPlayerMap(Arena(arenaNum).p(i)) = Arena(arenaNum).Map Then
  567.                PlayerWarp Arena(arenaNum).p(i), 99, 10, 6 'Atendimento
  568.            End If
  569.  
  570. Em baixo add:
  571. SetPlayerVital Arena(arenaNum).p(i), Vitals.HP, GetPlayerMaxVital(Arena(arenaNum).p(i), Vitals.HP)
  572.            SetPlayerVital Arena(arenaNum).p(i), Vitals.MP, GetPlayerMaxVital(Arena(arenaNum).p(i), Vitals.MP)
  573.  
  574. 11. Exatamente em baixo disso você vai encontrar essa linha:
  575. ZerarArena arenaNum
  576.  
  577. Substitui por:
  578. Arena(arenaNum).MelhorDeP(2) = Arena(arenaNum).MelhorDeP(2) + 1
  579.    
  580.    If Arena(arenaNum).MelhorDe = 0 Then
  581.        ZerarArena arenaNum
  582.    Else
  583.        If Arena(arenaNum).MelhorDeA = Arena(arenaNum).MelhorDe Then
  584.            For i = 1 To 2
  585.                If Arena(arenaNum).MelhorDeP(2) > Arena(arenaNum).MelhorDeP(1) Then
  586.                    PlayerMsg Arena(arenaNum).p2(i), "Você venceu o desafio MD" & Arena(arenaNum).MelhorDe & " com " & Arena(arenaNum).MelhorDeP(2) & " vitorias!", Green
  587.                End If
  588.            Next
  589.            ZerarArena arenaNum
  590.        Else
  591.            Arena(arenaNum).MelhorDeA = Arena(arenaNum).MelhorDeA + 1
  592.            'ContinuarDesafio arenanum, pINDEX
  593.            HandleDesafio2 arenaNum
  594.        End If
  595.    End If
  596.  
  597. 12. Procure por:
  598. If Arena(arenaNum).tipo = 0 And saiu = NO Then '1x1
  599.                AtualizarPVP Arena(arenaNum).p(1), YES
  600.                AtualizarPVP pINDEX, NO
  601.            End If
  602.  
  603. Em baixo add:
  604. SetPlayerVital Arena(arenaNum).p(i), Vitals.HP, GetPlayerMaxVital(Arena(arenaNum).p(i), Vitals.HP)
  605.            SetPlayerVital Arena(arenaNum).p(i), Vitals.HP, GetPlayerMaxVital(Arena(arenaNum).p(i), Vitals.HP)
  606.  
  607. 13. Procure por:
  608. If Arena(arenaNum).p2(i) > 0 Then
  609.            PlayerMsg Arena(arenaNum).p2(i), "Você perdeu..", Grey
  610.            If GetPlayerMap(Arena(arenaNum).p2(i)) = Arena(arenaNum).Map Then
  611.                PlayerWarp Arena(arenaNum).p2(i), 99, 10, 6 'Atendimento
  612.            End If
  613.  
  614. Em baixo add:
  615. SetPlayerVital Arena(arenaNum).p2(i), Vitals.HP, GetPlayerMaxVital(Arena(arenaNum).p2(i), Vitals.HP)
  616.            SetPlayerVital Arena(arenaNum).p2(i), Vitals.MP, GetPlayerMaxVital(Arena(arenaNum).p2(i), Vitals.MP)
  617.  
  618. 14. Exatamente em baixo você vai encontrar esas linha:
  619. ZerarArena arenaNum
  620.  
  621. Mude para:
  622. Arena(arenaNum).MelhorDeP(1) = Arena(arenaNum).MelhorDeP(1) + 1
  623.    
  624.    If Arena(arenaNum).MelhorDe = 0 Then
  625.        ZerarArena arenaNum
  626.    Else
  627.        If Arena(arenaNum).MelhorDeA = Arena(arenaNum).MelhorDe Then
  628.            For i = 1 To 2
  629.                If Arena(arenaNum).MelhorDeP(1) > Arena(arenaNum).MelhorDeP(2) Then
  630.                    PlayerMsg Arena(arenaNum).p(i), "Você venceu o desafio MD" & Arena(arenaNum).MelhorDe & " com " & Arena(arenaNum).MelhorDeP(1) & " vitorias!", Green
  631.                End If
  632.            Next
  633.            ZerarArena arenaNum
  634.        Else
  635.            Arena(arenaNum).MelhorDeA = Arena(arenaNum).MelhorDeA + 1
  636.            'ContinuarDesafio arenanum, pINDEX
  637.            HandleDesafio2 arenaNum
  638.        End If
  639.    End If
  640.  
  641. 15. Procure por:
  642. Public Sub ZerarArena(ByVal arenaNum As Long)
  643.  
  644. Troque por:
  645. Public Sub ZerarArena(ByVal arenaNum As Long, Optional ByVal ZerarMelhor As Boolean = True)
  646.  
  647. 16. Na mesma zub, ZerarArena, em baixo de:
  648. Arena(arenaNum).tipo = NO
  649.  
  650. Add:
  651. If ZerarMelhor = True Then
  652.    Arena(arenaNum).MelhorDe = 0
  653.    Arena(arenaNum).MelhorDeA = 0
  654.    Arena(arenaNum).MelhorDeP(1) = 0
  655.    Arena(arenaNum).MelhorDeP(2) = 0
  656. End If
  657.  
  658. 17. Na Sub HandleDesafio, em baixo de:
  659. Dim i as byte
  660.  
  661. add:
  662. Dim MelhorDe As Byte
  663.  
  664. 18. Na mesma sub, em baixo de:
  665. tipo = Buffer.ReadByte
  666.  
  667. add:
  668. MelhorDe = Buffer.ReadByte
  669.    
  670.    Select Case MelhorDe
  671.        Case 0 'md1
  672.            MelhorDe = 1
  673.        Case 1 'md3
  674.            MelhorDe = 3
  675.        Case 2 'md5
  676.            MelhorDe = 5
  677.        Case 3 'md7
  678.            MelhorDe = 7
  679.        Case 4 'md9
  680.            MelhorDe = 9
  681.        Case 5 'md11
  682.            MelhorDe = 11
  683.    End Select
  684.  
  685. 19. Na mesma sub, em baixo de:
  686. Arena(Campo).WaitTmr = GetTickCount + 60000 '60 segundos pra aceitarem
  687.  
  688. Add:
  689. '## MD ##
  690.    Arena(Campo).MelhorDe = MelhorDe
  691.    Arena(Campo).MelhorDeA = 1
  692.  
  693. 20.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement